protected override void OnInitialized()
        {
            base.OnInitialized();
            element            = ExtendedItem.Component as FrameworkElement;
            editor             = new InPlaceEditor(ExtendedItem);
            editor.DataContext = element;
            editor.Visibility  = Visibility.Hidden;            // Hide the editor first, It's visibility is governed by mouse events.

            placement = new RelativePlacement(HorizontalAlignment.Left, VerticalAlignment.Top);
            adornerPanel.Children.Add(editor);
            Adorners.Add(adornerPanel);

            designPanel = ExtendedItem.Services.GetService <IDesignPanel>() as DesignPanel;
            Debug.Assert(designPanel != null);

            /* Add mouse event handlers */
            designPanel.PreviewMouseLeftButtonDown += MouseDown;
            designPanel.MouseLeftButtonUp          += MouseUp;
            designPanel.PreviewMouseMove           += MouseMove;

            /* To update the position of Editor in case of resize operation */
            ExtendedItem.PropertyChanged += PropertyChanged;

            eventsAdded = true;
        }
Exemplo n.º 2
0
        protected override void Activate(ModelItem item)
        {
            designObject = item.GetCurrentValue() as LinkableControl;//获得被点击的控件对象

            if (designObject != null)
            {
                designCanvas = designObject.Parent as Panel;
                DesignerView v = DesignerView.FromContext(Context);
                adorner = new ControlAdorner(designObject);
                adorner.RenderTransform = new ScaleTransform(v.ZoomLevel, v.ZoomLevel);

                foreach (var pin in adorner.Children)
                {
                    pin.MouseLeftButtonDown += new MouseButtonEventHandler(Pin_MouseLeftButtonDown); //按下左键选中hitPin,开始拖动
                    pin.MouseMove           += new MouseEventHandler(Pin_MouseMove);                 //移动鼠标,开始找寻目标连接节点
                }

                AdornerPanel.SetAdornerHorizontalAlignment(adorner, AdornerHorizontalAlignment.Stretch);
                AdornerPanel.SetAdornerVerticalAlignment(adorner, AdornerVerticalAlignment.Stretch);
                _panel.Children.Add(adorner);

                Adorners.Add(_panel);
                v.ZoomLevelChanged += (s, e) => { adorner.RenderTransform = new ScaleTransform(v.ZoomLevel, v.ZoomLevel); };
            }

            base.Activate(item);
        }
Exemplo n.º 3
0
        private void CreateAdorner()
        {
            if (adornerPanel == null)
            {
                if (cachedAdornerPanel == null)
                {
                    cachedAdornerPanel       = new AdornerPanel();
                    cachedAdornerPanel.Order = AdornerOrder.Background;
                    border = new Border();
                    border.BorderThickness  = new Thickness(1);
                    border.BorderBrush      = new SolidColorBrush(Color.FromRgb(0xCC, 0xCC, 0xCC));
                    border.Background       = Brushes.Transparent;
                    border.IsHitTestVisible = true;
                    border.MouseDown       += border_MouseDown;
                    border.MinWidth         = 1;
                    border.MinHeight        = 1;

                    AdornerPanel.SetPlacement(border, AdornerPlacement.FillContent);
                    cachedAdornerPanel.Children.Add(border);
                }

                adornerPanel = cachedAdornerPanel;
                Adorners.Add(adornerPanel);
            }
        }
Exemplo n.º 4
0
 /// <summary>
 /// on creation add adornerlayer
 /// </summary>
 public LineExtensionBase()
 {
     _surface           = new Canvas();
     adornerPanel       = new AdornerPanel();
     adornerPanel.Order = AdornerOrder.Foreground;
     adornerPanel.Children.Add(_surface);
     Adorners.Add(adornerPanel);
 }
Exemplo n.º 5
0
        public IHtmlNode Build()
        {
            var result = BuildCore();

            Adorners.Each(adorner => adorner.ApplyTo(result));

            return(result);
        }
Exemplo n.º 6
0
 private void RemoveAdorner()
 {
     if (adornerPanel != null)
     {
         Adorners.Remove(adornerPanel);
         adornerPanel = null;
     }
 }
        protected virtual AdornerPanel CreateAdornerPanel()
        {
            AdornerPanel panel = new AdornerPanel();

            panel.IsContentFocusable = true;
            AdornerProperties.SetOrder(panel, AdornerOrder.Foreground);
            Adorners.Add(panel);
            return(panel);
        }
 private void CreateAdornerPanel()
 {
     if (this.adornersPanel == null)
     {
         adornersPanel = new AdornerPanel();
         adornersPanel.IsContentFocusable = true;
         adornersPanel.Children.Add(designerUI);
         Adorners.Add(adornersPanel);
     }
 }
        protected override void OnInitialized()
        {
            base.OnInitialized();

            var adornerPanel = new AdornerPanel();
            var adorner      = new PanelMoveAdorner(ExtendedItem);

            AdornerPanel.SetPlacement(adorner, AdornerPlacement.FillContent);
            adornerPanel.Children.Add(adorner);
            Adorners.Add(adornerPanel);
        }
 /// <summary>
 /// on creation add adornerlayer
 /// </summary>
 public ArrowLineExtensionBase()
 {
     _surface     = new Canvas();
     adornerPanel = new AdornerPanel()
     {
         MinWidth = 10, MinHeight = 10
     };
     adornerPanel.Order = AdornerOrder.Foreground;
     adornerPanel.Children.Add(_surface);
     Adorners.Add(adornerPanel);
 }
