internal void AddAdorner(
            AdornerLayer treeViewAdornerLayer, FrameworkElement adornedElement, ExplorerEFElement explorerElement,
            ExplorerFrame explorerFrame)
        {
            var adornerY = GetAdornerY(adornedElement, explorerElement, explorerFrame);

            if (adornerY >= 0)
            {
                SearchTickAdorner adorner;
                if (!_adorners.TryGetValue(adornerY, out adorner))
                {
                    adorner = new SearchTickAdorner(adornerY, adornedElement);
                    _adorners[adornerY] = adorner;
                    treeViewAdornerLayer.Add(adorner);

                    // adding adorners in batches of 100 - see bug: Windows OS Bugs 1750717 
                    if ((_adorners.Count % 100) == 0)
                    {
                        treeViewAdornerLayer.UpdateLayout();
                    }
                }

                adorner.AddExplorerElement(explorerElement);
            }
        }
		private void drag_Rotate_Started(DragListener drag)
		{
			_adornerLayer = this.adornerPanel.TryFindParent<AdornerLayer>();

			var designerItem = this.ExtendedItem.Component as FrameworkElement;
			this.parent = VisualTreeHelper.GetParent(designerItem) as UIElement;
			this.centerPoint = designerItem.TranslatePoint(
				new Point(designerItem.ActualWidth*designerItem.RenderTransformOrigin.X,
				          designerItem.ActualHeight*designerItem.RenderTransformOrigin.Y),
				this.parent);

			Point startPoint = Mouse.GetPosition(this.parent);
			this.startVector = Point.Subtract(startPoint, this.centerPoint);

			if (this.rotateTransform == null)
			{
				this.initialAngle = 0;
			}
			else
			{
				this.initialAngle = this.rotateTransform.Angle;
			}

			rtTransform = this.ExtendedItem.Properties[FrameworkElement.RenderTransformProperty].Value;

			operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize);
		}
Esempio n. 3
0
 // Methods
 public DragAdorner(UIElement adornedElement)
     : base(adornedElement)
 {
     this.adornerLayer = AdornerLayer.GetAdornerLayer(adornedElement);
       this.InitializeAdornment();
       DependencyPropertyDescriptor.FromProperty(DragDropState.MousePositionPropertyKey.DependencyProperty, base.AdornedElement.GetType()).AddValueChanged(base.AdornedElement, new EventHandler(this.MousePositionChanged));
 }
        /// <summary>
        /// 拖拽工具插头
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Plugitem_PreviewMouseMove(object sender,MouseEventArgs e) {
            if(e.LeftButton == MouseButtonState.Pressed) {
                try {
                    AbstractCableKit drogKit = Kits_ListBox.SelectedItem as AbstractCableKit;
                    AbstractCableKit kit = (AbstractCableKit)drogKit.Clone();
                    Grid grid = sender as Grid;
                    var dragData = new DataObject(typeof(AbstractCableKit), kit);

                    Point pos = e.GetPosition(Kits_ListBox);
                    HitTestResult result = VisualTreeHelper.HitTest(Kits_ListBox, pos);
                    if (result == null)
                        return;
                    ListBoxItem listBoxItem = EquipmentUtils.FindVisualParent<ListBoxItem>(result.VisualHit); // Find your actual visual you want to drag
                    DragDropAdorner adorner = new DragDropAdorner(listBoxItem);
                    adornerLayer = AdornerLayer.GetAdornerLayer(this);
                    adornerLayer.Add(adorner);

                    DragDrop.DoDragDrop(grid, dragData, DragDropEffects.Copy);
                    adornerLayer.Remove(adorner);
                    adornerLayer = null;
                }
                catch
                {

                }
            }
        }
Esempio n. 5
0
 public AdornerDecorator()
 {
     AdornerLayer = new AdornerLayer();
     ((ISetLogicalParent)AdornerLayer).SetParent(this);
     AdornerLayer.ZIndex = int.MaxValue;
     VisualChildren.Add(AdornerLayer);
 }
Esempio n. 6
0
        // Handler for element selection on the canvas providing resizing adorner
        void myCanvas_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            // Remove selection on clicking anywhere the window
            if (selected)
            {
                selected = false;
                if (selectedElement != null)
                {
                    // Remove the adorner from the selected element
                    aLayer.Remove(aLayer.GetAdorners(selectedElement)[0]);
                    selectedElement = null;
                }
            }

            // If any element except canvas is clicked,
            // assign the selected element and add the adorner
            if (e.Source != myCanvas)
            {
                _isDown = true;
                _startPoint = e.GetPosition(myCanvas);

                selectedElement = e.Source as UIElement;

                _originalLeft = Canvas.GetLeft(selectedElement);
                _originalTop = Canvas.GetTop(selectedElement);

                aLayer = AdornerLayer.GetAdornerLayer(selectedElement);
                aLayer.Add(new ResizingAdorner(selectedElement));
                selected = true;
                e.Handled = true;
            }
        }
Esempio n. 7
0
 /// <summary>
 /// Initialize the dragging helper
 /// </summary>
 /// <param name="panel"></param>
 public DraggingWidgetHelper(Canvas panel)
 {
     Panel = panel;
     adornerLayer = AdornerLayer.GetAdornerLayer(panel);
     elements = new Dictionary<FrameworkElement, ResizingAdorner>();
     ElementsRightBottom = new Dictionary<FrameworkElement, Point>();
 }
Esempio n. 8
0
        private void WindowLoaded(object sender, RoutedEventArgs e)
        {
            adornerLayer = AdornerLayer.GetAdornerLayer(elementsGrid);

            foreach (Panel toAdorn in elementsGrid.Children)
                adornerLayer.Add(new ResizingAdorner(toAdorn.Children[0]));
        }
Esempio n. 9
0
 private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
 {
     canvas = this.GetVisualChild<Canvas>();
     adornerlayer = AdornerLayer.GetAdornerLayer(this);
     var designableDragAndResizeChrome = new DesignableResizeChrome(selection);
     selectionAdorner = new DesignableResizeAdorner(canvas, selection, designableDragAndResizeChrome);
 }
