/// <summary> /// Constructor /// </summary> /// <param name="entry"></param> public ProjectEntryActionEventArgs(GUIProjectEntry entry) { mEntry = entry; }
/// <summary> /// Opens an existing entry /// </summary> /// <param name="entry"></param> public void OpenEntry(GUIProjectEntry entry) { if (entry != null) { if (entry.Open()) { NotifyOpenEntry(entry); } else { MessageBox.Show("Failed to load " + entry.Filename + ".", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
/// <summary> /// Closes the entry /// </summary> /// <param name="entry"></param> private bool CloseEntry(GUIProjectEntry entry) { if (entry == null || NotifyClosingEntry(entry)) return false; if (entry.Close()) NotifyCloseEntry(entry); return true; }
/// <summary> /// Notifies when an entry has been opened /// </summary> /// <param name="entry"></param> private void NotifyCloseEntry(GUIProjectEntry entry) { if (OnCloseEntry != null) OnCloseEntry(this, entry); }
/// <summary> /// Notifies when the user has chosen to export an entry /// </summary> /// <param name="entry"></param> private void NotifyExportEntry(GUIProjectEntry entry) { if (OnExportEntry != null) OnExportEntry(this, entry); }
/// <summary> /// Notifies when an entry has been opened /// </summary> /// <param name="entry"></param> private void NotifyOpenEntry(GUIProjectEntry entry) { if (OnOpenEntry != null) OnOpenEntry(this, entry); }
/// <summary> /// Notifies that we are about to close an entry /// </summary> /// <param name="entry"></param> private bool NotifyClosingEntry(GUIProjectEntry entry) { if (OnClosingEntry != null) { ProjectEntryActionEventArgs args = new ProjectEntryActionEventArgs(entry); OnClosingEntry(this, args); return args.CancelAction; } return false; }
/// <summary> /// Notifies when an entry has been renamed /// </summary> /// <param name="entry"></param> private void NotifyRenameEntry(GUIProjectEntry entry) { if (OnRenameEntry != null) OnRenameEntry(this, entry); }
/// <summary> /// Notifies when an entry has been opened /// </summary> /// <param name="entry"></param> private void NotifySelectEntry(GUIProjectEntry entry) { if (OnSelectEntry != null) OnSelectEntry(this, entry); }
/// <summary> /// Called when an entry has been closed /// </summary> /// <param name="sender"></param> /// <param name="entry"></param> void ProjectView_OnCloseEntry(object sender, GUIProjectEntry entry) { }
/// <summary> /// Exports an entry /// </summary> /// <param name="sender"></param> /// <param name="entry"></param> void ProjectView_OnExportEntry(object sender, GUIProjectEntry entry) { GUIProjectScene projectScene = entry as GUIProjectScene; if (projectScene != null) { if(projectScene.Open()) ExportScene(projectScene); } }
/// <summary> /// Opens a scene for editing. /// </summary> /// <param name="sender"></param> /// <param name="scene"></param> void ProjectView_OnOpenEntry(object sender, GUIProjectEntry entry) { OpenEntry(entry); }
/// <summary> /// Called when an entry has been renamed /// </summary> /// <param name="sender"></param> /// <param name="entry"></param> void ProjectView_OnRenameEntry(object sender, GUIProjectEntry entry) { GUIProjectScene sceneEntry = entry as GUIProjectScene; if(sceneEntry == null) return; foreach (SceneView view in mDockPanel.Documents) { if (view.Scene == sceneEntry.Scene) { view.TabText = sceneEntry.Name; } } }
/// <summary> /// Called when an entry has been deleted /// </summary> /// <param name="sender"></param> /// <param name="entry"></param> void ProjectView_OnDeleteEntry(object sender, GUIProjectEntry entry) { }
/// <summary> /// Called when an entry has been created /// </summary> /// <param name="sender"></param> /// <param name="entry"></param> void ProjectView_OnCreateEntry(object sender, GUIProjectEntry entry) { GUIProjectScene sceneEntry = entry as GUIProjectScene; if (sceneEntry == null) return; if (sceneEntry.Open()) { sceneEntry.Scene.AddView(new GUIView("Default View")); } }
/// <summary> /// Opens a scene for editing /// </summary> /// <param name="scene"></param> private void OpenEntry(GUIProjectEntry entry) { GUIProjectScene projectScene = entry as GUIProjectScene; SceneView sceneView = null; // Check to see if the document is already open, and focus // on it if so. foreach (DockContent doc in mDockPanel.Documents) { SceneView view = doc as SceneView; if (view != null && view.Scene == projectScene.Scene) { doc.Show(); return; } } // We don't have a sceneview for this scene, create and // add it now. if (sceneView == null) { LoadResources(projectScene); sceneView = new SceneView(projectScene.Scene); sceneView.TabText = projectScene.Name; sceneView.SelectedControlsChanged += new SceneView.ControlsEventHandler(SceneView_ControlsSelectionChanged); sceneView.ActiveViewChanged += new SceneView.ViewEventHandler(SceneView_ActiveViewChanged); sceneView.GUIControlUpdated += new SceneView.ControlEventHandler(SceneView_ControlUpdated); sceneView.Enter += new EventHandler(SceneView_Enter); sceneView.FormClosing += new FormClosingEventHandler(SceneView_FormClosing); sceneView.FormClosed += new FormClosedEventHandler(SceneView_FormClosed); sceneView.Show(mDockPanel, DockState.Document); } }