Esempio n. 1
0
 internal DockItemToolbar(DockItem parentItem, PositionType position)
 {
     this.parentItem = parentItem;
     frame = new CustomFrame ();
     switch (position) {
         case PositionType.Top:
             frame.SetMargins (0, 0, 1, 1);
             frame.SetPadding (0, 2, 2, 0);
             break;
         case PositionType.Bottom:
             frame.SetMargins (0, 1, 1, 1);
             frame.SetPadding (2, 2, 2, 0);
             break;
         case PositionType.Left:
             frame.SetMargins (0, 1, 1, 0);
             frame.SetPadding (0, 0, 2, 2);
             break;
         case PositionType.Right:
             frame.SetMargins (0, 1, 0, 1);
             frame.SetPadding (0, 0, 2, 2);
             break;
     }
     this.position = position;
     if (position == PositionType.Top || position == PositionType.Bottom)
         box = new HBox (false, 3);
     else
         box = new VBox (false, 3);
     box.Show ();
     frame.Add (box);
     frame.GradientBackround = true;
 }
Esempio n. 2
0
        public AutoHideBox(DockFrame frame, DockItem item, Gtk.PositionType pos, int size)
        {
            this.position = pos;
            this.frame = frame;
            this.targetSize = size;
            horiz = pos == PositionType.Left || pos == PositionType.Right;
            startPos = pos == PositionType.Top || pos == PositionType.Left;
            Events = Events | Gdk.EventMask.EnterNotifyMask | Gdk.EventMask.LeaveNotifyMask;

            Box fr;
            CustomFrame cframe = new CustomFrame ();
            switch (pos) {
                case PositionType.Left: cframe.SetMargins (1, 1, 0, 1); break;
                case PositionType.Right: cframe.SetMargins (1, 1, 1, 0); break;
                case PositionType.Top: cframe.SetMargins (0, 1, 1, 1); break;
                case PositionType.Bottom: cframe.SetMargins (1, 0, 1, 1); break;
            }
            EventBox sepBox = new EventBox ();
            cframe.Add (sepBox);

            if (horiz) {
                fr = new HBox ();
                sepBox.Realized += delegate { sepBox.GdkWindow.Cursor = resizeCursorW; };
                sepBox.WidthRequest = gripSize;
            } else {
                fr = new VBox ();
                sepBox.Realized += delegate { sepBox.GdkWindow.Cursor = resizeCursorH; };
                sepBox.HeightRequest = gripSize;
            }

            sepBox.Events = EventMask.AllEventsMask;

            if (pos == PositionType.Left || pos == PositionType.Top)
                fr.PackEnd (cframe, false, false, 0);
            else
                fr.PackStart (cframe, false, false, 0);

            Add (fr);
            ShowAll ();
            Hide ();

            scrollable = new ScrollableContainer ();
            scrollable.ScrollMode = false;
            scrollable.Show ();

            item.Widget.Show ();
            scrollable.Add (item.Widget);
            fr.PackStart (scrollable, true, true, 0);

            sepBox.ButtonPressEvent += OnSizeButtonPress;
            sepBox.ButtonReleaseEvent += OnSizeButtonRelease;
            sepBox.MotionNotifyEvent += OnSizeMotion;
            sepBox.ExposeEvent += OnGripExpose;
            sepBox.EnterNotifyEvent += delegate { insideGrip = true; sepBox.QueueDraw (); };
            sepBox.LeaveNotifyEvent += delegate { insideGrip = false; sepBox.QueueDraw (); };
        }
Esempio n. 3
0
        internal DockItemToolbar(DockItem parentItem, PositionType position)
        {
            this.parentItem = parentItem;
            frame           = new CustomFrame();
            switch (position)
            {
            case PositionType.Top:
                frame.SetMargins(0, 0, 1, 1);
                frame.SetPadding(0, 2, 2, 0);
                break;

            case PositionType.Bottom:
                frame.SetMargins(0, 1, 1, 1);
                frame.SetPadding(2, 2, 2, 0);
                break;

            case PositionType.Left:
                frame.SetMargins(0, 1, 1, 0);
                frame.SetPadding(0, 0, 2, 2);
                break;

            case PositionType.Right:
                frame.SetMargins(0, 1, 0, 1);
                frame.SetPadding(0, 0, 2, 2);
                break;
            }
            this.position = position;
            if (position == PositionType.Top || position == PositionType.Bottom)
            {
                box = new HBox(false, 3);
            }
            else
            {
                box = new VBox(false, 3);
            }
            box.Show();
            frame.Add(box);
            frame.GradientBackround = true;
        }
Esempio n. 4
0
        public AutoHideBox(DockFrame frame, DockItem item, Gtk.PositionType pos, int size)
        {
            this.position   = pos;
            this.frame      = frame;
            this.targetSize = size;
            horiz           = pos == PositionType.Left || pos == PositionType.Right;
            startPos        = pos == PositionType.Top || pos == PositionType.Left;
            Events          = Events | Gdk.EventMask.EnterNotifyMask | Gdk.EventMask.LeaveNotifyMask;

            Box         fr;
            CustomFrame cframe = new CustomFrame();

            switch (pos)
            {
            case PositionType.Left: cframe.SetMargins(1, 1, 0, 1); break;

            case PositionType.Right: cframe.SetMargins(1, 1, 1, 0); break;

            case PositionType.Top: cframe.SetMargins(0, 1, 1, 1); break;

            case PositionType.Bottom: cframe.SetMargins(1, 0, 1, 1); break;
            }
            EventBox sepBox = new EventBox();

            cframe.Add(sepBox);

            if (horiz)
            {
                fr = new HBox();
                sepBox.Realized    += delegate { sepBox.GdkWindow.Cursor = resizeCursorW; };
                sepBox.WidthRequest = gripSize;
            }
            else
            {
                fr = new VBox();
                sepBox.Realized     += delegate { sepBox.GdkWindow.Cursor = resizeCursorH; };
                sepBox.HeightRequest = gripSize;
            }

            sepBox.Events = EventMask.AllEventsMask;

            if (pos == PositionType.Left || pos == PositionType.Top)
            {
                fr.PackEnd(cframe, false, false, 0);
            }
            else
            {
                fr.PackStart(cframe, false, false, 0);
            }

            Add(fr);
            ShowAll();
            Hide();

            scrollable            = new ScrollableContainer();
            scrollable.ScrollMode = false;
            scrollable.Show();

            item.Widget.Show();
            scrollable.Add(item.Widget);
            fr.PackStart(scrollable, true, true, 0);

            sepBox.ButtonPressEvent   += OnSizeButtonPress;
            sepBox.ButtonReleaseEvent += OnSizeButtonRelease;
            sepBox.MotionNotifyEvent  += OnSizeMotion;
            sepBox.ExposeEvent        += OnGripExpose;
            sepBox.EnterNotifyEvent   += delegate { insideGrip = true; sepBox.QueueDraw(); };
            sepBox.LeaveNotifyEvent   += delegate { insideGrip = false; sepBox.QueueDraw(); };
        }