Ejemplo n.º 1
0
        /// <summary>
        /// Событие изменения файла проекта
        /// </summary>
        public virtual void ProjectEntryEvent(Project.Entry en, Project.FileEvent ev)
        {
            if (en == File)
            {
                switch (ev)
                {
                case Project.FileEvent.Created:
                case Project.FileEvent.Modified:
                    if (!saving)
                    {
                        MainForm.FocusEditor(this);
                        DialogResult dr = MessageDialog.Show(ControlStrings.TabReloadTitle, ControlStrings.TabReloadText, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (dr == DialogResult.Yes)
                        {
                            Load();
                            Saved = true;
                        }
                        else
                        {
                            Saved = false;
                        }
                    }
                    break;

                case Project.FileEvent.Renamed:
                    UpdateTitle();
                    break;

                case Project.FileEvent.Deleted:
                    MainForm.CloseEditor(this, true);
                    closed = true;
                    break;
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Обновление файловой системы
        /// </summary>
        /// <param name="en">Файл</param>
        /// <param name="ev">Событие</param>
        public override void ProjectEntryEvent(Project.Entry en, Project.FileEvent ev)
        {
            base.ProjectEntryEvent(en, ev);
            if (closed)
            {
                return;
            }

            // Просмотр на изменение текстур
            SkyboxForm fr = Form as SkyboxForm;

            NSFileDropControl[] drops = new NSFileDropControl[] {
                fr.frontSkyTexture, fr.rightSkyTexture, fr.backSkyTexture, fr.leftSkyTexture, fr.topSkyTexture, fr.bottomSkyTexture
            };
            forceTextureReload = true;
            foreach (NSFileDropControl fc in drops)
            {
                if (fc.File == en)
                {
                    if (ev == Project.FileEvent.Deleted)
                    {
                        fc.File = null;
                    }
                    else
                    {
                        fc.File = en;
                    }
                }
            }
            forceTextureReload = false;
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Событие изменения файла
 /// </summary>
 /// <param name="en">Файл</param>
 /// <param name="ev">Событие</param>
 public override void ProjectEntryEvent(Project.Entry en, Project.FileEvent ev)
 {
     base.ProjectEntryEvent(en, ev);
     if (closed)
     {
         return;
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Событие, связанное с файлом проекта
        /// </summary>
        public static void ProjectEntryEvent(Project.Entry e, Project.FileEvent ev)
        {
            System.Diagnostics.Debug.WriteLine("File " + e.ProjectPath + " " + ev.ToString());
            if (W != null)
            {
                // Обновление редакторов
                if (Editors != null)
                {
                    foreach (BaseForm b in Editors)
                    {
                        needProjectRescan = false;
                        b.FileEditor.ProjectEntryEvent(e, ev);
                    }
                }

                // Обновление инспектора
                if (!W.localFileEvent)
                {
                    Project.Dir cd = W.projectInspector.Tag as Project.Dir;
                    switch (ev)
                    {
                    case Project.FileEvent.Created:
                        if (e.Parent == cd)
                        {
                            if (e.Icon == null)
                            {
                                e.Icon = Preview.Get(e.FullPath);
                            }
                            W.projectInspector.Entries.Add(new NSDirectoryInspector.Entry()
                            {
                                IsDirectory = false,
                                Tag         = (object)e,
                                Name        = Path.GetFileNameWithoutExtension(e.Name),
                                Icon        = e.Icon
                            });
                            W.projectInspector.Invalidate();
                        }
                        break;

                    case Project.FileEvent.Modified:
                    case Project.FileEvent.Renamed:
                        if (e.Parent == cd)
                        {
                            object oe = (object)e;
                            if (ev == Project.FileEvent.Modified)
                            {
                                e.Icon = Preview.Get(e.FullPath);
                            }
                            foreach (NSDirectoryInspector.Entry en in W.projectInspector.Entries)
                            {
                                if (en.Tag == oe)
                                {
                                    en.Name = Path.GetFileNameWithoutExtension(e.Name);
                                    en.Icon = e.Icon;
                                    W.projectInspector.Invalidate();
                                    break;
                                }
                            }
                        }
                        break;

                    case Project.FileEvent.Deleted:
                        if (e.Parent == cd)
                        {
                            object oe = (object)e;
                            foreach (NSDirectoryInspector.Entry en in W.projectInspector.Entries)
                            {
                                if (en.Tag == oe)
                                {
                                    W.projectInspector.Entries.Remove(en);
                                    W.projectInspector.Invalidate();
                                    break;
                                }
                            }
                        }
                        break;
                    }
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Событие, связанное с директорией проекта
        /// </summary>
        public static void ProjectDirEvent(Project.Dir d, Project.FileEvent ev)
        {
            System.Diagnostics.Debug.WriteLine("Dir " + d.Name + " " + ev.ToString());
            if (W != null)
            {
                // Обновление редакторов
                if (Editors != null)
                {
                    foreach (BaseForm b in Editors)
                    {
                        needProjectRescan = false;
                        b.FileEditor.ProjectDirEvent(d, ev);
                    }
                }

                // Обновление инспектора
                if (!W.localFileEvent)
                {
                    Project.Dir cd = W.projectInspector.Tag as Project.Dir;
                    switch (ev)
                    {
                    case Project.FileEvent.Created:
                        if (d.Parent == cd)
                        {
                            W.projectInspector.Entries.Add(new NSDirectoryInspector.Entry()
                            {
                                IsDirectory = true,
                                Tag         = (object)d,
                                Name        = d.ShortName
                            });
                            W.projectInspector.Invalidate();
                        }
                        break;

                    case Project.FileEvent.Modified:
                    case Project.FileEvent.Renamed:
                        if (d.Parent == cd)
                        {
                            object od = (object)d;
                            foreach (NSDirectoryInspector.Entry en in W.projectInspector.Entries)
                            {
                                if (en.Tag == od)
                                {
                                    en.Name = d.ShortName;
                                    W.projectInspector.Invalidate();
                                    break;
                                }
                            }
                        }
                        break;

                    case Project.FileEvent.Deleted:
                        if (d == cd)
                        {
                            PopulateManager(d.Parent);
                        }
                        else if (d.Parent == cd)
                        {
                            object od = (object)d;
                            foreach (NSDirectoryInspector.Entry en in W.projectInspector.Entries)
                            {
                                if (en.Tag == od)
                                {
                                    W.projectInspector.Entries.Remove(en);
                                    W.projectInspector.Invalidate();
                                    break;
                                }
                            }
                        }
                        break;
                    }
                }
            }
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Событие изменения директории проекта
 /// </summary>
 public virtual void ProjectDirEvent(Project.Dir dr, Project.FileEvent ev)
 {
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Событие, связанное с директорией проекта
 /// </summary>
 public static void ProjectDirEvent(Project.Dir d, Project.FileEvent ev)
 {
     System.Diagnostics.Debug.WriteLine("Dir " + d.Name + ev.ToString());
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Событие, связанное с файлом проекта
 /// </summary>
 public static void ProjectEntryEvent(Project.Entry e, Project.FileEvent ev)
 {
     System.Diagnostics.Debug.WriteLine("File " + e.ProjectPath + ev.ToString());
 }