Пример #1
0
 public override void MouseDrag (MouseEvent ev) 
 {
     if(active) 
     {
         Gdk.EventMotion motion = ev.GdkEvent as Gdk.EventMotion;
         View.ScrollCanvas((int)(last_point.X - motion.XRoot), (int)(last_point.Y - motion.YRoot));
         last_point = new PointD (motion.XRoot, motion.YRoot);
     }
 }
 public override void MouseMove(MouseEvent ev)
 {
     Widget widget = (Widget) ev.View;
     IFigure figure = ev.View.Drawing.FindFigure (ev.X, ev.Y);
     if (figure != null) {
         widget.GdkWindow.Cursor = CursorFactory.GetCursorFromType (Gdk.CursorType.Dot);
     }
     else {
         widget.GdkWindow.Cursor = CursorFactory.GetCursorFromType (Gdk.CursorType.Target);
     }
 }
 public override void InvokeEnd(MouseEvent ev)
 {
     base.InvokeEnd(ev);
     
     if (clicked) 
     {
         Experiment ownerExperiment = m_ownerConnection.Owner;
         ownerExperiment.RemoveConnection(m_ownerConnection.ExperimentNodeConnection);
     }
     
     clicked = false;
 }
 public override void InvokeStart(MouseEvent ev) 
 {
     m_connection = CreateConnection();
     m_connection.EndPoint = new PointD (ev.X, ev.Y);
     m_connection.StartPoint = new PointD (ev.X, ev.Y);
     m_connection.ConnectStart (Owner.ConnectorAt(ev.X, ev.Y));
     m_connection.UpdateConnection();
     ev.View.Drawing.Add(m_connection);
     ev.View.ClearSelection();
     ev.View.AddToSelection(m_connection);
     m_handle = ev.View.FindHandle(ev.X, ev.Y);
 }
 public override void InvokeEnd(MouseEvent ev) 
 {
     if (m_handle != null) {
         m_handle.InvokeEnd(ev);
     }
     
     if (m_connection.EndConnector == null) {
         m_connection.DisconnectStart ();
         m_connection.DisconnectEnd ();
         ev.View.Drawing.Remove(m_connection);
         ev.View.ClearSelection();
     }
 }
 public override void InvokeEnd (MouseEvent ev)
 {
     base.InvokeEnd (ev);
     
     if (clicked) 
     {
         IEditableExperiment experiment = m_ownerComponent.ExperimentNode.Owner as IEditableExperiment;
         if(experiment != null) 
         {
             experiment.RemoveVertex(m_ownerComponent.ExperimentNode);
         }
     }
     
     clicked = false;
 }
Пример #7
0
        public override void MouseDown(MouseEvent ev)
        {
            IDrawingView view = ev.View;
            LabelFigure label = ((AssociationFigure)Figure).FindLabel(ev.X, ev.Y);

            if (label != null && view.IsFigureSelected(Figure) ) {
                DelegateTool = new SimpleTextTool(Editor, label, DefaultTool);
            }
            else {
                DelegateTool = new PolyLineFigureTool(Editor, (IConnectionFigure)Figure, DefaultTool);
            }

            if (DelegateTool != null) {
                DelegateTool.MouseDown (ev);
            }
        }
Пример #8
0
 public override void InvokeEnd(MouseEvent ev)
 {
     base.InvokeEnd(ev);
     
     if (clicked) 
     {
         // HERZUM SPRINT 2.0 TLAB-99
         // Experiment ownerExperiment = m_ownerConnection.Owner;
         IEditableExperiment ownerExperiment = m_ownerConnection.ExperimentNodeConnection.Target.Owner as IEditableExperiment;
         if(ownerExperiment != null) 
         // END HERZUM SPRINT 2.0 TLAB-99
         ownerExperiment.RemoveConnection(m_ownerConnection.ExperimentNodeConnection);
     }
     
     clicked = false;
 }
Пример #9
0
        public override void MouseDown (MouseEvent ev) 
        {
            base.MouseDown(ev);

            // If we are already panning, ignore any additional mouse down events
            if (active)
                return;

            active = true;

            Gdk.EventButton eventButton = ev.GdkEvent as Gdk.EventButton;

            last_point = new PointD (eventButton.XRoot, eventButton.YRoot);

            Gtk.Widget widget = (Gtk.Widget) ev.View;

            widget.GdkWindow.Cursor = CustomCursorFactory.GrabbingHandCursor;
        }
        public override void MouseDown(MouseEvent ev)
        {
            View = ev.View;

            Gdk.EventType type = ev.GdkEvent.Type;

            if (type == EventType.TwoButtonPress) {
                CreateUndoActivity();
                _showingWidget = true;
                _entry.Text = (Figure as AbstractColumnFigure).ColumnModel.Name;

                View.AddWidget (_entry, 0,0);
                CalculateSizeEntry ();

                _entry.GrabFocus ();
                _entry.Show ();

                return;
            }
            DefaultTool.MouseDown (ev);
        }
