Ejemplo n.º 1
0
 /// <summary>
 /// Fires the ItemMouseMove Event, which handles the mouse moving over one of the legend items.
 /// </summary>
 /// <param name="e">An ItemMouseEventArgs</param>
 protected virtual void OnItemMouseMove(ItemMouseEventArgs e)
 {
     if (ItemMouseMove != null)
     {
         ItemMouseMove(this, e);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Connect edge.
        /// </summary>
        public override bool OnMouseClick(VCItem sender, ItemMouseEventArgs e)
        {
            var edge    = edgeItem.Edge;
            var railway = context.Railway;

            if ((railway == null) || (railway.ModuleConnections.Any(x => (x.EdgeA == edge) || (x.EdgeB == edge))))
            {
                return(base.OnMouseClick(sender, e));
            }

            if (context.SelectedEdge == null)
            {
                context.SelectedEdge = edge;
            }
            else if (context.SelectedEdge.Module != edge.Module)
            {
                var connection = railway.ModuleConnections.AddNew();
                connection.EdgeA     = context.SelectedEdge;
                connection.EdgeB     = edge;
                context.SelectedEdge = null;
                edgeItem.Invalidate();
                context.Reload();
            }
            return(true);
        }
Ejemplo n.º 3
0
 private void c1LinearGauge1_ItemMouseUp(object sender, ItemMouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         _pressedButton = 0;
     }
 }
Ejemplo n.º 4
0
        private void DoItemMouseDown(ItemMouseEventArgs e)
        {
            Point loc = new Point(e.X + ControlRectangle.X, e.Location.Y + ControlRectangle.Top);

            // Toggle expansion
            if (e.ItemBox.ExpandBox.Contains(loc))
            {
                e.ItemBox.Item.IsExpanded = !e.ItemBox.Item.IsExpanded;
                if (ExpandBoxMouseDown != null)
                {
                    ExpandBoxMouseDown(this, e);
                }

                ResetLegend();
                return;
            }

            if (e.ItemBox.Item.IsSelected)
            {
                // if we are already selected, prepare to edit in textbox
                _previousMouseDown = e.ItemBox;

                // Start dragging
                if (e.Button == MouseButtons.Left)
                {
                    _isDragging = true;
                    ILegendItem li = e.ItemBox.Item;
                    while (li != null && li as ILayer == null)
                    {
                        li = li.GetParentItem();
                    }
                    ILayer lyr = li as ILayer;
                    if (lyr != null)
                    {
                        _dragItem = BoxFromItem(lyr);
                    }
                    else
                    {
                        _isDragging = false;
                    }
                }
            }
            else
            {
                // Check for textbox clicking
                if (e.ItemBox.Textbox.Contains(loc))
                {
                    if (ModifierKeys != Keys.Shift)
                    {
                        ClearSelection();
                    }
                    e.ItemBox.Item.IsSelected = true;

                    //_selection.Add(e.ItemBox);
                    //IsInitialized = false;
                    //Invalidate();
                    //return;
                }
            }
        }
Ejemplo n.º 5
0
 /// <summary>
 /// The coordinates are in legend coordinates, but a LegendBox is provided to define the
 /// coordinates of the specified object.
 /// </summary>
 /// <param name="e">An ItemMouseEventArgs</param>
 protected virtual void OnItemMouseDown(ItemMouseEventArgs e)
 {
     if (ItemMouseDown != null)
     {
         ItemMouseDown(this, e);
     }
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Checks for checkbox changes and fires the ItemMouseUp event.
 /// </summary>
 /// <param name="e"></param>
 protected virtual void OnItemMouseUp(ItemMouseEventArgs e)
 {
     if (ItemMouseUp != null)
     {
         ItemMouseUp(this, e);
     }
 }
Ejemplo n.º 7
0
 public override bool OnMouseMove(VCItem sender, ItemMouseEventArgs e)
 {
     if (context.SelectedEdge != null)
     {
         e.Cursor = Cursors.Cross;
     }
     return(base.OnMouseMove(sender, e));
 }
Ejemplo n.º 8
0
 private void c1RadialGauge1_ItemMouseMove(object sender, ItemMouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         C1GaugePointer p = e.Gauge.Pointer;
         p.Value = p.GetValueAt(e.X, e.Y);
     }
 }
Ejemplo n.º 9
0
 private void HandleNameColumnMouseDown(object sender, ItemMouseEventArgs e)
 {
     RSSDiscover.RSSDiscoverResult result = (RSSDiscover.RSSDiscoverResult)e.Item;
     if (result.ExistingFeed != null)
     {
         e.Handled = true;
         FindForm().Close();
         Core.UIManager.DisplayResourceInContext(result.ExistingFeed);
     }
 }
Ejemplo n.º 10
0
        private void y2bList_MouseUp(object sender, MouseEventArgs e)
        {
            y2bList.Visible = false;
            ItemMouseEventArgs me = (ItemMouseEventArgs)e;

            this.videoId = me.Url;
            string videoUrl = Utils.VIDEO_URL.Replace("%VIDEO_ID%", this.videoId);

            loadUrl(videoUrl);
        }
Ejemplo n.º 11
0
 /// <summary>
 /// Mouse is double clicked on this item
 /// </summary>
 /// <returns>True if the event was handled, false otherwise.</returns>
 public override bool OnMouseDoubleClick(VCItem sender, ItemMouseEventArgs e)
 {
     if (state.Direction.Requested == SwitchDirection.Straight)
     {
         state.Direction.Requested = SwitchDirection.Off;
     }
     else
     {
         state.Direction.Requested = SwitchDirection.Straight;
     }
     return(true);
 }
 public override bool OnMouseUp(VCItem sender, ItemMouseEventArgs e)
 {
     if ((e.Button == System.Windows.Forms.MouseButtons.Right) && (e.Clicks == 1))
     {
         // Show context menu
         if (sender is IEntityItem)
         {
             ((IEntityItem)sender).ShowContextMenu(e.Location);
         }
     }
     return(base.OnMouseUp(sender, e));
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Mouse is double clicked on this item
 /// </summary>
 /// <returns>True if the event was handled, false otherwise.</returns>
 public override bool OnMouseDoubleClick(VCItem sender, ItemMouseEventArgs e)
 {
     if (state.Position.Requested < state.LastPosition)
     {
         state.Position.Requested++;
     }
     else
     {
         state.Position.Requested = state.FirstPosition;
     }
     return(true);
 }
Ejemplo n.º 14
0
        /// <summary>
        /// Mouse is clicked on this item
        /// </summary>
        /// <returns>True if the event was handled, false otherwise.</returns>
        public override bool OnMouseClick(VCItem sender, ItemMouseEventArgs e)
        {
            Debug.WriteLine("Click on " + state.Description);
            var virtualMode = state.RailwayState.VirtualMode;

            if (virtualMode.Enabled)
            {
                virtualMode.EntityClick(state);
                return(true);
            }
            return(base.OnMouseClick(sender, e));
        }
Ejemplo n.º 15
0
 private void c1RadialGauge1_ItemMouseMove(object sender, ItemMouseEventArgs e)
 {
     if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
     {
         C1GaugeEllipse el = e.Item as C1GaugeEllipse;
         if (el != null && el.Name == "back")
         {
             C1GaugePointer p = e.Gauge.Pointer;
             p.UpdateValue(p.GetValueAt(e.X, e.Y), 2.5);
         }
     }
 }
Ejemplo n.º 16
0
 public override bool OnMouseClick(VCItem sender, ItemMouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         item.RaiseClick();
         return(true);
     }
     else
     {
         return(base.OnMouseClick(sender, e));
     }
 }
Ejemplo n.º 17
0
        private void c1LinearGauge1_ItemMouseDown(object sender, ItemMouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                C1GaugePointer pointer = c1LinearGauge1.Pointer;
                if (e.Item is C1GaugeRange)
                {
                    pointer.Value = pointer.GetValueAt(e.X, e.Y);
                }
                else if (e.Item is C1GaugeSingleMark)
                {
                    _pressedTick = DateTime.UtcNow.Ticks + 3000000;
                    switch (((C1GaugeSingleMark)e.Item).Name)
                    {
                    case "minusButton":
                        if (pointer.Value > 0.0)
                        {
                            pointer.IncValue(-1, 5.0);
                        }
                        else
                        {
                            pointer.Value = double.NaN;
                        }
                        _pressedButton = 1;
                        break;

                    case "plusButton":
                        if (!double.IsNaN(pointer.Value))
                        {
                            pointer.IncValue(1, 5.0);
                        }
                        else
                        {
                            pointer.Value = 0.0;
                        }
                        _pressedButton = 2;
                        break;

                    case "offMark":
                        pointer.Value = double.NaN;
                        break;
                    }
                }
            }
        }