Esempio n. 10
0
 private static void ClearAdorner(AdornerLayer layer, LightBoxAdorner adorner)
 {
     // null条件演算子でいいかも。
     if (layer != null && adorner != null)
     {
         layer.Remove(adorner);
     }
 }
 public void Dispose()
 {
     if (layer != null)
     {
         layer.Remove(this);
         layer = null;
     }
 }
Esempio n. 12
0
        public DragAdorner(object data, DataTemplate dataTemplate, UIElement adornedElement, AdornerLayer adornerLayer)
            : base(adornedElement)
        {
            _adornerLayer = adornerLayer;
            _contentPresenter = new ContentPresenter() { Content = data, ContentTemplate = dataTemplate, Opacity = 0.75 };

            _adornerLayer.Add(this);
        }
    public ColumnReorderingDragSourceManager( UIElement draggedElement,
                              AdornerLayer adornerLayerInsideDragContainer,
                              UIElement dragContainer,
                              bool enableAutoScroll )
      : this( draggedElement, adornerLayerInsideDragContainer, dragContainer, enableAutoScroll, true )
    {

    }
Esempio n. 14
0
 public DraggedAdorner(AdornerLayer adornerLayer, UIElement uiElement, DataTemplate dragDropTemplate)
     : base(uiElement)
 {
     this.contentPresenter = new ContentPresenter();
     this.contentPresenter.ContentTemplate = dragDropTemplate;
     this.adornerLayer = adornerLayer;
     this.adornerLayer.Add(this);
 }
Esempio n. 15
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DADAdorner"/> class.
        /// </summary>
        /// <param name="data">
        /// Dragged control UiElement
        /// </param>
        /// <param name="adornedElement">
        /// Background of dragged control
        /// </param>
        /// <param name="adoLayer">
        /// Layer for adorner object
        /// </param>
        public DADAdorner(UIElement data, UIElement adornedElement, AdornerLayer adoLayer)
            : base(adornedElement)
        {
            this.adoLayer = adoLayer;
            this.contentPresenter = new ContentPresenter { Content = data };

            this.adoLayer.Add(this);
        }
 public ColumnReorderingDragSourceManager( UIElement draggedElement,
                                                   AdornerLayer adornerLayerInsideDragContainer,
                                                   UIElement dragContainer,
                                                   bool enableAutoScroll,
                                                   bool showDraggedElementGhost )
   : base( draggedElement, adornerLayerInsideDragContainer, dragContainer, enableAutoScroll, showDraggedElementGhost )
 {
 }
Esempio n. 17
0
		public DropPreviewAdorner(object feedbackUI, UIElement adornedElt, AdornerLayer layer)
			: base(adornedElt)
        {
			Layer = layer;

			presenter = new ContentPresenter();
			presenter.Content = feedbackUI;
			presenter.IsHitTestVisible = false;
        }
Esempio n. 18
0
        private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            myAdornerLayer = AdornerLayer.GetAdornerLayer(win);
            myAdornerLayer.Add(new SimpleCircleAdorner(win));

            //myAdornerLayer = AdornerLayer.GetAdornerLayer(pnl);
            //foreach (UIElement toAdorn in pnl.Children)
            //    myAdornerLayer.Add(new SimpleCircleAdorner(toAdorn));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="TextBoxVisibleWhiteSpaceDecorator"/> class.
        /// </summary>
        public TextBoxVisibleWhiteSpaceDecorator()
        {
            Loaded += Self_Loaded;

            AddLogicalChild(_adornerDecorator);
            AddVisualChild(_adornerDecorator);

            _adornerLayer = _adornerDecorator.AdornerLayer;
        }
Esempio n. 20
0
 public void ClearSearchHelper()
 {
     if(al==null) al = AdornerLayer.GetAdornerLayer(editor); ;
     foreach (SelectionHighlightAdorner sha in selection_adoner)
     {
         al.Remove(sha);
     }
     selection_adoner.Clear();
     al.Update();
 }
Esempio n. 21
0
 public DraggedAdorner(object dragDropData, DataTemplate dragDropTemplate, UIElement adornedElement, AdornerLayer adornerLayer)
     : base(adornedElement)
 {
     this.adornerLayer = adornerLayer;
     this.contentPresenter = new ContentPresenter();
     this.contentPresenter.Content = dragDropData;
     this.contentPresenter.ContentTemplate = dragDropTemplate;
     this.contentPresenter.Opacity = 0.7;
     this.adornerLayer.Add(this);
 }
Esempio n. 22
0
 public DragSourceManager(
   UIElement draggedElement,
   AdornerLayer adornerLayerInsideDragContainer,
   UIElement dragContainer )
   : this( draggedElement,
           adornerLayerInsideDragContainer,
           dragContainer,
           true )
 {
 }
        protected ControlHostAdornerBase(UIElement adornedElement)
            : base(adornedElement)
        {
            _adornerLayer = AdornerLayer.GetAdornerLayer(adornedElement);
            Host = new Grid();

            if (AdornerLayer != null) {
                AdornerLayer.Add(this);
            }
        }
Esempio n. 24
0
        public PostionAdorner(UIElement adornedElement, AdornerLayer adornerLayer, DataTemplate dataTemplate)
            : base(adornedElement)
        {
            _adornerLayer = adornerLayer;
            _contentPresenter = new ContentPresenter();
            _contentPresenter.ContentTemplate = dataTemplate;

            //加入层中
            _adornerLayer.Add(this);
        }
        private void Window_Loaded(object sender, RoutedEventArgs e) {
            aLayer = AdornerLayer.GetAdornerLayer(textBox1);
            aLayer.Add(new ScaleAdorner(textBox1));
            //this.MouseLeftButtonDown += new MouseButtonEventHandler(Window1_MouseLeftButtonDown);
            //this.MouseLeftButtonUp += new MouseButtonEventHandler(DragFinishedMouseHandler);
            //this.MouseMove += new MouseEventHandler(Window1_MouseMove);
            //this.MouseLeave += new MouseEventHandler(Window1_MouseLeave);

            //myCanvas.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(myCanvas_PreviewMouseLeftButtonDown);
            //myCanvas.PreviewMouseLeftButtonUp += new MouseButtonEventHandler(DragFinishedMouseHandler);
        }
