internal void AutoHide(DockItem item, AutoHideBox widget, bool animate) { if (animate) { widget.Hidden += delegate { if (!widget.Disposed) { AutoHide(item, widget, false); } }; widget.AnimateHide(); } else { // The widget may already be removed from the parent // so 'parent' can be null Gtk.Container parent = (Gtk.Container)item.Widget.Parent; if (parent != null) { //removing the widget from its parent causes it to unrealize without unmapping //so make sure it's unmapped if (item.Widget.IsMapped) { item.Widget.Unmap(); } parent.Remove(item.Widget); } parent = (Gtk.Container)item.TitleTab.Parent; if (parent != null) { //removing the widget from its parent causes it to unrealize without unmapping //so make sure it's unmapped if (item.TitleTab.IsMapped) { item.TitleTab.Unmap(); } parent.Remove(item.TitleTab); } if (widget.ContainerWindow != null) { widget.ContainerWindow.Destroy(); } else { RemoveTopLevel(widget); } widget.Disposed = true; widget.Destroy(); } }
void AutoShow() { UnscheduleAutoHide(); if (autoShowFrame == null && !bar.Frame.OverlayWidgetVisible) { if (hiddenFrame != null) { bar.Frame.AutoHide(it, hiddenFrame, false); } autoShowFrame = bar.Frame.AutoShow(it, bar, size); autoShowFrame.EnterNotifyEvent += OnFrameEnter; autoShowFrame.LeaveNotifyEvent += OnFrameLeave; autoShowFrame.KeyPressEvent += OnFrameKeyPress; QueueDraw(); } }
internal AutoHideBox AutoShow(DockItem item, DockBar bar, int size) { AutoHideBox aframe = new AutoHideBox(this, item, bar.Position, size); Gdk.Size sTop = GetBarFrameSize(dockBarTop); Gdk.Size sBot = GetBarFrameSize(dockBarBottom); Gdk.Size sLeft = GetBarFrameSize(dockBarLeft); Gdk.Size sRgt = GetBarFrameSize(dockBarRight); int x, y, w, h; if (bar == dockBarLeft || bar == dockBarRight) { h = Allocation.Height - sTop.Height - sBot.Height; w = size; y = sTop.Height; if (bar == dockBarLeft) { x = sLeft.Width; } else { x = Allocation.Width - size - sRgt.Width; } } else { w = Allocation.Width - sLeft.Width - sRgt.Width; h = size; x = sLeft.Width; if (bar == dockBarTop) { y = sTop.Height; } else { y = Allocation.Height - size - sBot.Height; } } AddTopLevel(aframe, x, y, w, h); aframe.AnimateShow(); return(aframe); }
void AutoHide(bool animate) { UnscheduleAutoShow(); if (autoShowFrame != null) { size = autoShowFrame.PadSize; hiddenFrame = autoShowFrame; autoShowFrame.Hidden += delegate { hiddenFrame = null; }; bar.Frame.AutoHide(it, autoShowFrame, animate); autoShowFrame.EnterNotifyEvent -= OnFrameEnter; autoShowFrame.LeaveNotifyEvent -= OnFrameLeave; autoShowFrame.KeyPressEvent -= OnFrameKeyPress; autoShowFrame = null; QueueDraw(); } }
internal void UpdateSize(DockBar bar, AutoHideBox aframe) { Gdk.Size sTop = GetBarFrameSize(dockBarTop); Gdk.Size sBot = GetBarFrameSize(dockBarBottom); Gdk.Size sLeft = GetBarFrameSize(dockBarLeft); Gdk.Size sRgt = GetBarFrameSize(dockBarRight); if (bar == dockBarLeft || bar == dockBarRight) { aframe.HeightRequest = Allocation.Height - sTop.Height - sBot.Height; if (bar == dockBarRight) { aframe.X = Allocation.Width - aframe.Allocation.Width - sRgt.Width; } } else { aframe.WidthRequest = Allocation.Width - sLeft.Width - sRgt.Width; if (bar == dockBarBottom) { aframe.Y = Allocation.Height - aframe.Allocation.Height - sBot.Height; } } }
void AutoHide (bool animate) { UnscheduleAutoShow (); if (autoShowFrame != null) { size = autoShowFrame.PadSize; hiddenFrame = autoShowFrame; autoShowFrame.Hidden += delegate { hiddenFrame = null; }; bar.Frame.AutoHide (it, autoShowFrame, animate); autoShowFrame.EnterNotifyEvent -= OnFrameEnter; autoShowFrame.LeaveNotifyEvent -= OnFrameLeave; autoShowFrame.KeyPressEvent -= OnFrameKeyPress; autoShowFrame = null; QueueDraw (); } }
void AutoShow () { UnscheduleAutoHide (); if (autoShowFrame == null && !bar.Frame.OverlayWidgetVisible) { if (hiddenFrame != null) bar.Frame.AutoHide (it, hiddenFrame, false); autoShowFrame = bar.Frame.AutoShow (it, bar, size); autoShowFrame.EnterNotifyEvent += OnFrameEnter; autoShowFrame.LeaveNotifyEvent += OnFrameLeave; autoShowFrame.KeyPressEvent += OnFrameKeyPress; QueueDraw (); } }
internal void UpdateSize (DockBar bar, AutoHideBox aframe) { Gdk.Size sTop = GetBarFrameSize (dockBarTop); Gdk.Size sBot = GetBarFrameSize (dockBarBottom); Gdk.Size sLeft = GetBarFrameSize (dockBarLeft); Gdk.Size sRgt = GetBarFrameSize (dockBarRight); if (bar == dockBarLeft || bar == dockBarRight) { aframe.HeightRequest = Allocation.Height - sTop.Height - sBot.Height; if (bar == dockBarRight) aframe.X = Allocation.Width - aframe.Allocation.Width - sRgt.Width; } else { aframe.WidthRequest = Allocation.Width - sLeft.Width - sRgt.Width; if (bar == dockBarBottom) aframe.Y = Allocation.Height - aframe.Allocation.Height - sBot.Height; } }
internal AutoHideBox AutoShow (DockItem item, DockBar bar, int size) { AutoHideBox aframe = new AutoHideBox (this, item, bar.Position, size); Gdk.Size sTop = GetBarFrameSize (dockBarTop); Gdk.Size sBot = GetBarFrameSize (dockBarBottom); Gdk.Size sLeft = GetBarFrameSize (dockBarLeft); Gdk.Size sRgt = GetBarFrameSize (dockBarRight); int x,y,w,h; if (bar == dockBarLeft || bar == dockBarRight) { h = Allocation.Height - sTop.Height - sBot.Height; w = size; y = sTop.Height; if (bar == dockBarLeft) x = sLeft.Width; else x = Allocation.Width - size - sRgt.Width; } else { w = Allocation.Width - sLeft.Width - sRgt.Width; h = size; x = sLeft.Width; if (bar == dockBarTop) y = sTop.Height; else y = Allocation.Height - size - sBot.Height; } AddTopLevel (aframe, x, y, w, h); aframe.AnimateShow (); return aframe; }
internal void AutoHide (DockItem item, AutoHideBox widget, bool animate) { if (animate) { widget.Hidden += delegate { if (!widget.Disposed) AutoHide (item, widget, false); }; widget.AnimateHide (); } else { // The widget may already be removed from the parent // so 'parent' can be null Gtk.Container parent = (Gtk.Container) item.Widget.Parent; if (parent != null) { //removing the widget from its parent causes it to unrealize without unmapping //so make sure it's unmapped if (item.Widget.IsMapped) { item.Widget.Unmap (); } parent.Remove (item.Widget); } parent = (Gtk.Container) item.TitleTab.Parent; if (parent != null) { //removing the widget from its parent causes it to unrealize without unmapping //so make sure it's unmapped if (item.TitleTab.IsMapped) { item.TitleTab.Unmap (); } parent.Remove (item.TitleTab); } if (widget.ContainerWindow != null) { widget.ContainerWindow.Destroy (); } else RemoveTopLevel (widget); widget.Disposed = true; widget.Destroy (); } }