Пример #11
0
 public override void InvokeStart(MouseEvent ev)
 {
     base.InvokeStart(ev);
     
     clicked = true;
 }
Пример #12
0
        /*
        private ScopeNodeBase GetScopeUp(ExperimentNode experimentNode, BaseExperiment experiment, double x, double y){
            BasicNodeControl componentControl;
            ScopeNodeBase scopeUp = null;
            ExperimentCanvasPad pad = null;
            if (experiment == null)
                return null;
            foreach (ExperimentNode node in experiment.Vertices)
                if (node is ScopeNodeBase && !node.Equals(experimentNode))
                    if(m_applicationContext.NodeControlFactory.TryGetNodeControl(node, out componentControl)){
                        ScopeBaseMetadata  scopeBaseMetadata  = node.Data.Metadata as ScopeBaseMetadata;
                        int xMouse = 0;
                        int yMouse = 0; 
                        BasicNodeControl internalComponentControl = null;
                        foreach (ExperimentNode internalNode in scopeBaseMetadata.ComponentGraph.Vertices){
                            m_applicationContext.NodeControlFactory.TryGetNodeControl(internalNode, out internalComponentControl) ;
                            break;
                        } 
                        if (internalComponentControl == null)
                            return null;
                            pad = ExperimentCanvasPadFactory.GetExperimentCanvasPad (m_applicationContext, componentControl);
                        if (pad == null)
                            return null;
                        pad.ExperimentCanvasWidget.GetPointer(out xMouse, out yMouse);
                        scopeUp = GetScopeUp(experimentNode, scopeBaseMetadata.ComponentGraph as BaseExperiment, xMouse, yMouse);
                        if (scopeUp != null)
                            return scopeUp;
                        ScopeNodeControl scopeNodeControl = componentControl as ScopeNodeControl;
                        if (scopeNodeControl.ContainsPoint (x, y))
                            return node as ScopeNodeBase;
                    }
            return null;
        }
        */
        // END HERZUM SPRINT 2.3 TLAB-60


        public override ITool CreateFigureTool(IPrimaryToolDelegator mainTool, IDrawingEditor editor, 
                                               ITool defaultTool, MouseEvent ev)
        {
            DragTool dragTool = defaultTool as DragTool;
            if(dragTool != null)
            {
                //when drag is completed update model data
                dragTool.DragCompleted += (object sender, EventArgs e) =>  
                {

                    this.ExperimentNode.Data.X = this.DisplayBox.X;
                    this.ExperimentNode.Data.Y = this.DisplayBox.Y;

                    // HERZUM SPRINT 2.3 TLAB-60
                    int xMouse = 0;
                    int yMouse = 0; 
                    ScopeNodeBase scopeNode = GetScopeUp(ExperimentNode, ExperimentNode.Owner as BaseExperiment, ExperimentNode.Data.X, ExperimentNode.Data.Y);
                    if (scopeNode !=  null){
                        ScopeBaseMetadata  scopeBaseMetadata  = scopeNode.Data.Metadata as ScopeBaseMetadata;
                        BaseExperiment experimentTarget = scopeBaseMetadata.ComponentGraph; 
                        BasicNodeControl componentControl = null;
                        ExperimentCanvasPad pad = null;
                        foreach (ExperimentNode node in scopeBaseMetadata.ComponentGraph.Vertices){
                            m_applicationContext.NodeControlFactory.TryGetNodeControl(node, out componentControl) ;
                            break;
                        } 
                        if (componentControl!= null)
                            pad = ExperimentCanvasPadFactory.GetExperimentCanvasPad(m_applicationContext, componentControl);

                        if (pad != null){
                            pad.ExperimentCanvasWidget.GetPointer(out xMouse, out yMouse);
                            // HERZUM SPRINT 2.4 TLAB-56 TLAB-57 TLAB-58 TLAB-59 CLASS
                            //TraceLab.Core.Experiments.Clipboard.Cut(ExperimentNode.Owner as BaseExperiment);
                            //TraceLab.Core.Experiments.Clipboard.Paste(experimentTarget,xMouse,yMouse);

                            DragClipboard.Cut(m_applicationContext, ExperimentNode.Owner as BaseExperiment);
                            DragClipboard.Paste(m_applicationContext, experimentTarget,xMouse,yMouse);
                            // END HERZUM SPRINT 2.4 TLAB-56 TLAB-57 TLAB-58 TLAB-59 CLASS
                            pad.DisplayAddedSubgraph(experimentTarget);
                        }

                    }
                    // END HERZUM SPRINT 2.3 TLAB-60


                };
            }
            return base.CreateFigureTool(mainTool, editor, defaultTool, ev);
        }
        public override void MouseUp(MouseEvent ev)
        {
            //FIXME: Does this hardcoded value always apply?
            Gdk.EventButton gdk_event = ev.GdkEvent as EventButton;
            if (gdk_event.Button == 3) {
                using (Gtk.Menu menu = new Gtk.Menu ()) {
                    //TODO: fix menu size and font size
                    /*Adjustment  xAdj, yAdj;
                    xAdj=new Gtk.Adjustment(0, 0, 1000, 1, 100, 10);
                    yAdj=new Adjustment(0, 0, 100, 1, 10, 10);
                    menu.SetScrollAdjustments(xAdj,yAdj);
                    Pango.FontDescription newfont = menu.Style.FontDescription.Copy();
                    newfont.Size -= (int)Pango.Scale.PangoScale*2;
                    menu.ModifyFont(newfont);
                    */

                    if(primaryMenu){
                        foreach (Gtk.MenuItem item in _figure.MenuItemsEnumerator) {
                            menu.Append (item);
                        }
                    }else{
                        foreach (Gtk.MenuItem item in _figure.MenuItemsEnumerator2) {
                            menu.Append (item);
                        }
                    }
                    if (menu.Children.Length > 0)  {
                        menu.ShowAll ();
                        menu.Popup ();
                    }
                }
            }
            base.MouseUp (ev);
        }
 public override ITool CreateFigureTool(IPrimaryToolDelegator mainTool, IDrawingEditor editor, 
                                        ITool defaultTool, MouseEvent ev)
 {
     DragTool dragTool = defaultTool as DragTool;
     if(dragTool != null)
     {
         //when drag is completed update model data
         dragTool.DragCompleted += (object sender, EventArgs e) =>  
         {
             this.ExperimentNode.Data.X = this.DisplayBox.X;
             this.ExperimentNode.Data.Y = this.DisplayBox.Y;
         };
     }
     
     return base.CreateFigureTool(mainTool, editor, defaultTool, ev);
 }
            public override void MouseDown(MouseEvent ev)
            {
                IDrawingView view = ev.View;
                SimpleTextFigure figure = ((TableFigure)Figure).FindTextFigure (ev.X, ev.Y);
                Gdk.EventButton gdk_event = ev.GdkEvent as EventButton;

                if (figure != null && view.IsFigureSelected (Figure) && gdk_event.Button == 3) {
                    ColumnFigure cfigure = figure is ColumnFigure ? figure as ColumnFigure : null;
                    if (cfigure != null)
                        DelegateTool = new PopupMenuTool (Editor, cfigure, DefaultTool, DefaultTool, true);
                } else if (figure != null && view.IsFigureSelected (Figure) && gdk_event.Button == 1) {
                    if (figure is AbstractColumnFigure) {
                        AbstractColumnFigure column = figure as AbstractColumnFigure;
                        if(((TableFigure)Figure).SelectionMode && !(column is ColumnFkFigure)){
                            if(MonoDevelop.Core.Gui.MessageService.Confirm("Do you like to delete column: "+column.ColumnModel.Name+ " from table: "+column.ColumnModel.Parent.Name+"?", MonoDevelop.Core.Gui.AlertButton.Remove)){
                                ((TableFigure)Figure).removeColumn(column);
                            }
                            ((TableFigure)Figure).SelectionMode = false;
                        }else{
                            DelegateTool = new ColumnTextTool (Editor, column, DefaultTool);
                        }
                    }else{
                        DelegateTool = new SimpleTextTool (Editor, figure, DefaultTool);
                    }
                } else {
                    DelegateTool = DefaultTool;
                }
                if (DelegateTool != null)
                    DelegateTool.MouseDown (ev);

                if (figure == null) {
                    figure = ((TableFigure)Figure).FindIconTextFigure (ev.X, ev.Y);
                    if (figure != null) {
                        ColumnFigure cfigure = figure is ColumnFigure ? figure as ColumnFigure : null;
                        DelegateTool = new PopupMenuTool (Editor, cfigure, DefaultTool, DefaultTool, false);
                    }
                }
                base.MouseDown (ev);
            }