Esempio n. 26
0
 public HighLight_Adorner(UIElement adornedElement,
     Point startPosition, Size size,double opacity,
     AdornerLayer adornerLayer)
     : base(adornedElement)
 {
     this.opacity = opacity;
     this.size = size;
     this.adornerLayer = adornerLayer;
     adornerLayer.Add(this);
     this.position = startPosition;
 }
Esempio n. 27
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DragAdorner"/> class.
        /// </summary>
        /// <param name="data">The data that's being dragged.</param>
        /// <param name="dataTemplate">The data template to show while dragging.</param>
        /// <param name="adornedElement">The adorned element.</param>
        /// <param name="adornerLayer">The adorner layer.</param>
        public DragAdorner(object data, DataTemplate dataTemplate, UIElement adornedElement, AdornerLayer adornerLayer)
            : base(adornedElement)
        {
            Argument.IsNotNull("data", data);
            Argument.IsNotNull("adornerLayer", adornerLayer);

            _myAdornerLayer = adornerLayer;
            _myContentPresenter = new ContentPresenter { Content = data, ContentTemplate = dataTemplate, Opacity = 0.75 };

            _myAdornerLayer.Add(this);
        }
        private void SimDoubleClick(object sender, MouseButtonEventArgs e) {
            bool canDrawOutPlug = BackPanelUtil.SimDoubleClick(sender, e);
            if (canDrawOutPlug) {
                SocketAttatch.SetPlugOut(this, 1);
            } else {
                PlugInfoAdorner adorner = new PlugInfoAdorner(this);
                mAdornerLayer = AdornerLayer.GetAdornerLayer(this);
                mAdornerLayer.Add(adorner);

               // mAdornerLayer.Remove(adorner);
               // mAdornerLayer = null;
            }
        }
        public void Update(DropType dropType)
        {
            if (_layer == null)
            {
                _layer = AdornerLayer.GetAdornerLayer(AdornedElement);
                _layer.Add(this);
            }

            _parentAdorner?.Remove();
            _dropType = dropType;
            _layer.Update(AdornedElement);
            Visibility = Visibility.Visible;
        }
Esempio n. 30
0
 public void AddImageResizers(RichTextBox editor)
 {
     var images = GetVisuals(editor).OfType<Image>();
     al = AdornerLayer.GetAdornerLayer(editor);
     foreach (var image in images)
     {
         current = new ResizingAdorner(new ResizingAdorner(image));
         //ResizingAdorner ral = new ResizingAdorner(image);
         al.Add(current);
         al.Update();
         //LIBTODO:
     }
 }
Esempio n. 31
0
        private void lvUsersColumnHeader_Click(object sender, RoutedEventArgs e)
        {
            GridViewColumnHeader column = (sender as GridViewColumnHeader);
            string sortBy = column.Tag.ToString();

            if (listViewSortCol != null)
            {
                AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner);
                uxContactList.Items.SortDescriptions.Clear();
            }

            ListSortDirection newDir = ListSortDirection.Ascending;

            if (listViewSortCol == column && listViewSortAdorner.Direction == newDir)
            {
                newDir = ListSortDirection.Descending;
            }

            listViewSortCol     = column;
            listViewSortAdorner = new SortAdorner(listViewSortCol, newDir);
            AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner);
            uxContactList.Items.SortDescriptions.Add(new SortDescription(sortBy, newDir));
        }
Esempio n. 32
0
        private static void OnIsInEditModePropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            var textBlock = obj as TextBlock;

            if (textBlock == null)
            {
                throw new ArgumentException("IsInEditMode property can only be set on TextBlock");
            }

            //Get the adorner layer of the uielement (here TextBlock)
            var layer = AdornerLayer.GetAdornerLayer(textBlock);

            //If the IsInEditMode set to true means the user has enabled the edit mode then
            //add the adorner to the adorner layer of the TextBlock.
            if (layer != null)
            {
                if ((bool)e.NewValue)
                {
                    layer.Add(new EditableTextBlockAdorner(textBlock));
                }
                else if ((bool)e.OldValue)
                {
                    var adorner = GetAdorner(textBlock);
                    if (adorner != null)
                    {
                        layer.Remove(adorner);
                    }

                    // Update the textblock's text binding.
                    var expression = textBlock.GetBindingExpression(TextBlock.TextProperty);
                    if (null != expression)
                    {
                        expression.UpdateTarget();
                    }
                }
            }
        }
Esempio n. 33
0
        public override void Activate()
        {
            _poly = AdornedElement as Polyline;
            if (_poly == null)
            {
                throw new ArgumentException();
            }

            foreach (var p in _poly.Points)
            {
                var pd = new PointDragThumb(_view, AdornedElement as FrameworkElement);
                pd.DragStarted += PointDragStarted;
                pd.DragDelta   += PointDragDelta;
                pd.PreviewMouseLeftButtonUp += OnPreviewMouseLeftButtonUp;
                visualChildren.Add(pd);
            }

            for (int i = 0; i < _poly.Points.Count; i++)
            {
                var m = _poly.GeometryTransform.Value;

                var p = m.Transform(_poly.Points[i]);
                p = _poly.TranslatePoint(p, _view.MainPanel);
                _poly.Points[i] = p;
            }
            _poly.Stretch = Stretch.None;
            EditorHelper.SetDependencyProperty(_poly, Canvas.LeftProperty, DependencyProperty.UnsetValue);
            EditorHelper.SetDependencyProperty(_poly, Canvas.TopProperty, DependencyProperty.UnsetValue);
            EditorHelper.SetDependencyProperty(_poly, FrameworkElement.WidthProperty, DependencyProperty.UnsetValue);
            EditorHelper.SetDependencyProperty(_poly, FrameworkElement.HeightProperty, DependencyProperty.UnsetValue);

            _poly.RenderTransform = null;
            AdornerLayer.GetAdornerLayer(AdornedElement).PreviewMouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(PolylineEditManipulantor_PreviewMouseLeftButtonDown);

            _poly.UpdateLayout();
            base.Activate();
        }
