Esempio n. 1
0
            protected override void OnNodePropertiesValidated(AbstractActionModelTreeNode node, string propertyName, object value)
            {
                base.OnNodePropertiesValidated(node, propertyName, value);

                if (propertyName == "KeyStroke" && node is AbstractActionModelTreeLeafClickAction)
                {
                    _owner.UpdateClickActionKeyStroke((AbstractActionModelTreeLeafClickAction)node, (XKeys)value);
                }

                if (node is AbstractActionModelTreeLeafAction)
                {
                    AbstractActionModelTreeLeafAction actionNode = (AbstractActionModelTreeLeafAction)node;
                    if (propertyName == "InitiallyActive")
                    {
                        _owner.UpdateMouseToolInitiallyActive(actionNode, (bool)value);
                    }
                    else if (propertyName == "ActiveMouseButtons")
                    {
                        _owner.UpdateMouseToolMouseButton(actionNode, (XMouseButtons)value);
                    }
                    else if (propertyName == "GlobalMouseButtonCombo")
                    {
                        _owner.UpdateDefaultMouseButtons(actionNode, (XMouseButtonCombo)value);
                    }
                }
            }
Esempio n. 2
0
 public MouseImageViewerToolPropertyComponent(AbstractActionModelTreeNode selectedNode, XMouseButtons activeMouseButtons, XMouseButtons globalMouseButtons, ModifierFlags globalModifiers, bool initiallyActive)
     : base(selectedNode)
 {
     _activeMouseButtons     = activeMouseButtons;
     _globalMouseButtonCombo = new XMouseButtonCombo(globalMouseButtons, globalModifiers);
     _globalMouseButtons     = globalMouseButtons;
     _globalModifiers        = globalModifiers;
     _initiallyActive        = initiallyActive;
 }
        private void OnActionModelTreeSelectionChanged(object sender, EventArgs e)
        {
            AbstractActionModelTreeNode selectedNode = null;

            if (_actionModelTree.Selection != null)
            {
                selectedNode = (_actionModelTree.Selection.Item as AbstractActionModelTreeNode);
            }
            _component.SelectedNode = selectedNode;
        }
        private void OnComponentSelectedNodeChanged(object sender, EventArgs e)
        {
            AbstractActionModelTreeNode selectedNode = _component.SelectedNode;

            _pnlNodeProperties.SuspendLayout();
            try
            {
                _pnlNodeProperties.Visible = selectedNode != null;
                if (selectedNode != null)
                {
                    _lblLabel.Text = selectedNode.CanonicalLabel;

                    string tooltip = selectedNode.Tooltip;
                    if (String.IsNullOrEmpty(tooltip))
                    {
                        tooltip = selectedNode.CanonicalLabel;
                    }

                    _toolTip.SetToolTip(_lblLabel, tooltip);
                    _toolTip.SetToolTip(_pnlIcon, tooltip);

                    if (!string.IsNullOrEmpty(selectedNode.Description))
                    {
                        _lblDescription.Text   = selectedNode.Description;
                        _lblDescription.Height = _lblDescription.GetPreferredSize(new Size(_lblDescription.Width, 100)).Height;
                    }
                    else
                    {
                        _lblDescription.Text   = string.Empty;
                        _lblDescription.Height = 0;
                    }

                    // destroy old icon
                    Image image = _pnlIcon.BackgroundImage;
                    _pnlIcon.BackgroundImage = null;
                    if (image != null)
                    {
                        image.Dispose();
                        image = null;
                    }

                    // set new icon
                    IconSet iconSet = selectedNode.IconSet;
                    if (iconSet != null)
                    {
                        try
                        {
                            image = iconSet.CreateIcon(IconSize.Medium, selectedNode.ResourceResolver);
                        }
                        catch (Exception ex)
                        {
                            Platform.Log(LogLevel.Debug, ex, "Icon resolution failed.");
                        }
                        _pnlIcon.BackgroundImage = image;
                    }
                    _pnlIcon.Visible = _pnlIcon.BackgroundImage != null;

                    // reload properties extensions
                    _lyoNodePropertiesExtensions.SuspendLayout();
                    try
                    {
                        ArrayList oldControls = new ArrayList(_lyoNodePropertiesExtensions.Controls);
                        _lyoNodePropertiesExtensions.Controls.Clear();
                        foreach (Control c in oldControls)
                        {
                            c.Dispose();
                        }
                        foreach (IApplicationComponentView componentView in _component.SelectedNodeProperties.ComponentViews)
                        {
                            try
                            {
                                _lyoNodePropertiesExtensions.Controls.Add((Control)componentView.GuiElement);
                            }
                            catch (Exception ex)
                            {
                                Platform.Log(LogLevel.Debug, ex, "Error encountered while loading a component extension");
                            }
                        }
                    }
                    finally
                    {
                        _lyoNodePropertiesExtensions.ResumeLayout();
                    }
                    this.OnLyoNodePropertiesExtensionsSizeChanged(null, null);
                }
            }
            finally
            {
                _pnlNodeProperties.ResumeLayout(true);
            }
        }
Esempio n. 5
0
            protected override IEnumerable <NodePropertiesComponent> CreateNodePropertiesComponents(AbstractActionModelTreeNode node)
            {
                List <NodePropertiesComponent> list = new List <NodePropertiesComponent>(base.CreateNodePropertiesComponents(node));

                if (node is AbstractActionModelTreeLeafClickAction)
                {
                    string actionId = ((AbstractActionModelTreeLeafClickAction)node).ActionId;
                    if (_toolProfile.IsRegisteredMouseToolActivationAction(actionId))
                    {
                        var activeMouseButtons = _owner._mouseButtonMap.FindKey(actionId, XMouseButtons.Left);
                        var globalMouseButtons = _owner._defaultMouseToolsMap.FindAssignment(actionId, XMouseButtonCombo.None);
                        var initiallyActive    = _owner._initialMouseToolsMap.IsAssignedToMe(activeMouseButtons, actionId);
                        list.Add(new MouseImageViewerToolPropertyComponent(node,
                                                                           activeMouseButtons,
                                                                           globalMouseButtons.MouseButtons,
                                                                           globalMouseButtons.Modifiers,
                                                                           initiallyActive));
                    }
                }
                return(list.AsReadOnly());
            }