public EditInterface getEditInterface() { if (editInterface == null) { editInterface = new EditInterface(name); editInterface.addCommand(new EditInterfaceCommand("Create Group", createGroupCallback)); editInterface.addCommand(new EditInterfaceCommand("Create Sim Object", createSimObjectCallback)); editInterface.addCommand(new EditInterfaceCommand("Show All", showAllCallback)); editInterface.addCommand(new EditInterfaceCommand("Hide All", hideAllCallback)); editInterface.addCommand(new EditInterfaceCommand("Import Positions", importPositionsCallback)); editInterface.IconReferenceTag = AnomalyIcons.Folder; GenericClipboardEntry clipboardEntry = new GenericClipboardEntry(typeof(InstanceGroup)); clipboardEntry.PasteFunction = pasteCallback; clipboardEntry.SupportsPastingTypeFunction = supportsPasteType; editInterface.ClipboardEntry = clipboardEntry; var groupManager = editInterface.createEditInterfaceManager <InstanceGroup>(); groupManager.addCommand(new EditInterfaceCommand("Remove", destroyGroupCallback)); var instanceFileManager = editInterface.createEditInterfaceManager <InstanceFileInterface>(); instanceFileManager.addCommand(new EditInterfaceCommand("Remove", destroySimObjectCallback)); instanceFileManager.addCommand(new EditInterfaceCommand("Rename", renameSimObjectCallback)); foreach (InstanceGroup group in groups.Values) { addGroupSubInterface(group); } foreach (InstanceFileInterface file in instanceFiles.Values) { onInstanceFileAdded(file); } } return(editInterface); }
public InstanceFileInterface(String name, Object iconReferenceTag, String filename, InstanceGroup parentGroup) : base(name, iconReferenceTag) { this.parentGroup = parentGroup; GenericClipboardEntry clipboardEntry = new GenericClipboardEntry(typeof(SimObjectDefinition)); clipboardEntry.CopyFunction = copy; clipboardEntry.PasteFunction = paste; clipboardEntry.CutFunction = cut; clipboardEntry.SupportsPastingTypeFunction = supportsPastingType; editInterface.ClipboardEntry = clipboardEntry; editInterface.addCommand(new EditInterfaceCommand("Toggle Display", toggleHidden)); Deleted = false; this.filename = filename; if (File.Exists(filename)) { try { using (var stream = File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.Read)) { instance = saver.restoreObject <Instance>(stream); } } catch (Exception ex) { Log.Error("Could not load Instance {0} because {1}", filename, ex.Message); instance = new Instance(name, new GenericSimObjectDefinition(name)); } } }
public SimSceneFileInterface(String name, Object iconReferenceTag, String filename) : base(name, iconReferenceTag, filename) { GenericClipboardEntry clipboardInterface = new GenericClipboardEntry(typeof(SimSceneDefinition)); clipboardInterface.CopyFunction = copy; clipboardInterface.PasteFunction = paste; editInterface.ClipboardEntry = clipboardInterface; }
/// <summary> /// Get an EditInterface for the SimElementDefinition so it can be /// modified. /// </summary> /// <returns>The EditInterface for this SimElementDefinition.</returns> public EditInterface getEditInterface() { EditInterface editInterface = createEditInterface(); GenericClipboardEntry clipboardEntry = new GenericClipboardEntry(typeof(SimElementDefinition)); clipboardEntry.CopyFunction = copy; clipboardEntry.PasteFunction = paste; editInterface.ClipboardEntry = clipboardEntry; return(editInterface); }
/// <summary> /// Get the EditInterface. /// </summary> /// <returns>The EditInterface.</returns> public EditInterface getEditInterface() { if (editInterface == null) { editInterface = ReflectedEditInterface.createEditInterface(this, genericSimObjectScanner, name, null); editInterface.IconReferenceTag = EngineIcons.SimObject; var elementEditInterfaces = editInterface.createEditInterfaceManager <SimElementDefinition>(); elementEditInterfaces.addCommand(new EditInterfaceCommand("Remove", removeSimElementDefinition)); foreach (SimElementDefinition definition in definitions) { createElementInterface(definition); } foreach (AddSimElementCommand command in PluginManager.Instance.getCreateSimElementCommands()) { editInterface.addCommand(new EditInterfaceCommand(command.Name, callback => { callback.getInputString("Enter a name.", delegate(String result, ref String errorPrompt) { if (result == null || result == "") { errorPrompt = "Please enter a non empty name."; return(false); } foreach (SimElementDefinition definition in definitions) { if (definition.Name == result) { errorPrompt = "That name is already in use. Please provide another."; return(false); } } command.execute(result, callback, this); return(true); }); })); } GenericClipboardEntry clipboardEntry = new GenericClipboardEntry(typeof(SimElementDefinition)); clipboardEntry.PasteFunction = pasteObject; editInterface.ClipboardEntry = clipboardEntry; } return(editInterface); }