Esempio n. 34
0
        /// <summary>
        /// Sorts the grid view column
        /// </summary>
        /// <param name="column"></param>
        private void SetSort(GridViewColumnHeader column)
        {
            try
            {
                if (column != null)
                {
                    String field = column.Tag as String;

                    // Clear the previous data.
                    if (currentSortCol != null)
                    {
                        AdornerLayer.GetAdornerLayer(currentSortCol).Remove(currentAdorner);
                        ReminderList.Items.SortDescriptions.Clear();
                    }

                    ListSortDirection newDir = ListSortDirection.Ascending;
                    if (currentSortCol == column && currentAdorner.Direction == newDir)
                    {
                        newDir = ListSortDirection.Descending;
                    }

                    currentSortCol = column;
                    currentAdorner = new SortAdorner(currentSortCol, newDir);
                    ReminderList.Items.SortDescriptions.Add(new SortDescription(field, newDir));

                    // Check to see if the adorner
                    var Layer = AdornerLayer.GetAdornerLayer(currentSortCol);
                    if (Layer != null)
                    {
                        Layer.Add(currentAdorner);
                    }
                }
            }
            catch (Exception)
            {
            }
        }
        private static void OnListViewHeaderClick(object sender, RoutedEventArgs e)
        {
            ListView             listView = e.Source as ListView;
            GridViewColumnHeader header   = e.OriginalSource as GridViewColumnHeader;
            SortInfo             sortInfo = listView.GetValue(SortInfoProperty.DependencyProperty) as SortInfo;

            if (sortInfo != null)
            {
                AdornerLayer.GetAdornerLayer(sortInfo.LastSortColumn).Remove(sortInfo.CurrentAdorner);
                listView.Items.SortDescriptions.Clear();
            }
            else
            {
                sortInfo = new SortInfo();
            }

            if (sortInfo.LastSortColumn == header)
            {
                (sortInfo.CurrentAdorner.Child as ListSortDecorator).SortDirection = (sortInfo.CurrentAdorner.Child as ListSortDecorator).SortDirection == ListSortDirection.Ascending ? ListSortDirection.Descending : ListSortDirection.Ascending;
            }
            else
            {
                sortInfo.CurrentAdorner = new UIElementAdorner(header, new ListSortDecorator());
            }

            sortInfo.LastSortColumn = header;
            listView.SetValue(SortInfoProperty, sortInfo);

            AdornerLayer.GetAdornerLayer(header).Add(sortInfo.CurrentAdorner);
            SortDescription sortDescriptioin = new SortDescription()
            {
                Direction    = (sortInfo.CurrentAdorner.Child as ListSortDecorator).SortDirection,
                PropertyName = header.Column.GetValue(SortFieldProperty) as string ?? header.Column.Header as string
            };

            listView.Items.SortDescriptions.Add(sortDescriptioin);
        }
Esempio n. 36
0
        private void UserControl_Loaded(object sender, System.Windows.RoutedEventArgs e)
        {
            try
            {
                imageViewXY.ViewingPlaneIndex = Xvue.MSOT.Services.Imaging.ImagingConstants.BufferIndexXY;
                imageViewXZ.ViewingPlaneIndex = Xvue.MSOT.Services.Imaging.ImagingConstants.BufferIndexXZ;
                imageViewYZ.ViewingPlaneIndex = Xvue.MSOT.Services.Imaging.ImagingConstants.BufferIndexYZ;

                imageViewXY.GridPercentageWidthStepSize = "GridStepSizePercentageXY";
                imageViewXZ.GridPercentageWidthStepSize = "GridStepSizePercentageXY";
                imageViewYZ.GridPercentageWidthStepSize = "GridStepSizePercentageZ";

                //Set different colors to Image borders that do not change.
                _3DRenderingControl.text3DControl.BorderXYColor = Colors.Blue;
                _3DRenderingControl.text3DControl.BorderYZColor = Colors.Green;
                _3DRenderingControl.text3DControl.BorderXZColor = Colors.Yellow;

                imageViewXY.zpImageBorder.BorderBrush = imageViewXY.imageCanvasBorder.BorderBrush = new SolidColorBrush(_3DRenderingControl.text3DControl.BorderXYColor);
                imageViewYZ.zpImageBorder.BorderBrush = imageViewYZ.imageCanvasBorder.BorderBrush = new SolidColorBrush(_3DRenderingControl.text3DControl.BorderYZColor);
                imageViewXZ.zpImageBorder.BorderBrush = imageViewXZ.imageCanvasBorder.BorderBrush = new SolidColorBrush(_3DRenderingControl.text3DControl.BorderXZColor);

                refreshCrossHairPARTColors();

                imageAdornerLayer = AdornerLayer.GetAdornerLayer(imageViewXY.backgroundImage);
                //AdornerLayer imageYZAdornerLayer = AdornerLayer.GetAdornerLayer(imageViewYZ.backgroundImage);
                //AdornerLayer imageXZAdornerLayer = AdornerLayer.GetAdornerLayer(imageViewXZ.backgroundImage);


                //imageAdornerLayer.Add(_roiAdorner);
                model3DPane = (base.DataContext as ViewModel3DPane);

                initUpdateCropLimitDetailsAdorner();
            }
            catch
            {
            }
        }
            private void OnListViewLoaded()
            {
                if (!_firstLoad)
                {
                    return;
                }

                var gridView = _listView.View as GridView;

                if (gridView == null)
                {
                    return;
                }

                foreach (var column in gridView.Columns)
                {
                    var header = column.Header as GridViewColumnHeader;
                    if (header != null)
                    {
                        // The "Loaded" event is called multiple times for UI elements inside
                        // a tab control. The first "Loaded" event is called when the control
                        // is not visible yet, meaning there are no adornment layers for the column
                        // headers of the listview. The next "Loaded" events are called when
                        // the containing TabItem is activated. We use the trick below
                        // to figure out when it is safe to add the "Sorter" adornment, but
                        // we must do it only once.
                        if (AdornerLayer.GetAdornerLayer(header) != null)
                        {
                            _firstLoad = false;
                            if (Wpf.ListViewSorter.GetInitialSortColumn(header))
                            {
                                HeaderClick(header);
                            }
                        }
                    }
                }
            }
        private void BeginDrag(MouseEventArgs e)
        {
            ListView     listView     = this.FileNameListView;
            ListViewItem listViewItem =
                FindAncestor <ListViewItem>((DependencyObject)e.OriginalSource);

            if (listViewItem == null)
            {
                return;
            }

            // get the data for the ListViewItem
            //object name = listView.ItemContainerGenerator.ItemFromContainer(listViewItem);
            int index = listView.ItemContainerGenerator.IndexFromContainer(listViewItem);

            //setup the drag adorner.
            InitialiseAdorner(listViewItem);

            //add handles to update the adorner.
            listView.PreviewDragOver += FileNameListView_DragOver;
            listView.DragLeave       += FileNameListView_DragLeave;
            listView.DragEnter       += FileNameListView_DragEnter;

            DataObject      data = new DataObject("myFormat", index);
            DragDropEffects de   = DragDrop.DoDragDrop(this.FileNameListView, data, DragDropEffects.Move);

            //cleanup
            listView.PreviewDragOver -= FileNameListView_DragOver;
            listView.DragLeave       -= FileNameListView_DragLeave;
            listView.DragEnter       -= FileNameListView_DragEnter;

            if (_adorner != null)
            {
                AdornerLayer.GetAdornerLayer(listView).Remove(_adorner);
                _adorner = null;
            }
        }
