Beispiel #1
0
        private void eventboxTitle_HandleButtonPressEvent(object o, Gtk.ButtonPressEventArgs args)
        {
            // start moving
            if (MovingHelper.Window.GdkWindow.State != Gdk.WindowState.Maximized)
            {
                if (args.Event.Type == Gdk.EventType.ButtonPress &&
                    args.Event.Button == 1)
                {
                    MovingHelper.StartMove();
                }
            }

            // maximize
            if (MaximizeVisible &&
                args.Event.Type == Gdk.EventType.TwoButtonPress &&
                args.Event.Button == 1)
            {
                if (MovingHelper.Window.GdkWindow.State == Gdk.WindowState.Maximized)
                {
                    MovingHelper.Window.GdkWindow.Unmaximize();
                }
                else
                {
                    MovingHelper.Window.GdkWindow.Maximize();
                }
            }
        }
Beispiel #2
0
 private void eventboxTitle_HandleMotionNotifyEvent(object o, Gtk.MotionNotifyEventArgs args)
 {
     // move
     if (MovingHelper.IsMoving)
     {
         MovingHelper.Move();
     }
 }
Beispiel #3
0
        public TitleBox()
        {
            this.Build();

            this.eventboxTitleBar.ButtonPressEvent += eventboxTitle_HandleButtonPressEvent;
            this.eventboxTitleBar.ButtonReleaseEvent += eventboxTitle_HandleButtonReleaseEvent;
            this.eventboxTitleBar.MotionNotifyEvent += eventboxTitle_HandleMotionNotifyEvent;

            this.buttonMinimize.Clicked += buttonMinimize_HandleClicked;
            this.buttonMaximize.Clicked += buttonMaximize_HandleClicked;
            this.buttonClose.Clicked += buttonClose_HandleClicked;

            this.buttonMinimize.Image = ThemingHelper.LoadImageMinBtn();
            this.buttonMaximize.Image = ThemingHelper.LoadImageMaxBtn();
            this.buttonClose.Image = ThemingHelper.LoadImageCloseBtn();

            // Set style for title box from resource style
            this.StyleSet+= delegate(object o, Gtk.StyleSetArgs args) {
                Gdk.Color bgc = this.Style.Background(Gtk.StateType.Selected);
                this.eventboxCaption.ModifyBg(Gtk.StateType.Normal, bgc);
                this.eventboxButtons.ModifyBg(Gtk.StateType.Normal, bgc);
                this.eventboxTitleBarBottom.ModifyBg(Gtk.StateType.Normal, bgc);

                Gdk.Color fgc = this.Style.Base(Gtk.StateType.Active);
                this.labelCaption.ModifyFg(Gtk.StateType.Normal, fgc);
            };

            // Init moving helper with top level window
            this.Realized += delegate(object sender, EventArgs e) {
                _movingHelper = new MovingHelper(this.Toplevel);
                MovingHelper.Window.GdkWindow.Title = this.labelCaption.Text;
            };

            // buttons visibility
            this.buttonMaximize.Realized += delegate(object sender, EventArgs e) {
                this.buttonMaximize.Visible = _maximize_visible;
                this.buttonMaximize.Sensitive = _maximize_visible;
            };
            this.buttonMinimize.Realized += delegate(object sender, EventArgs e) {
                this.buttonMinimize.Visible = _minimize_visible;
                this.buttonMinimize.Sensitive = _minimize_visible;
            };
        }
Beispiel #4
0
        public TitleBox()
        {
            this.Build();

            this.eventboxTitleBar.ButtonPressEvent   += eventboxTitle_HandleButtonPressEvent;
            this.eventboxTitleBar.ButtonReleaseEvent += eventboxTitle_HandleButtonReleaseEvent;
            this.eventboxTitleBar.MotionNotifyEvent  += eventboxTitle_HandleMotionNotifyEvent;

            this.buttonMinimize.Clicked += buttonMinimize_HandleClicked;
            this.buttonMaximize.Clicked += buttonMaximize_HandleClicked;
            this.buttonClose.Clicked    += buttonClose_HandleClicked;

            this.buttonMinimize.Image = ThemingHelper.LoadImageMinBtn();
            this.buttonMaximize.Image = ThemingHelper.LoadImageMaxBtn();
            this.buttonClose.Image    = ThemingHelper.LoadImageCloseBtn();

            // Set style for title box from resource style
            this.StyleSet += delegate(object o, Gtk.StyleSetArgs args) {
                Gdk.Color bgc = this.Style.Background(Gtk.StateType.Selected);
                this.eventboxCaption.ModifyBg(Gtk.StateType.Normal, bgc);
                this.eventboxButtons.ModifyBg(Gtk.StateType.Normal, bgc);
                this.eventboxTitleBarBottom.ModifyBg(Gtk.StateType.Normal, bgc);

                Gdk.Color fgc = this.Style.Base(Gtk.StateType.Active);
                this.labelCaption.ModifyFg(Gtk.StateType.Normal, fgc);
            };

            // Init moving helper with top level window
            this.Realized += delegate(object sender, EventArgs e) {
                _movingHelper = new MovingHelper(this.Toplevel);
                MovingHelper.Window.GdkWindow.Title = this.labelCaption.Text;
            };

            // buttons visibility
            this.buttonMaximize.Realized += delegate(object sender, EventArgs e) {
                this.buttonMaximize.Visible   = _maximize_visible;
                this.buttonMaximize.Sensitive = _maximize_visible;
            };
            this.buttonMinimize.Realized += delegate(object sender, EventArgs e) {
                this.buttonMinimize.Visible   = _minimize_visible;
                this.buttonMinimize.Sensitive = _minimize_visible;
            };
        }
Beispiel #5
0
 private void eventboxTitle_HandleButtonReleaseEvent(object o, Gtk.ButtonReleaseEventArgs args)
 {
     // stop move
     MovingHelper.StopMove();
 }