void HandleValueTreeButtonPressEvent(object o, ButtonPressEventArgs args)
        {
            originX = args.Event.XRoot;
            originY = args.Event.YRoot;

            TreePath       path;
            TreeViewColumn col;
            int            cx, cy;

            valueTree.GetPathAtPos((int)args.Event.X, (int)args.Event.Y, out path, out col, out cx, out cy);
            Gdk.Rectangle rect = valueTree.GetCellArea(path, col);
            if (!mousePressed && valueTree.Columns[0] == col)
            {
                mousePressed = true;
                Editor.TextArea.MoveToTop(this);
            }
        }
Exemplo n.º 2
0
        void HandleValueTreeButtonPressEvent(object o, Gtk.ButtonPressEventArgs args)
        {
            originX = args.Event.XRoot;
            originY = args.Event.YRoot;

            Gtk.TreePath       path;
            Gtk.TreeViewColumn col;
            int cx, cy;

            valueTree.GetPathAtPos((int)args.Event.X, (int)args.Event.Y, out path, out col, out cx, out cy);
            Gdk.Rectangle rect = valueTree.GetCellArea(path, col);
            if (!mousePressed && valueTree.Columns[0] == col && cx >= rect.Left)
            {
                mousePressed = true;
                Editor.MoveToTop(this);
//				Gdk.Pointer.Grab (this.GdkWindow, true, Gdk.EventMask.ButtonPressMask | Gdk.EventMask.ButtonReleaseMask | Gdk.EventMask.PointerMotionMask | Gdk.EventMask.EnterNotifyMask | Gdk.EventMask.LeaveNotifyMask, null, null, Gtk.Global.CurrentEventTime);
//				Gtk.Grab.Add (this);
            }
        }
Exemplo n.º 3
0
        void PlacePinWindow()
        {
            int          mx, my;
            ModifierType mm;

            if (tree.BinWindow == null)
            {
                return;
            }
            tree.BinWindow.GetPointer(out mx, out my, out mm);

            int            cx, cy;
            TreePath       path;
            TreeViewColumn col;

            if (!tree.GetPathAtPos(mx, my, out path, out col, out cx, out cy))
            {
                return;
            }

            tree.Model.GetIter(out currentPinIter, path);
            Rectangle cr = tree.GetCellArea(path, tree.Columns [1]);

            int ox, oy;

            tree.BinWindow.GetOrigin(out ox, out oy);

            if (mx < cr.Right - 30)
            {
                pinWindow.Hide();
                return;
            }

            int x, y, w, h;

            GetPosition(out x, out y);
            GetSize(out w, out h);
            pinWindow.Move(x + w, oy + cr.Y);
            pinWindow.Show();
        }