Esempio n. 39
0
        private async void PageShelf_Loaded(object sender, RoutedEventArgs e)
        {
            FingerprintManager.SetError += FingerprintManager_SetError;
            FingerprintManager.Touched  += FingerprintManager_Touched;

            App.CurrentApp.TagChanged += CurrentApp_TagChanged;

            RfidManager.ClearCache();
            // 注:将来也许可以通过(RFID 以外的)其他方式输入图书号码
            if (string.IsNullOrEmpty(RfidManager.Url))
            {
                this.SetGlobalError("rfid", "尚未配置 RFID 中心 URL");
            }

            _layer   = AdornerLayer.GetAdornerLayer(this.mainGrid);
            _adorner = new LayoutAdorner(this);

            {
                List <string> style = new List <string>();
                if (string.IsNullOrEmpty(App.RfidUrl) == false)
                {
                    style.Add("rfid");
                }
                if (string.IsNullOrEmpty(App.FingerprintUrl) == false)
                {
                    style.Add("fingerprint");
                }
                if (string.IsNullOrEmpty(App.FaceUrl) == false)
                {
                    style.Add("face");
                }
                this.patronControl.SetStartMessage(StringUtil.MakePathList(style));
            }


            await Fill(new CancellationToken());
        }
Esempio n. 40
0
        private void CreateAndAttachBackstageAdorner()
        {
            if (this.adorner != null)
            {
                return;
            }

            if (DesignerProperties.GetIsInDesignMode(this))
            {
                // TODO: in design mode it is required to use design time adorner
                var topLevelElement = (FrameworkElement)VisualTreeHelper.GetParent(this);
                var topOffset       = this.TranslatePoint(new Point(0, this.ActualHeight), topLevelElement).Y;
                this.adorner = new BackstageAdorner(topLevelElement, this.Content, topOffset);
            }
            else
            {
                var mainWindow = Window.GetWindow(this);
                if (mainWindow == null)
                {
                    return;
                }

                var topLevelElement = (FrameworkElement)mainWindow.Content;
                if (topLevelElement == null)
                {
                    return;
                }

                var topOffset = this.TranslatePoint(new Point(0, this.ActualHeight), topLevelElement).Y;
                this.adorner = new BackstageAdorner(topLevelElement, this.Content, topOffset);
            }

            var layer = AdornerLayer.GetAdornerLayer(this);

            layer.Add(this.adorner);
        }
Esempio n. 41
0
        private static void OnShowContextPanelChanged(DependencyObject d,
                                                      DependencyPropertyChangedEventArgs args)
        {
            ItemSkimmingPanel skimmingPanel = d as ItemSkimmingPanel;

            if ((bool)args.NewValue)
            {
                AdornerLayer layer = AdornerLayer.GetAdornerLayer(skimmingPanel);
                skimmingPanel._contextAdorner = new SkimmingContextAdorner(skimmingPanel);

                layer.Add(skimmingPanel._contextAdorner);
                skimmingPanel._contextAdorner.SelectItem(skimmingPanel._selectedIndex,
                                                         skimmingPanel._previousIndex);
            }
            else
            {
                AdornerLayer layer = AdornerLayer.GetAdornerLayer(skimmingPanel);
                if (skimmingPanel._contextAdorner != null)
                {
                    layer.Remove(skimmingPanel._contextAdorner);
                }
                skimmingPanel._contextAdorner = null;
            }
        }
