Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        /// <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);
            }
        }
Exemplo n.º 3
0
 private void addPhaseProperty(BehaviorUpdatePhase phase)
 {
     if (phasesEditInterface != null)
     {
         phasesEditInterface.addEditableProperty(phase);
     }
 }
Exemplo n.º 4
0
        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;
        }
Exemplo n.º 5
0
 /// <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);
 }
Exemplo n.º 7
0
 public ObjectPlaceholderInterface(String name, Object iconReferenceTag)
 {
     editInterface = new EditInterface(name);
     editInterface.IconReferenceTag = iconReferenceTag;
     editInterface.addEditableProperty(this);
 }