Пример #16
0
 public override void MouseUp (MouseEvent ev) 
 {
     active = false;
     Gtk.Widget widget = (Gtk.Widget) ev.View;
     widget.GdkWindow.Cursor = m_defaultCursor;
 }
Пример #17
0
 public override ITool CreateFigureTool(IPrimaryToolDelegator mainTool, IDrawingEditor editor, 
                                        ITool defaultTool, MouseEvent ev)
 {
     if(ev.IsRightButtonPressed())
     {
         // HERZUM SPRINT 2.6 TLAB-172
         if (IsEditable)
         // END HERZUM SPRINT 2.6 TLAB-172
         PopupContextMenu(mainTool, editor, defaultTool, ev);
         return null;
     } 
     else
     {
         return base.CreateFigureTool(mainTool, editor, defaultTool, ev);
     }
 }
Пример #18
0
        /// TLAB-184

        private void OnPaste (MouseEvent ev)
        {
            if (Paste != null) {
                Paste (this, new MouseEventArgs (ev));
            }
        }
Пример #19
0
 private void OnPanToolButtonRelease (MouseEvent ev)
 {
     if (PanToolButtonReleased != null) {
         PanToolButtonReleased (this, new MouseEventArgs (ev));
     }
 }
 protected override bool OnButtonReleaseEvent (EventButton gdk_event) {
     Drawing.RecalculateDisplayBox();
     PointD point = ViewToDrawing(gdk_event.X, gdk_event.Y);
     MouseEvent ev = new MouseEvent(this, gdk_event, point);
     Editor.Tool.MouseUp (ev);
     _drag = false;
     return base.OnButtonReleaseEvent(gdk_event);
 }
        protected override bool OnMotionNotifyEvent (EventMotion gdk_event) {
            PointD point = ViewToDrawing(gdk_event.X, gdk_event.Y);
            MouseEvent ev = new MouseEvent(this, gdk_event, point);

            if (_drag) {
                // TODO: Move this to a Tool
                ScrollToMakeVisible (point); 
                Editor.Tool.MouseDrag (ev);
            } else {
                Editor.Tool.MouseMove (ev);
            }

            return base.OnMotionNotifyEvent(gdk_event);
        }