Esempio n. 42
0
        // Handler for element selection on the canvas providing resizing adorner
        private void myCanvas_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            // Remove selection on clicking anywhere the window
            if (selected)
            {
                selected   = false;
                _isDrawing = true;
                if (selectedElement != null)
                {
                    // Remove the adorner from the selected element
                    aLayer.Remove(aLayer.GetAdorners(selectedElement)[0]);
                    selectedElement = null;
                }
            }

            // If any element except canvas is clicked,
            // assign the selected element and add the adorner
            if (e.Source != canvas)
            {
                _isDown     = true;
                _isDrawing  = false;
                _startPoint = e.GetPosition(canvas);

                selectedElement = e.Source as UIElement;

                rect = e.Source as Rectangle;

                _originalLeft = Canvas.GetLeft(selectedElement);
                _originalTop  = Canvas.GetTop(selectedElement);

                aLayer = AdornerLayer.GetAdornerLayer(selectedElement);
                aLayer.Add(new HelperAdorner(selectedElement));
                selected  = true;
                e.Handled = true;
            }
        }
Esempio n. 43
0
        /// <summary>
        /// Attaches this adorner to the adorned element
        /// </summary>
        public void Attach()
        {
            if (this.attached)
            {
                return;
            }

            this.oneOfAssociatedElements.UpdateLayout();

            this.Log("Attach begin {0}", this.Visibility);

            if (this.oneOfAssociatedElements.IsLoaded == false)
            {
                // Delay attaching
                this.Log("Delaying attach");
                this.oneOfAssociatedElements.Loaded += this.OnDelayAttach;
                return;
            }

            this.adornerLayer = GetAdornerLayer(this.oneOfAssociatedElements);

            if (this.adornerLayer == null)
            {
                this.Log("No adorner layer found");
                return;
            }

            this.FilterKeyTips(string.Empty);

            // Show this adorner
            this.adornerLayer.Add(this);

            this.attached = true;

            this.Log("Attach end");
        }
        private void listBoxItem_PreviewMouseMove(object sender, MouseEventArgs e)
        {
            var lbi = sender as ListBoxItem;

            if (e.LeftButton == MouseButtonState.Pressed && dragGhost == null && dragItem == lbi)
            {
                var nowPos = e.GetPosition(lbi);
                if (Math.Abs(nowPos.X - dragStartPos.X) > SystemParameters.MinimumHorizontalDragDistance ||
                    Math.Abs(nowPos.Y - dragStartPos.Y) > SystemParameters.MinimumVerticalDragDistance)
                {
                    ItemList.AllowDrop = true;

                    var layer = AdornerLayer.GetAdornerLayer(ItemList);
                    dragGhost = new DragAdorner(ItemList, lbi, 0.5, dragStartPos);
                    layer.Add(dragGhost);
                    DragDrop.DoDragDrop(lbi, lbi, DragDropEffects.Move);
                    layer.Remove(dragGhost);
                    dragGhost = null;
                    dragItem  = null;

                    ItemList.AllowDrop = false;
                }
            }
        }
Esempio n. 45
0
        public static void sortColumn(object sender, ListView listViewControl)
        {
            try
            {
                GridViewColumnHeader column = (sender as GridViewColumnHeader);
                string sortBy = column.Tag.ToString();
                if (listViewSortCol != null)
                {
                    AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner);
                    listViewControl.Items.SortDescriptions.Clear();
                }

                ListSortDirection newDir = ListSortDirection.Ascending;
                if (listViewSortCol == column && listViewSortAdorner.Direction == newDir)
                {
                    newDir = ListSortDirection.Descending;
                }

                listViewSortCol     = column;
                listViewSortAdorner = new SortAdorner(listViewSortCol, newDir);
                AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner);
                listViewControl.Items.SortDescriptions.Add(new SortDescription(sortBy, newDir));
            }
            catch (Autodesk.Civil.CivilException ex)
            {
                GH.errorBox(ex.ToString());
            }
            catch (Autodesk.AutoCAD.Runtime.Exception ex)
            {
                GH.errorBox(ex.ToString());
            }
            catch (System.Exception ee)
            {
                GH.errorBox(ee.ToString());
            }
        }
Esempio n. 46
0
        private void AddCropToElement(FrameworkElement fel)
        {
            if (_felCur != null)
            {
                return;
            }
            var rcInterior = new Rect(
                0,
                0,
                fel.ActualWidth,
                fel.ActualHeight);
            var adornerLayer = AdornerLayer.GetAdornerLayer(fel);
            _clp = new CroppingAdorner(fel, rcInterior);
            _felCur = fel;
            var color = Colors.Black;
            color.A = 180;
            _clp.Fill = new SolidColorBrush(color);
            adornerLayer.Add(_clp);
            adornerLayer.UpdateLayout();

            var dx = 1d / _clp.ClippingRectangle.Width * _imageWidth;
            var dy = 1d / _clp.ClippingRectangle.Height * _imageHeight;
            _clp.SetClippingRectangle(new Rect(
                Configuration.Configuration.Instance.Settings.ClippingRectangle.X / dx,
                Configuration.Configuration.Instance.Settings.ClippingRectangle.Y / dy,
                Configuration.Configuration.Instance.Settings.ClippingRectangle.Width / dx,
                Configuration.Configuration.Instance.Settings.ClippingRectangle.Height / dy
                ));

            UpdateClippingRectangle();
            _clp.CropChanged += (sender, args) =>
            {
                UpdateClippingRectangle();
            };
            Image.SizeChanged += ImageSizeChanged;
        }
Esempio n. 47
0
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();
            TextBlock textBlock = GetTemplateChild("PART_DisplayTextBlockPart") as TextBlock;

            Debug.Assert(textBlock != null, "No TextBlock!");
            this.Focusable = false;
            _adorner       = new EditBoxAdorner(this, textBlock);

            RoutedEventHandler attachedHandler = null;

            attachedHandler = delegate
            {
                textBlock.Loaded -= attachedHandler;
                AdornerLayer layer = AdornerLayer.GetAdornerLayer(textBlock);
                if (layer != null)
                {
                    layer.Add(_adorner);
                }
            };


            textBlock.Loaded += attachedHandler;
        }