Exemplo n.º 11
0
        public void EnsureAdornerPanelExists()
        {
            if (adornerPanel != null)
            {
                return;
            }

            adornerPanel = new AdornerPanel()
            {
                IsContentFocusable = true
            };
            adornerPanel.Children.Add(adornerView);
            Adorners.Add(adornerPanel);
        }
Exemplo n.º 12
0
        protected override void OnInitialized()
        {
            base.OnInitialized();

            var adornerPanel = new AdornerPanel();
            var border       = new Border();

            border.BorderThickness  = new Thickness(1);
            border.BorderBrush      = new SolidColorBrush(Color.FromRgb(0xCC, 0xCC, 0xCC));
            border.IsHitTestVisible = false;
            AdornerPanel.SetPlacement(border, AdornerPlacement.FillContent);
            adornerPanel.Children.Add(border);
            Adorners.Add(adornerPanel);
        }
Exemplo n.º 13
0
 private void CreateAdorner()
 {
     if (adornerPanel == null)
     {
         adornerPanel       = new AdornerPanel();
         adornerPanel.Order = AdornerOrder.Background;
         var border = new Border();
         border.BorderThickness  = new Thickness(1);
         border.BorderBrush      = new SolidColorBrush(Color.FromRgb(0xCC, 0xCC, 0xCC));
         border.IsHitTestVisible = false;
         AdornerPanel.SetPlacement(border, AdornerPlacement.FillContent);
         adornerPanel.Children.Add(border);
         Adorners.Add(adornerPanel);
     }
 }
Exemplo n.º 14
0
        /// <summary>
        /// Create the default adorners for a rectangle based container
        /// </summary>

        protected void CreateDefaultAdorners()
        {
            if (Adorners.Count > 0)
            {
                LOG.Warn("Adorners are already defined!");
            }
            // Create the GripperAdorners
            Adorners.Add(new ResizeAdorner(this, Positions.TopLeft));
            Adorners.Add(new ResizeAdorner(this, Positions.TopCenter));
            Adorners.Add(new ResizeAdorner(this, Positions.TopRight));
            Adorners.Add(new ResizeAdorner(this, Positions.BottomLeft));
            Adorners.Add(new ResizeAdorner(this, Positions.BottomCenter));
            Adorners.Add(new ResizeAdorner(this, Positions.BottomRight));
            Adorners.Add(new ResizeAdorner(this, Positions.MiddleLeft));
            Adorners.Add(new ResizeAdorner(this, Positions.MiddleRight));
        }
Exemplo n.º 15
0
        // The following method is called when the adorner is activated.
        // It creates the adorner control, sets up the adorner panel,
        // and attaches a ModelItem to the adorned control.
        protected override void Activate(ModelItem item)
        {
            // The adorner is a Rectangle element.
            Rectangle r = new Rectangle();

            r.Width  = 23.0;
            r.Height = 23.0;

            // Setting the color for rectangle using VS theme APIs
            r.Fill = this.ToBrush(VSColorTheme.GetThemedColor(EnvironmentColors.EnvironmentBackgroundColorKey));

            // Set the rectangle's placement in the adorner panel.
            AdornerPanel.SetAdornerHorizontalAlignment(r, AdornerHorizontalAlignment.OutsideLeft);
            AdornerPanel.SetAdornerVerticalAlignment(r, AdornerVerticalAlignment.OutsideTop);

            AdornerPanel p = new AdornerPanel();

            p.Children.Add(r);

            Adorners.Add(p);

            base.Activate(item);
        }