Пример #22
0
            public override void MouseDown(MouseEvent ev)
            {
                IDrawingView view = ev.View;
                DigitalClockTextFigure figure = ((DigitalClockFigure) Figure).FindTextFigure (ev.X, ev.Y);

                if (figure != null && view.IsFigureSelected (Figure)) {
                    DelegateTool = new SimpleTextTool (Editor, figure, DefaultTool);
                } else {
                    DelegateTool = DefaultTool;
                }

                DelegateTool.MouseDown (ev);
            }
Пример #23
0
            public override void MouseDown(MouseEvent ev)
            {
                IDrawingView view = ev.View;
                LabelFigure name = ((ActorFigure)Figure).FindName(ev.X, ev.Y);

                if (name != null && view.IsFigureSelected(Figure) ) {
                    DelegateTool = new SimpleTextTool(Editor, name, DefaultTool);
                }
                else {
                    DelegateTool = DefaultTool;
                }

                DelegateTool.MouseDown (ev);
            }
Пример #24
0
        // HERZUM SPRINT 2.3 TLAB-56 TLAB-57 TLAB-58 TLAB-59
        /*
        private void PopupContextMenu(IPrimaryToolDelegator mainTool, IDrawingEditor editor, ITool dt, MouseEvent ev)
        {
            m_contextMenu = new Gtk.Menu();
            Gtk.MenuItem editLabel = new Gtk.MenuItem("Edit label");

            editLabel.Activated += delegate(object sender, EventArgs e) 
            {
                SimpleTextTool textTool = new SimpleTextTool(editor, this, dt, ev);
                mainTool.DelegateTool = textTool;
                textTool.StartEditing();
            };
    
            m_contextMenu.Add(editLabel);
            m_contextMenu.ShowAll();

            m_contextMenu.Popup();
        }
        */

        private void PopupContextMenu(IPrimaryToolDelegator mainTool, IDrawingEditor editor, ITool dt, MouseEvent ev)
        {
            m_contextMenu = new Gtk.Menu();
            Gtk.MenuItem editLabel = new Gtk.MenuItem("Edit label");
            Gtk.MenuItem copy = new Gtk.MenuItem("Copy");
            Gtk.MenuItem cut = new Gtk.MenuItem("Cut");
            // Gtk.MenuItem paste = new Gtk.MenuItem("Paste");

            editLabel.Activated += delegate(object sender, EventArgs e) 
            {
                SimpleTextTool textTool = new SimpleTextTool(editor, this, dt, ev);
                mainTool.DelegateTool = textTool;
                textTool.StartEditing();
            };

            copy.Activated += delegate(object sender, EventArgs e) 
            {
                Clipboard.Copy(ExperimentNode.Owner as BaseExperiment);
            };

            cut.Activated += delegate(object sender, EventArgs e) 
            {
                Clipboard.Cut(ExperimentNode.Owner as BaseExperiment);
            };

            /*
            paste.Activated += delegate(object sender, EventArgs e) 
            {
                Clipboard.Paste(ExperimentNode.Owner as BaseExperiment);
                ExperimentCanvasPad ecp = ExperimentCanvasPadFactory.GetExperimentCanvasPad(m_applicationContext, this);
                ecp.DisplayAddedSubgraph(ExperimentNode.Owner as BaseExperiment); 
            };
            */

            m_contextMenu.Add(editLabel);
            m_contextMenu.Add(copy);
            m_contextMenu.Add(cut);
            // m_contextMenu.Add(paste);
            m_contextMenu.ShowAll();

            m_contextMenu.Popup();
        }