Esempio n. 48
0
        /// <summary>
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="element"></param>
        /// <returns></returns>
        public static T GetCurrentWindowAdorner <T>(this UIElement element)
        {
            var window = Window.GetWindow(element);

            if ((window != null) && window.Content is UIElement)
            {
                var adornerLayer = AdornerLayer.GetAdornerLayer(window.Content as UIElement);
                if (adornerLayer != null)
                {
                    var adorners = adornerLayer.GetAdorners(element);
                    if (adorners != null)
                    {
                        foreach (var adorner in adorners)
                        {
                            if (adorner is T)
                            {
                                return((T)(object)adorner);
                            }
                        }
                    }
                }
            }
            return(default(T));
        }
Esempio n. 49
0
        /// <summary>
        /// Обрабатывает движение мыши при множественном выделении элементов раскадровки
        /// </summary>
        /// <param name="eventArgs"></param>
        protected override void OnMouseMove(MouseEventArgs eventArgs)
        {
            base.OnMouseMove(eventArgs);

            if (eventArgs.LeftButton != MouseButtonState.Pressed)
            {
                DragStartPoint = null;
            }

            if (DragStartPoint.HasValue)
            {
                AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this);
                if (adornerLayer != null)
                {
                    MultipleSelectionAdorner adorner = new MultipleSelectionAdorner(this, DragStartPoint);
                    if (adorner != null)
                    {
                        adornerLayer.Add(adorner);
                    }
                }

                eventArgs.Handled = true;
            }
        }
Esempio n. 50
0
        private void GridViewColumnHeader_Click(object sender, RoutedEventArgs e)
        {
            var column         = sender as GridViewColumnHeader;
            var sort_by        = column.Tag.ToString();
            var listview_files = WindowUtils.FindParent <ListView>(column);

            if (this.listview_sort_column != null)
            {
                AdornerLayer.GetAdornerLayer(this.listview_sort_column).Remove(this.listview_sort_adorner);
                listview_files.Items.SortDescriptions.Clear();
            }

            ListSortDirection direction = ListSortDirection.Ascending;

            if (this.listview_sort_column == column && this.listview_sort_adorner.Direction == direction)
            {
                direction = ListSortDirection.Descending;
            }

            this.listview_sort_column  = column;
            this.listview_sort_adorner = new SortAdorner(this.listview_sort_column, direction);
            AdornerLayer.GetAdornerLayer(this.listview_sort_column).Add(this.listview_sort_adorner);
            listview_files.Items.SortDescriptions.Add(new SortDescription(sort_by, direction));
        }
Esempio n. 51
0
        private static PlaceholderAdorner GetAdorner(Control control)
        {
            var layer = AdornerLayer.GetAdornerLayer(control);

            if (layer != null)
            {
                var adorners = layer.GetAdorners(control);

                if (adorners != null)
                {
                    foreach (var adorner in adorners)
                    {
                        var placeholder = adorner as PlaceholderAdorner;

                        if (placeholder != null)
                        {
                            return(placeholder);
                        }
                    }
                }
            }

            return(null);
        }
Esempio n. 52
0
        /// <summary>
        /// Insert a Comment (Commented Assignment Only) for the
        /// current selection in the TextArea.
        /// </summary>
        private void OnAddCommentToSelection(object sender, RoutedEventArgs e)
        {
            try
            {
                if (this._textArea.Selection.IsEmpty)
                {
                    return;
                }

                TextPointer tp1   = this._textArea.Selection.Start;
                TextPointer tp2   = this._textArea.Selection.End;
                TextRange   range = new TextRange(tp1, tp2);
                range.ApplyPropertyValue(TextElement.BackgroundProperty, new SolidColorBrush(Color.FromArgb(80, 0, 255, 0)));

                ReportCommentAdorner comAd =
                    new ReportCommentAdorner(
                        this._textArea, tp1, tp2, this.CurrentOwnerName, this.CurrentOwnerId, new List <EjpLib.BaseClasses.ejpCACommentMessage>(),
                        EjpLib.Helpers.IdManipulation.GetNewGuid());

                AdornerLayer commentAdornerLayer = AdornerLayer.GetAdornerLayer(this._textArea);
                comAd.OnCommentAdornerDeleted += new CommentAdornerDeleted(OnCommentAdornerDeleted);
                commentAdornerLayer.Add(comAd);
                this._commentAdorners.Add(comAd);
            }
            catch (Exception ex)
            {
                SiliconStudio.DebugManagers.DebugReporter.Report(
                    SiliconStudio.DebugManagers.MessageType.Error,
                    "EjpControls - Report Editor",
                    "Failed to Add Comment to Selection" +
                    "\nParent Study ID: " + this.ParentStudyId.ToString() +
                    "\nReport ID: " + this._reportObject.Id.ToString() +
                    "\nError: " + ex.Message);
                throw;
            }
        }
Esempio n. 53
0
        public void lvColumnHeader_Click(object sender, RoutedEventArgs e)
        {
            GridViewColumnHeader column = (e.OriginalSource as GridViewColumnHeader);
            string sortBy = column.Tag.ToString();

            if (listViewSortCol != null)
            {
                AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner);
                (sender as ListView).Items.SortDescriptions.Clear();
            }

            ListSortDirection newDir = ListSortDirection.Ascending;

            if (listViewSortCol == column && listViewSortAdorner.Direction == newDir)
            {
                newDir = ListSortDirection.Descending;
            }

            listViewSortCol     = column;
            listViewSortAdorner = new SortAdorner(listViewSortCol, newDir);
            AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner);
            (sender as ListView).Items.SortDescriptions.Add(new SortDescription(sortBy, newDir));
            e.Handled = true;
        }
