public Stetic.Wrapper.ActionGroup AddNewActionGroup(string name) { Stetic.Wrapper.ActionGroup group = new Stetic.Wrapper.ActionGroup(); group.Name = name; ActionGroups.Add(group); return(group); }
public void RestoreState(object[] data) { if (data == null) { return; } groupCopy = new Stetic.Wrapper.ActionGroup(); groupCopy.Name = (string)data [0]; XmlDocument doc = new XmlDocument(); doc.LoadXml((string)data [2]); // Create the map which links edited action with source actions actionCopyMap.Clear(); foreach (DictionaryEntry e in (Hashtable)data [1]) { Wrapper.Action dupaction = groupCopy.GetAction((string)e.Key); Wrapper.Action action = group.GetAction((string)e.Value); actionCopyMap [dupaction] = action; } groupCopy.SignalAdded += new Stetic.SignalEventHandler(OnSignalAdded); groupCopy.SignalChanged += new Stetic.SignalChangedEventHandler(OnSignalChanged); }
void OnProjectReloaded(object s, EventArgs a) { // Called when the underlying project has changed. Object references need to be updated. if (autoCommitChanges) { if (designer != null) { if (groupToEdit != null) { groupToolbar.ActiveGroup = project.ActionGroups [groupToEdit]; } else { Stetic.Wrapper.Container container = project.GetTopLevelWrapper(containerName, true); groupToolbar.ActionGroups = container.LocalActionGroups; } } } else { // We only need to remap the actions group = project.ActionGroups [groupToEdit]; actionCopyMap.Clear(); foreach (Wrapper.Action dupac in groupCopy.Actions) { Wrapper.Action ac = group.GetAction(dupac.Name); if (ac != null) { actionCopyMap [dupac] = ac; } } } }
public Stetic.Wrapper.ActionGroup AddNewActionGroup(string name) { Stetic.Wrapper.ActionGroup group = new Stetic.Wrapper.ActionGroup(); group.Name = name; ActionGroups.Add(group); this.modifiedTopLevels.Add(name); return(group); }
public void RemoveActionGroup(Stetic.Wrapper.ActionGroup group) { ActionGroups.Remove(group); string name = group.Name; if (modifiedTopLevels.Contains(name)) { modifiedTopLevels.Remove(name); } }
public Stetic.Wrapper.ActionGroup AddNewActionGroupFromTemplate(string template) { XmlDocument doc = new XmlDocument(); doc.LoadXml(template); ObjectReader or = new ObjectReader(this, FileFormat.Native); Stetic.Wrapper.ActionGroup group = new Stetic.Wrapper.ActionGroup(); group.Read(or, doc.DocumentElement); ActionGroups.Add(group); return(group); }
public ActionGroupEditSession(ActionGroupDesignerFrontend frontend, ProjectBackend project, string containerName, string groupToEdit, bool autoCommitChanges) { this.groupToEdit = groupToEdit; this.containerName = containerName; this.frontend = frontend; this.project = project; this.autoCommitChanges = autoCommitChanges; if (groupToEdit != null) { group = project.ActionGroups [groupToEdit]; if (group == null) { throw new InvalidOperationException("Unknown action group: " + groupToEdit); } Load(group); undoManager = new UndoRedoManager(); undoQueue = new UndoQueue(); undoManager.UndoQueue = undoQueue; undoManager.RootObject = groupCopy; groupToolbar = new ActionGroupToolbar(frontend, groupCopy); } else { if (!autoCommitChanges) { throw new System.NotSupportedException(); } Stetic.Wrapper.Container container = project.GetTopLevelWrapper(containerName, true); groupToolbar = new ActionGroupToolbar(frontend, container.LocalActionGroups); } // Don't delay the creation of the designer because when used in combination with the // widget designer, change events are subscribed since the begining designer = UserInterface.CreateActionGroupDesigner(project, groupToolbar); designer.Editor.GroupModified += OnModified; designer.Toolbar.AllowActionBinding = allowActionBinding; designer.Destroyed += delegate { designer = null; Dispose(); }; }
void Load (Stetic.Wrapper.ActionGroup group) { if (autoCommitChanges) { groupCopy = group; } else { actionCopyMap.Clear (); groupCopy = new Stetic.Wrapper.ActionGroup (); groupCopy.Name = group.Name; foreach (Stetic.Wrapper.Action action in group.Actions) { Stetic.Wrapper.Action dupaction = action.Clone (); groupCopy.Actions.Add (dupaction); actionCopyMap [dupaction] = action; } groupCopy.SignalAdded += new Stetic.SignalEventHandler (OnSignalAdded); groupCopy.SignalChanged += new Stetic.SignalChangedEventHandler (OnSignalChanged); } }
void Load(Stetic.Wrapper.ActionGroup group) { if (autoCommitChanges) { groupCopy = group; } else { actionCopyMap.Clear(); groupCopy = new Stetic.Wrapper.ActionGroup(); groupCopy.Name = group.Name; foreach (Stetic.Wrapper.Action action in group.Actions) { Stetic.Wrapper.Action dupaction = action.Clone(); groupCopy.Actions.Add(dupaction); actionCopyMap [dupaction] = action; } groupCopy.SignalAdded += new Stetic.SignalEventHandler(OnSignalAdded); groupCopy.SignalChanged += new Stetic.SignalChangedEventHandler(OnSignalChanged); } }
public ActionGroupEditSession (ActionGroupDesignerFrontend frontend, ProjectBackend project, string containerName, string groupToEdit, bool autoCommitChanges) { this.groupToEdit = groupToEdit; this.containerName = containerName; this.frontend = frontend; this.project = project; this.autoCommitChanges = autoCommitChanges; if (groupToEdit != null) { group = project.ActionGroups [groupToEdit]; if (group == null) throw new InvalidOperationException ("Unknown action group: " + groupToEdit); Load (group); undoManager = new UndoRedoManager (); undoQueue = new UndoQueue (); undoManager.UndoQueue = undoQueue; undoManager.RootObject = groupCopy; groupToolbar = new ActionGroupToolbar (frontend, groupCopy); } else { if (!autoCommitChanges) throw new System.NotSupportedException (); Stetic.Wrapper.Container container = project.GetTopLevelWrapper (containerName, true); groupToolbar = new ActionGroupToolbar (frontend, container.LocalActionGroups); } // Don't delay the creation of the designer because when used in combination with the // widget designer, change events are subscribed since the begining designer = UserInterface.CreateActionGroupDesigner (project, groupToolbar); designer.Editor.GroupModified += OnModified; designer.Toolbar.AllowActionBinding = allowActionBinding; designer.Destroyed += delegate { designer = null; Dispose (); }; }
public void RemoveActionGroup(Stetic.Wrapper.ActionGroup group) { ActionGroups.Remove(group); }
public Stetic.Wrapper.ActionGroup AddNewActionGroupFromTemplate (string template) { XmlDocument doc = new XmlDocument (); doc.LoadXml (template); ObjectReader or = new ObjectReader (this, FileFormat.Native); Stetic.Wrapper.ActionGroup group = new Stetic.Wrapper.ActionGroup (); group.Read (or, doc.DocumentElement); ActionGroups.Add (group); return group; }
public Stetic.Wrapper.ActionGroup AddNewActionGroup (string name) { Stetic.Wrapper.ActionGroup group = new Stetic.Wrapper.ActionGroup (); group.Name = name; ActionGroups.Add (group); return group; }
public void RestoreState (object[] data) { if (data == null) return; groupCopy = new Stetic.Wrapper.ActionGroup (); groupCopy.Name = (string) data [0]; XmlDocument doc = new XmlDocument (); doc.LoadXml ((string) data [2]); // Create the map which links edited action with source actions actionCopyMap.Clear (); foreach (DictionaryEntry e in (Hashtable) data [1]) { Wrapper.Action dupaction = groupCopy.GetAction ((string)e.Key); Wrapper.Action action = group.GetAction ((string)e.Value); actionCopyMap [dupaction] = action; } groupCopy.SignalAdded += new Stetic.SignalEventHandler (OnSignalAdded); groupCopy.SignalChanged += new Stetic.SignalChangedEventHandler (OnSignalChanged); }
void OnProjectReloaded (object s, EventArgs a) { // Called when the underlying project has changed. Object references need to be updated. if (autoCommitChanges) { if (designer != null) { if (groupToEdit != null) { groupToolbar.ActiveGroup = project.ActionGroups [groupToEdit]; } else { Stetic.Wrapper.Container container = project.GetTopLevelWrapper (containerName, true); groupToolbar.ActionGroups = container.LocalActionGroups; } } } else { // We only need to remap the actions group = project.ActionGroups [groupToEdit]; actionCopyMap.Clear (); foreach (Wrapper.Action dupac in groupCopy.Actions) { Wrapper.Action ac = group.GetAction (dupac.Name); if (ac != null) actionCopyMap [dupac] = ac; } } }
public Stetic.Wrapper.ActionGroup AddNewActionGroup (string name) { Stetic.Wrapper.ActionGroup group = new Stetic.Wrapper.ActionGroup (); group.Name = name; ActionGroups.Add (group); this.modifiedTopLevels.Add (name); return group; }