Пример #25
0
 private void OnPanTool (MouseEvent ev)
 {
     if (PanTool != null) {
         PanTool (this, new MouseEventArgs (ev));
     }
 }
 public abstract void DisplayMenu(Figure figure, MouseEvent ev);
Пример #27
0
        // END HERZUM SPRINT 2.3 TLAB-56 TLAB-57 TLAB-58 TLAB-59
   
        protected override bool OnButtonPressEvent (Gdk.EventButton gdk_event)
        {

            PointD point = ViewToDrawing (gdk_event.X, gdk_event.Y);
            MouseEvent ev = new MouseEvent (this, gdk_event, point);

            // HERZUM SPRINT 2.3 TLAB-56 TLAB-57 TLAB-58 TLAB-59
            IFigure figure = Drawing.FindFigure (ev.X, ev.Y);
            // END HERZUM SPRINT 2.3 TLAB-56 TLAB-57 TLAB-58 TLAB-59

            // HERZUM SPRINT 2.3 TLAB-56 TLAB-57 TLAB-58 TLAB-59
            if (ev.IsRightButtonPressed ()) {
                if (x != -1 && (x != ev.X || y != ev.Y)) {
                    x = ev.X;
                    y = ev.Y;
                } else if (x == ev.X && y == ev.Y)
                    return true;
                else {
                    x = ev.X;
                    y = ev.Y;
                }
            } 
            // END HERZUM SPRINT 2.3 TLAB-56 TLAB-57 TLAB-58 TLAB-59

            // HERZUM SPRINT 2.3 TLAB-56 TLAB-57 TLAB-58 TLAB-59           
            if (figure == null && ev.IsRightButtonPressed ()) {
                // HERZUM SPRINT 2.6 TLAB-172
                if (Paste != null)
                // END HERZUM SPRINT 2.6 TLAB-172
                    PopupContextMenu (ev);
                return true;
            }
            // END HERZUM SPRINT 2.3 TLAB-56 TLAB-57 TLAB-58 TLAB-59

            // TLAB-184
            if (ev.isCentralButtonPressed ()) {
                if (PanTool != null)
                    OnPanTool (ev);
            }
            /// TLAB-184

            Editor.Tool.MouseDown (ev);
            _drag = true;

            return base.OnButtonPressEvent (gdk_event);
        }
 public virtual void DisplayMenu(Figure figure, MouseEvent ev)
 {
 }
 public override void DisplayMenu(Figure figure, MouseEvent ev)
 {
     IdeApp.CommandService.ShowContextMenu ("/ClassDesigner/ContextMenu/Diagram");
 }
        protected override bool OnButtonPressEvent (Gdk.EventButton gdk_event) {
            PointD point = ViewToDrawing(gdk_event.X, gdk_event.Y);
            MouseEvent ev = new MouseEvent(this, gdk_event, point);
            Editor.Tool.MouseDown (ev);
            _drag = true;

            return base.OnButtonPressEvent(gdk_event);
        }