Esempio n. 54
0
        /// <summary>
        /// 把当前层加入到内部层中。
        /// </summary>
        private void MoveToInnerLayer(AdornerLayer targetLayer)
        {
            var layerParent = VisualTreeHelper.GetParent(targetLayer) as Visual;
            var root        = VisualTreeHelper.GetChild(layerParent, 0) as UIElement;

            if (root != null)
            {
                if (!_removed)
                {
                    _removed = true;
                    _scope.GotKeyboardFocus -= scope_GotKeyboardFocus;

                    //必须重新构造一个,否则由于 AdornedElement 不在 root 内,造成无法添加到 targetLayer 中。
                    var tracker = new FocusTrackerAdorner(root, targetLayer, _scope, _scopeLayer);
                    targetLayer.Add(tracker);

                    //设置初始的位置。
                    var startFrom = _focusedElement.TransformToAncestor(root).Transform(new Point());
                    tracker._tracker.MoveTo(new Rect(startFrom, _focusedElement.RenderSize), false);

                    _layer.Remove(this);
                }
            }
        }
        /// <summary>
        /// Internal method to hide the adorner.
        /// </summary>
        private void HideAdornerInternal()
        {
            if (this.adornerLayer == null || this.adorner == null)
            {
                // Not already adorned.
                return;
            }

            //
            // Stop the timer that might be about to fade out the adorner.
            //
            closeAdornerTimer.Stop();
            this.adornerLayer.Remove(this.adorner);
            this.adorner.DisconnectChild();

            this.adorner      = null;
            this.adornerLayer = null;

            //
            // Ensure that the state of the adorned control reflects that
            // the the adorner is no longer.
            //
            this.adornerShowState = AdornerShowState.Hidden;
        }
        private void ConstructGhostAdornerWithHandlers(Point initialPoint, FrameworkElement adornedElement, TouchEventArgs e)
        {
            AdornerLayer  adornerLayer = AdornerLayer.GetAdornerLayer(adornedElement);
            GalaxyAdorner adorner      = new GalaxyAdorner(adornedElement, initialPoint);

            if (adornerLayer != null && adorner != null)
            {
                adornerLayer.Add(adorner);
            }
            else
            {
                return;
            }

            EventHandler <TouchEventArgs> moveHandler        = new EventHandler <TouchEventArgs>((s, evt) => DragDropContainer_TouchMove(s, e, adorner));
            EventHandler <TouchEventArgs> upHandler          = new EventHandler <TouchEventArgs>((s, evt) => DragDropContainer_TouchUp(s, evt, adorner, adornedElement));
            EventHandler <TouchEventArgs> unsubscribeHandler = new EventHandler <TouchEventArgs>((s, evt) => DragDropContainer_Unsubscribe(s, e, moveHandler, upHandler, adorner));

            adorner.UnsubscribeEvent = unsubscribeHandler;

            DragOverlay.TouchMove += moveHandler;
            DragOverlay.TouchUp   += upHandler;
            DragOverlay.TouchUp   += unsubscribeHandler;
        }
        public DataAssistAdorner(UIElement adornedElement, AdornerLayer adornerLayer, DataTemplate contentTemplate, object tooltip, string dataAssistText)
            : base(adornedElement, adornerLayer)
        {
            this.AdornedControlType = adornedElement.GetType().ToString();
            this.ToolTip            = tooltip;
            this.DataAssistText     = dataAssistText;
            this.DataContext        = this;

            if (this.AdornedElement != null)
            {
                Binding b3 = new Binding("IsVisible");
                b3.Source    = adornedElement;
                b3.Converter = new BoolToVisibilityConverter();
                this.SetBinding(Adorner.VisibilityProperty, b3);

                Binding b1 = new Binding("ActualHeight");
                b1.Source = adornedElement;
                this.contentHost.SetBinding(Grid.HeightProperty, b1);
                Binding b2 = new Binding("ActualWidth");
                b2.Source = adornedElement;
                this.contentHost.SetBinding(Grid.WidthProperty, b2);

                this.contentPresenter                 = new ContentPresenter();
                this.contentPresenter.Content         = this;
                this.contentPresenter.ContentTemplate = contentTemplate;

                this.contentHost.Children.Add(this.contentPresenter);
            }
            this.AddHandler(Button.ClickEvent, new RoutedEventHandler(OnButtonCopyToClipboard));
            base.AddVisualChild(this.contentHost);

            if (this._adornerLayer != null)
            {
                this._adornerLayer.Add(this);
            }
        }
Esempio n. 58
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            base.OnMouseMove(e);

            if (e.LeftButton != MouseButtonState.Pressed)
            {
                dragStartPoint = null;
            }

            if (dragStartPoint.HasValue)
            {
                AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this);
                if (adornerLayer != null)
                {
                    RubberbandAdorner adorner = new RubberbandAdorner(this, dragStartPoint);
                    if (adorner != null)
                    {
                        adornerLayer.Add(adorner);
                    }
                }

                e.Handled = true;
            }
        }
Esempio n. 59
0
        private void AddErrorAdorner()
        {
            if (AssociatedObject is null)
            {
                return;
            }

            var adornerLayer = AdornerLayer.GetAdornerLayer(AssociatedObject);

            if (adornerLayer is null)
            {
                return;
            }

            var adorner = adornerLayer.GetAdorners(AssociatedObject)
                          ?.OfType <ErrorAdorner>()
                          .FirstOrDefault();

            if (adorner is null)
            {
                adorner = new ErrorAdorner(AssociatedObject);
                adornerLayer.Add(adorner);
            }
        }
Esempio n. 60
0
        /// <summary>
        /// Internal method to show the adorner.
        /// </summary>
        private void ShowAdornerInternal()
        {
            if (_adorner != null)
            {
                // Already adorned.
                return;
            }

            if (AdornerContent != null)
            {
                if (_adornerLayer == null)
                {
                    _adornerLayer = AdornerLayer.GetAdornerLayer(this);
                }

                if (_adornerLayer != null)
                {
                    _adorner = new FrameworkElementAdorner(AdornerContent, this, HorizontalAdornerPlacement, VerticalAdornerPlacement, AdornerOffsetX, AdornerOffsetY);
                    _adornerLayer.Add(_adorner);

                    UpdateAdornerDataContext();
                }
            }
        }