protected override void onShown(EventArgs args) { base.onShown(args); if (firstShow) { firstShow = false; EditInterface editInterface = new EditInterface("Debug Visualizers"); foreach (var debugInterface in pluginManager.DebugInterfaces) { EditInterface debugEditInterface = new EditInterface(debugInterface.Name); EditablePropertyInfo propertyInfo = new EditablePropertyInfo(); propertyInfo.addColumn(new EditablePropertyColumn("Name", true)); propertyInfo.addColumn(new EditablePropertyColumn("Value", false)); debugEditInterface.setPropertyInfo(propertyInfo); debugEditInterface.addEditableProperty(new CallbackEditableProperty <bool>("Enabled", () => debugInterface.Enabled, v => debugInterface.Enabled = v, canParseBool, bool.Parse)); debugEditInterface.addEditableProperty(new CallbackEditableProperty <bool>("Depth Testing", () => debugInterface.DepthTesting, v => debugInterface.DepthTesting = v, canParseBool, bool.Parse)); foreach (var entry in debugInterface.Entries) { debugEditInterface.addEditableProperty(new CallbackEditableProperty <bool>(entry.Text, () => entry.Enabled, value => entry.Enabled = value, canParseBool, bool.Parse)); } editInterface.addSubInterface(debugEditInterface); } objectEditor.EditInterface = editInterface; createDebugVisualizers(); } }
/// <summary> /// Add a binding. /// </summary> /// <param name="toBind">The SimElementManagerDefinition to bind to this SimSubScene</param> public void addBinding(SimElementManagerDefinition toBind) { SimSubSceneBinding binding = new SimSubSceneBinding(this, toBind.Name); bindings.AddLast(binding); if (editInterface != null) { editInterface.addEditableProperty(binding); } }
private void addPhaseProperty(BehaviorUpdatePhase phase) { if (phasesEditInterface != null) { phasesEditInterface.addEditableProperty(phase); } }
public ElementAttributeEditor(Element element, GuiFrameworkUICallback uiCallback) : base("Medical.GUI.Editor.RmlWysiwyg.ElementEditorComponents.ElementAttributeEditor.layout", "Attributes") { propertiesScroll = (ScrollView)widget.findWidget("PropertiesScroll"); propertiesForm = new ScrollablePropertiesForm(propertiesScroll, uiCallback); originalProperties = new List <RmlEditableProperty>(element.NumAttributes); EditInterface editInterface = new EditInterface(element.TagName); int index = 0; String name; String value; RmlEditableProperty.CreateBrowser createBrowserCallback = null; while (element.IterateAttributes(ref index, out name, out value)) { createBrowserCallback = null; RmlEditableProperty property; switch (name.ToLowerInvariant()) { case "onclick": if (uiCallback.hasCustomQuery(CustomQueries.BuildActionBrowser)) { createBrowserCallback = callback => uiCallback.runSyncCustomQuery <Browser>(CustomQueries.BuildActionBrowser); } property = new RmlEditableProperty(name, value, createBrowserCallback); break; case "src": if (element.TagName == "img") { if (uiCallback.hasCustomQuery(CustomQueries.BuildFileBrowser)) { createBrowserCallback = callback => uiCallback.runSyncCustomQuery <Browser, IEnumerable <String>, String, String>(CustomQueries.BuildFileBrowser, new String[] { "*.png", "*.jpg", "*jpeg", "*.gif", "*.bmp" }, "Images", "/"); } property = new RmlEditableProperty(name, value, createBrowserCallback); } else { property = new RmlEditableProperty(name, value); } break; default: property = new RmlEditableProperty(name, value); break; } property.ValueChanged += sender => { fireChangesMade(); fireApplyChanges(); }; editInterface.addEditableProperty(property); originalProperties.Add(property); } propertiesForm.EditInterface = editInterface; }
/// <summary> /// Get the EditInterface. /// </summary> /// <returns>The EditInterface.</returns> public EditInterface getEditInterface() { if (editInterface == null) { editInterface = new EditInterface(name + " Subscene", addBinding, removeBinding, () => { if (bindings.Any(b => b.SimElementManager == null)) { throw new ValidationException("Empty binding found. Please fill out all bindings or remove the empty listings."); } }); EditablePropertyInfo propertyInfo = new EditablePropertyInfo(); propertyInfo.addColumn(new EditablePropertyColumn("Name", false)); propertyInfo.addColumn(new EditablePropertyColumn("Type", true)); editInterface.setPropertyInfo(propertyInfo); foreach (SimSubSceneBinding binding in bindings) { editInterface.addEditableProperty(binding); } } return(editInterface); }
protected override void customizeEditInterface(EditInterface editInterface) { editInterface.addEditableProperty(new GenericEditableProperty <ChangeHandPosition>("Hand Position", this)); base.customizeEditInterface(editInterface); }
public ObjectPlaceholderInterface(String name, Object iconReferenceTag) { editInterface = new EditInterface(name); editInterface.IconReferenceTag = iconReferenceTag; editInterface.addEditableProperty(this); }