Exemplo n.º 16
0
 protected void Init()
 {
     Adorners.Add(new MoveAdorner(this, Positions.TopLeft));
     Adorners.Add(new MoveAdorner(this, Positions.BottomRight));
 }
        private void GotFocus(object sender, RoutedEventArgs e)
        {
            Control control = (Control)sender;

            focusedControl = control;


            //System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
            //dispatcherTimer.Tick += dispatcherTimer_Tick;
            //dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
            //dispatcherTimer.Start();

            Adorners.SetIsVisible(control, true);

            string tooltipMessage    = "TODO:Add Tooltip Message";
            double toolTipLeftMargin = 252;

            switch (control.Name)
            {
            case "PersonnelTextBox":
                tooltipMessage = AppResources.Personnel_Tooltip_Message;
                break;

            case "LocationTextBox":
                tooltipMessage = AppResources.Location_Tooltip_Message;
                break;

            case "ActionTextBox":
                tooltipMessage = AppResources.Action_Tooltip_Message;
                break;

            case "CalculationDate":
                tooltipMessage = AppResources.Calculation_Date_Tooltip_Message;
                break;

            case "AlternatingCurrentRadio":
                tooltipMessage = AppResources.Alternating_Current_Tooltip_Message;
                break;

            case "DirectCurrentRadio":
                toolTipLeftMargin = 171;
                tooltipMessage    = AppResources.Direct_Current_Tooltip_Message;
                break;

            case "EquipmentTypeComboBox":
                tooltipMessage = AppResources.Equipment_Type_Tooltip_Message;
                break;

            case "SolidGroundingRadioButton":
                tooltipMessage = AppResources.Solid_Grounding_Tooltip_Message;
                break;

            case "UnGroundedRadioButton":
                tooltipMessage = AppResources.UnGrounded_Tooltip_Message;
                break;

            case "NominalVoltageTextBox":
                if (!((FormViewModel)DataContext).CalculationInput.EquipmentTypeId.HasValue || ((FormViewModel)DataContext).CalculationInput.EquipmentTypeId == 0 || ((FormViewModel)DataContext).CalculationInput.EquipmentTypeId == 1)
                {
                    tooltipMessage = AppResources.Nominal_Voltage_Tooltip_Message_Default;
                }
                else if (((FormViewModel)DataContext).CalculationInput.EquipmentTypeId == 2 || ((FormViewModel)DataContext).CalculationInput.EquipmentTypeId == 4)
                {
                    tooltipMessage = AppResources.Nominal_Voltage_Tooltip_Message_Low_Voltage;
                }
                else
                {
                    tooltipMessage = AppResources.Nominal_Voltage_Tooltip_Message_Medium_Voltage;
                }
                break;

            case "SourceFaultCurrentTextBox":
                tooltipMessage = AppResources.Source_Fault_Current_Tooltip_Message;
                break;

            case "OpenAirRadioButton":
                tooltipMessage = AppResources.Open_Air_Tooltip_Message;
                break;

            case "InBoxRadioButton":
                toolTipLeftMargin = 140;
                tooltipMessage    = AppResources.In_Box_Tooltip_Message;
                break;

            //cable tips
            case "HasCableRadioButton":
                tooltipMessage = AppResources.Has_Cable_Tooltip_Message;
                break;

            case "NoCableRadioButton":
                toolTipLeftMargin = 139;
                tooltipMessage    = AppResources.No_Cable_Tooltip_Message;
                break;

            case "ConductorSizeComboBox":
                tooltipMessage = AppResources.Conductor_Size_Tooltip_Message;
                break;

            case "ConductorPerPhaseTextBox":
                tooltipMessage = AppResources.Conductor_Per_Phase_Tooltip_Message;
                break;

            case "ConductorLengthTextBox":
                tooltipMessage = AppResources.Conductor_Length_Tooltip_Message;
                break;

            case "SensorRatingTextBox":
                tooltipMessage = AppResources.Sensor_Rating_Tooltip_Message;
                break;

            case "ArcDurationTextBox":
                tooltipMessage = AppResources.Arc_Duration_Tooltip_Message;
                break;

            case "CalculateArcDurationExpander":
                tooltipMessage = AppResources.Calculate_Arc_Duration_Tooltip_Message;
                break;

            //transformer tips
            case "HasTransformerRadioButton":
                tooltipMessage = AppResources.Has_Transformer_Tooltip_Message;
                break;

            case "NoTransformerRadioButton":
                toolTipLeftMargin = 141;
                tooltipMessage    = AppResources.No_Transformer_Tooltip_Message;
                break;

            case "PrimaryVoltageTextBox":
                tooltipMessage = AppResources.Primary_Voltage_Tooltip_Message;
                break;

            case "XfmrImpedanceTextBox":
                tooltipMessage =
                    AppResources.Xfmr_Impedance_Tooltip_Message;
                break;

            case "XfmrKVATextBox":
                tooltipMessage = AppResources.Xfmr_KVA_Tooltip_Message;
                break;


            //DC tips
            case "MaximumShortCircuitAvailableTextBox":
                tooltipMessage = AppResources.Maximum_Short_Circuit_Available_Tooltip_Message;
                break;

            case "DirectCurrentInCabinetRadioButton":
                toolTipLeftMargin = 168;
                tooltipMessage    = AppResources.Direct_Current_In_Cabinet_Tooltip_Message;
                break;

            case "DirectCurrentOpenAirRadioButton":
                tooltipMessage = AppResources.Direct_Current_Open_Air_Tooltip_Message;
                break;

            case "VoltageOfBatteryTextBox":
                tooltipMessage = AppResources.Voltage_Of_Battery_Tooltip_Message;
                break;
            }
            ((FormViewModel)DataContext).ToolTipText       = tooltipMessage;
            ((FormViewModel)DataContext).LeftToolTipMargin = new Thickness(toolTipLeftMargin, -12, 0, 0);
        }
 private void LostFocus(object sender, RoutedEventArgs e)
 {
     Adorners.SetIsVisible((UIElement)sender, false);
 }
Exemplo n.º 19
0
 /// <summary>
 /// Initialize a target gripper
 /// </summary>
 protected void InitAdorner(Color gripperColor, Point location)
 {
     _targetAdorner = new TargetAdorner(this, location);
     Adorners.Add(_targetAdorner);
 }