Ejemplo n.º 18
0
        /// <summary>
        /// Handles the case where the mouse down occurs.
        /// </summary>
        /// <param name="e">A MouseEventArgs</param>
        protected override void OnMouseDown(MouseEventArgs e)
        {
            HideEditBox();
            if (_legendBoxes == null || _legendBoxes.Count == 0)
            {
                return;
            }
            Point loc = new Point(e.X + ControlRectangle.X, e.Location.Y + ControlRectangle.Top);

            foreach (LegendBox box in _legendBoxes)
            {
                if (box.Bounds.Contains(loc))
                {
                    ItemMouseEventArgs args = new ItemMouseEventArgs(e, box);
                    DoItemMouseDown(args);
                }
            }
            base.OnMouseDown(e);
        }
Ejemplo n.º 19
0
        private void OnMouseClick(object sender, ItemMouseEventArgs e)
        {
            IResource     res  = (IResource)e.Item;
            IResourceType type = Core.ResourceStore.ResourceTypes[res.Type];

            if (type.HasFlag(ResourceTypeFlags.CanBeUnread))
            {
                bool unreadState = res.HasProp(Core.Props.IsUnread);
                SetResourceUnreadState(res, unreadState);

                //  If there is a command to propagate the reading status over
                //  the whole thread (conversation) we need to set exactly the
                //  same flag on all resources, not just toggle their flags
                //  forward.
                if ((Control.ModifierKeys & Keys.Control) > 0)
                {
                    PropagateUnreadState2Thread(res, unreadState);
                }
                e.Handled = false;
            }
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Performs the default handling for mouse movememnt, and decides
        /// whether or not to fire an ItemMouseMove event.
        /// </summary>
        /// <param name="e">A MouseEventArgs</param>
        protected override void OnMouseMove(MouseEventArgs e)
        {
            if (_legendBoxes == null)
            {
                return;
            }
            bool      cursorHandled = false;
            LegendBox currentBox    = null;
            Point     loc           = new Point(e.X + ControlRectangle.X, e.Location.Y + ControlRectangle.Top);

            foreach (LegendBox box in _legendBoxes)
            {
                if (box.Bounds.Contains(loc))
                {
                    currentBox = box;
                    ItemMouseEventArgs args = new ItemMouseEventArgs(e, box);
                    DoItemMouseMove(args);
                }
            }
            if (_isDragging)
            {
                _dragTarget = null;
                if (currentBox != null)
                {
                    _dragTarget = currentBox;
                }
                if (ClientRectangle.Contains(e.Location))
                {
                    if (currentBox == null)
                    {
                        _dragTarget = BottomBox;
                    }
                }
                if (_previousLine.IsEmpty == false)
                {
                    Invalidate(_previousLine);
                }
                _previousLine = Rectangle.Empty;

                if (_dragTarget != null && _dragItem != null && _dragTarget != _dragItem)
                {
                    LegendBox boxOverLine;
                    int       left      = 0;
                    LegendBox container = BoxFromItem(_dragTarget.Item.GetValidContainerFor(_dragItem.Item));
                    if (container != null)
                    {
                        left = (container.Indent + 1) * _indentation;
                    }
                    if (_dragTarget.Item.CanReceiveItem(_dragItem.Item))
                    {
                        boxOverLine = _dragTarget;
                    }
                    else
                    {
                        boxOverLine = BoxFromItem(_dragTarget.Item.BottomMember());
                    }
                    if (boxOverLine == null)
                    {
                        _previousLine = Rectangle.Empty;
                        Cursor        = Cursors.No;
                        cursorHandled = true;
                    }
                    else
                    {
                        _previousLine = new Rectangle(left, boxOverLine.Bounds.Bottom, Width - left, 4);
                        Cursor        = Cursors.Hand;
                        cursorHandled = true;
                        Invalidate(_previousLine);
                    }
                }
                if (cursorHandled == false)
                {
                    Cursor        = Cursors.No;
                    cursorHandled = true;
                }
            }
            if (cursorHandled == false)
            {
                Cursor = Cursors.Arrow;
            }
            base.OnMouseMove(e);
        }
Ejemplo n.º 21
0
 public override bool OnMouseMove(VCItem sender, ItemMouseEventArgs e)
 {
     item.IsMouseOver = true;
     e.Cursor         = Cursors.Hand;
     return(true);
 }
Ejemplo n.º 22
0
            /// <summary>
            /// Mouse is double clicked on this item
            /// </summary>
            /// <param name="e"></param>
            /// <returns>True if the event was handled, false otherwise.</returns>
            public override bool OnMouseDoubleClick(Controls.VirtualCanvas.VCItem sender, ItemMouseEventArgs e)
            {
                var blockState = item.State;
                var loc        = blockState.LockedBy;

                if (loc != null)
                {
                    item.Context.SelectLoc(loc);
                    return(true);
                }
                return(base.OnMouseDoubleClick(sender, e));
            }
Ejemplo n.º 23
0
        /// <summary>
        /// Checks the Mouse Up event to see if it occurs inside a legend item.
        /// </summary>
        /// <param name="e"></param>
        protected override void OnMouseUp(MouseEventArgs e)
        {
            Point loc = new Point(e.X + ControlRectangle.X, e.Location.Y + ControlRectangle.Top);

            if (!_wasDoubleClick)
            {
                foreach (LegendBox box in _legendBoxes)
                {
                    if (!box.Bounds.Contains(loc))
                    {
                        continue;
                    }
                    ItemMouseEventArgs args = new ItemMouseEventArgs(e, box);
                    DoItemMouseUp(args);
                }
            }

            if (_isDragging && _dragItem != null)
            {
                if (_dragTarget != null && _dragTarget.Item != _dragItem.Item)
                {
                    ILegendItem potentialParent = _dragTarget.Item.GetValidContainerFor(_dragItem.Item);
                    if (potentialParent != null)
                    {
                        potentialParent.ParentMapFrame().SuspendEvents();

                        // The target must be a group, and the item must be a layer.
                        ILayer lyr = _dragItem.Item as ILayer;
                        if (lyr != null)
                        {
                            IGroup grp = _dragItem.Item.GetParentItem() as IGroup;
                            lyr.LockDispose();
                            //when original location is inside group, remove layer from the group.
                            if (grp != null)
                            {
                                grp.Remove(lyr);
                            }
                            int index = _dragTarget.Item.InsertIndex(_dragItem.Item);
                            if (index == -1)
                            {
                                index = 0;
                            }
                            grp = potentialParent as IGroup;
                            if (grp != null)
                            {
                                grp.Insert(index, lyr);
                                //when the target is a group, assign the parent item.
                                lyr.SetParentItem(grp);
                            }
                            lyr.UnlockDispose();
                        }
                        potentialParent.ParentMapFrame().ResumeEvents();
                        OnOrderChanged();
                        potentialParent.ParentMapFrame().Invalidate();
                    }
                }
                Cursor      = Cursors.Arrow;
                _isDragging = false;
                Invalidate();
            }
            _wasDoubleClick = false;

            base.OnMouseUp(e);
        }
Ejemplo n.º 24
0
        private void DoItemMouseUp(ItemMouseEventArgs e)
        {
            //get the selected item
            _selectedItem = e.ItemBox.Item;

            Point loc = new Point(e.X + ControlRectangle.X, e.Location.Y + ControlRectangle.Top);

            if (e.Button == MouseButtons.Left)
            {
                if (e.ItemBox.Item.LegendSymbolMode == SymbolMode.Checkbox)
                {
                    if (e.ItemBox.CheckBox.Contains(loc))
                    {
                        IRenderableLegendItem rendItem = e.ItemBox.Item as IRenderableLegendItem;
                        if (rendItem != null)
                        {
                            // force a re-draw in the case where we are talking about layers.
                            rendItem.IsVisible = !rendItem.IsVisible;
                        }
                        else
                        {
                            e.ItemBox.Item.Checked = !e.ItemBox.Item.Checked;
                        }
                        if (CheckBoxMouseUp != null)
                        {
                            CheckBoxMouseUp(this, e);
                        }
                        RefreshNodes();
                    }
                }
                if (e.ItemBox.Textbox.Contains(loc))
                {
                    if (e.ItemBox == _previousMouseDown)
                    {
                        _isDragging = false;
                        // Edit via text box
                        _editBox.Left         = e.ItemBox.Textbox.Left;
                        _editBox.Width        = e.ItemBox.Textbox.Width + 10;
                        _editBox.Top          = e.ItemBox.Bounds.Top;
                        _editBox.Height       = e.ItemBox.Bounds.Height;
                        _editBox.SelectedText = e.ItemBox.Item.LegendText;
                        _editBox.Font         = Font;
                        _editBox.Visible      = true;
                    }
                }
            }
            if (e.Button == MouseButtons.Right)
            {
                if (e.ItemBox.Item.ContextMenuItems == null)
                {
                    return;
                }

                //show nothing when right click on the symbol
                //var category = e.ItemBox.Item as Category;
                //if (category != null) return;

                //_contextMenu.MenuItems.Clear();
                ////items for map frame || symbol
                //var mapFrame = e.ItemBox.Item as Layer;
                //if (mapFrame == null)
                //{
                //    foreach (SymbologyMenuItem mi in e.ItemBox.Item.ContextMenuItems)
                //    {
                //        AddMenuItem(_contextMenu.MenuItems, mi);
                //    }
                //}

                if (_selectedItem is FeatureLayer)
                {
                    _contextMenu = ContextMenuService.CreateContextMenu(this, "/FrameWork/Legend/ContextMenu/FeatureLayer");
                }
                else if (_selectedItem is RasterLayer)
                {
                    _contextMenu = ContextMenuService.CreateContextMenu(this, "/FrameWork/Legend/ContextMenu/RasterLayer");
                }
                else if (_selectedItem is ImageLayer)
                {
                    _contextMenu = ContextMenuService.CreateContextMenu(this, "/FrameWork/Legend/ContextMenu/ImageLayer");
                }
                else if (_selectedItem is MapFrame)
                {
                    _contextMenu = ContextMenuService.CreateContextMenu(this, "/FrameWork/Legend/ContextMenu/MapFrame");
                }
                else
                {
                    _contextMenu = null;
                    return;
                }

                //if (_legendContextMenu == null)
                //{
                //    _legendContextMenu = new LegendContextMenu();
                //}
                //_legendContextMenu.OnSelectedItem(e.ItemBox.Item);

                //items for layer
                //var contextMenuItems = _contextMenu.MenuItems;
                //_legendContextMenu.AddLayerMenuItem(ref contextMenuItems);

                _contextMenu.Show(this, e.Location);
                _contextMenu.MenuItems.Clear();
            }
        }
Ejemplo n.º 25
0
 private void DoItemMouseMove(ItemMouseEventArgs e)
 {
     OnItemMouseMove(e);
 }
Ejemplo n.º 26
0
 public override bool OnMouseDown(VCItem sender, ItemMouseEventArgs e)
 {
     Debug.WriteLine("Down on " + state.Description);
     return(base.OnMouseDown(sender, e));
 }
Ejemplo n.º 27
0
 /// <summary>
 /// Mouse is clicked on this item
 /// </summary>
 /// <returns>True if the event was handled, false otherwise.</returns>
 public override bool OnMouseClick(VCItem sender, ItemMouseEventArgs e)
 {
     state.Active.Requested = !state.Active.Requested;
     return(true);
 }
Ejemplo n.º 28
0
 /// <summary>
 /// Mouse is clicked on this item
 /// </summary>
 /// <returns>True if the event was handled, false otherwise.</returns>
 public override bool OnMouseClick(VCItem sender, ItemMouseEventArgs e)
 {
     state.Color.Requested = state.GetNextColor(state.Color.Requested);
     return(true);
 }