protected override void OnDestroyed() { if (Child != null) { Child.Destroy(); } if (vAdjustment != null) { vAdjustment.Changed -= HandleAdjustmentChanged; vAdjustment.Destroy(); vAdjustment = null; } if (hAdjustment != null) { hAdjustment.Changed -= HandleAdjustmentChanged; hAdjustment.Destroy(); hAdjustment = null; } if (vScrollBar != null) { vScrollBar.Destroy(); vScrollBar = null; } if (hScrollBar != null) { hScrollBar.Destroy(); hScrollBar = null; } foreach (var c in children) { c.Child.Destroy(); } base.OnDestroyed(); }
protected override void OnSizeAllocated(Gdk.Rectangle allocation) { //shrink the allocation we pass to the base layout, to allow for our extra border if (showBorderLine) { allocation.X += 1; allocation.Y += 1; allocation.Height -= HScrollbar.Visible? 1 : 2; allocation.Width -= VScrollbar.Visible? 1 : 2; } base.OnSizeAllocated(allocation); //expand the scrollbars so they render over the new border if (showBorderLine) { bool hasHScroll = HScrollbar.Visible; bool hasVScroll = VScrollbar.Visible; if (hasHScroll) { var alloc = HScrollbar.Allocation; alloc.X -= 1; alloc.Width += hasVScroll? 1 :2; HScrollbar.SizeAllocate(alloc); } if (hasVScroll) { var alloc = VScrollbar.Allocation; alloc.Y -= 1; alloc.Height += hasHScroll? 1 : 2; VScrollbar.SizeAllocate(alloc); } } }
/// <summary>A scroll bars to the sheet widget.</summary> private void Initialise() { //// Remove existing child. //if (sheet.Children.Length > 0) // sheet.Remove(sheet.Children[0]); var horizontalAdjustment = new Adjustment(1, 0, 100, 1, 1, 1); horizontalScrollbar = new HScrollbar(horizontalAdjustment); horizontalScrollbar.Value = 0; horizontalScrollbar.ValueChanged += OnHorizontalScrollbarChanged; //horizontalScrollbar.SetSizeRequest(sheet.Width, ScrollBarWidth); var verticalAdjustment = new Adjustment(1, 0, 100, 1, 1, 1); verticalScrollbar = new VScrollbar(verticalAdjustment); verticalScrollbar.Value = 0; verticalScrollbar.ValueChanged += OnVerticalScrollbarChanged; //verticalScrollbar.SetSizeRequest(ScrollBarWidth, sheet.Height); var hbox = new HBox(); var vbox = new VBox(); hbox.PackEnd(verticalScrollbar, false, true, 0); hbox.PackStart(sheet, true, true, 0); vbox.PackEnd(horizontalScrollbar, false, true, 0); vbox.PackStart(hbox, true, true, 0); MainWidget = vbox; }
public SmartScrolledWindow(VScrollbar vScrollBar = null) { vScrollBar = vScrollBar ?? new VScrollbar() { }; AddChild(vScrollBar); Vadjustment.ValueChanged += HandleAdjustmentChanged; hScrollBar = new HScrollbar(); AddChild(hScrollBar); Hadjustment.ValueChanged += HandleAdjustmentChanged; }
public ScrolledUserControl() : base() { Remove(this.drawingArea); this.scrollbar = new HScrollbar(new Adjustment(0, 0, 100, 1, 20, 20)); var vb = new VBox(); vb.PackStart(this.drawingArea, true, true, 0); vb.PackStart(this.scrollbar, false, true, 0); Add(vb); ShowAll(); }
public SmartScrolledWindow(Widget vScrollBar = null) { GtkWorkarounds.FixContainerLeak(this); vAdjustment = new ScrollAdjustment(); vAdjustment.ValueChanged += HandleAdjustmentChanged; this.vScrollBar = vScrollBar ?? new VScrollbar(vAdjustment); this.vScrollBar.Parent = this; this.vScrollBar.Show(); hAdjustment = new ScrollAdjustment(); hAdjustment.ValueChanged += HandleAdjustmentChanged; hScrollBar = new HScrollbar(hAdjustment); hScrollBar.Parent = this; hScrollBar.Show(); }
public MyControl() { Events = Gdk.EventMask.AllEventsMask; var vb = new VBox(); var hScrollBar = new HScrollbar(new Adjustment(1, 1, 100, 1, 20, 10)); hScrollBar.ChangeValue += (o, args) => { //Console.WriteLine("Arg.Value: {0}", args.Args[1]); Console.WriteLine("scrollBar.Value: {0}", hScrollBar.Value); Console.WriteLine("scrollBar.OldValue: {0}", sbOldValue); sbOldValue = hScrollBar.Value; }; hScrollBar.ValueChanged += (o, args) => { Console.WriteLine("scrollBar.Value: {0}", hScrollBar.Value); }; vb.PackEnd(hScrollBar, false, false, 0); Add(vb); ShowAll(); }
public ScrollBarRenderView(RenderView renderview) : base(2, 2, false) { this.renderview = renderview; Attach(renderview, 0, 1, 0, 1, AttachOptions.Expand | AttachOptions.Fill, AttachOptions.Expand | AttachOptions.Fill, 0, 0); Adjustment hadjustment = new Adjustment(0, -10, 10, 1, 2, 2); HScrollbar hscroll = new HScrollbar(hadjustment); Attach(hscroll, 0, 1, 1, 2, AttachOptions.Expand | AttachOptions.Fill, 0, 0, 0); Adjustment vadjustment = new Adjustment(0, -10, 10, 1, 2, 2); VScrollbar vscroll = new VScrollbar(vadjustment); Attach(vscroll, 1, 2, 0, 1, 0, AttachOptions.Expand | AttachOptions.Fill, 0, 0); renderview.SetAdjustments(hadjustment, vadjustment); }
protected void Intialize() { CreateComponents(); vAdjustment = new Adjustment(0, 0, 0, 0, 0, 0); attachedVAdjustments = new Adjustment[editors.Length]; attachedHAdjustments = new Adjustment[editors.Length]; for (int i = 0; i < editors.Length; i++) { attachedVAdjustments[i] = new Adjustment(0, 0, 0, 0, 0, 0); attachedHAdjustments[i] = new Adjustment(0, 0, 0, 0, 0, 0); } foreach (var attachedAdjustment in attachedVAdjustments) { Connect(attachedAdjustment, vAdjustment); } hAdjustment = new Adjustment(0, 0, 0, 0, 0, 0); foreach (var attachedAdjustment in attachedHAdjustments) { Connect(attachedAdjustment, hAdjustment); } hScrollBars = new Gtk.HScrollbar[attachedHAdjustments.Length]; for (int i = 0; i < hScrollBars.Length; i++) { hScrollBars[i] = new HScrollbar(hAdjustment); Add(hScrollBars[i]); } for (int i = 0; i < editors.Length; i++) { var editor = editors[i]; Add(editor); editor.DoPopupMenu += (e) => ShowPopup(editor, e); editor.Caret.PositionChanged += CaretPositionChanged; editor.FocusInEvent += EditorFocusIn; editor.SetScrollAdjustments(attachedHAdjustments[i], attachedVAdjustments[i]); } if (editors.Length == 2) { editors[0].Painted += delegate(object sender, PaintEventArgs args) { var myEditor = (TextArea)sender; PaintEditorOverlay(myEditor, args, LeftDiff, true); }; editors[1].Painted += delegate(object sender, PaintEventArgs args) { var myEditor = (TextArea)sender; PaintEditorOverlay(myEditor, args, LeftDiff, false); }; rightDiffScrollBar = new DiffScrollbar(this, editors[1], true, true); Add(rightDiffScrollBar); } else { editors[0].Painted += delegate(object sender, PaintEventArgs args) { var myEditor = (TextArea)sender; PaintEditorOverlay(myEditor, args, LeftDiff, true); }; editors[1].Painted += delegate(object sender, PaintEventArgs args) { var myEditor = (TextArea)sender; PaintEditorOverlay(myEditor, args, LeftDiff, false); PaintEditorOverlay(myEditor, args, RightDiff, false); }; editors[2].Painted += delegate(object sender, PaintEventArgs args) { var myEditor = (TextArea)sender; PaintEditorOverlay(myEditor, args, RightDiff, true); }; rightDiffScrollBar = new DiffScrollbar(this, editors[2], false, false); Add(rightDiffScrollBar); } leftDiffScrollBar = new DiffScrollbar(this, editors[0], true, false); Add(leftDiffScrollBar); if (headerWidgets != null) { foreach (var widget in headerWidgets) { Add(widget); } } middleAreas = new MiddleArea [editors.Length - 1]; if (middleAreas.Length <= 0 || middleAreas.Length > 2) { throw new NotSupportedException(); } middleAreas[0] = new MiddleArea(this, editors[0], MainEditor, true); Add(middleAreas[0]); if (middleAreas.Length == 2) { middleAreas[1] = new MiddleArea(this, editors[2], MainEditor, false); Add(middleAreas[1]); } this.MainEditor.EditorOptionsChanged += HandleMainEditorhandleEditorOptionsChanged; }
public ComparisonWidget(VersionControlDocumentInfo info) { vAdjustment = new Adjustment(0, 0, 0, 0, 0, 0); vAdjustment.Changed += HandleAdjustmentChanged; vScrollBar = new VScrollbar(vAdjustment); AddChild(vScrollBar); vScrollBar.Hide(); hAdjustment = new Adjustment(0, 0, 0, 0, 0, 0); hAdjustment.Changed += HandleAdjustmentChanged; leftHScrollBar = new HScrollbar(hAdjustment); AddChild(leftHScrollBar); rightHScrollBar = new HScrollbar(hAdjustment); AddChild(rightHScrollBar); originalComboBox = new DropDownBox(); originalComboBox.Text = "Local"; AddChild(originalComboBox); originalEditor = new TextEditor(); AddChild(originalEditor); originalEditor.SetScrollAdjustments(hAdjustment, vAdjustment); diffComboBox = new DropDownBox(); diffComboBox.Text = "Base"; AddChild(diffComboBox); diffEditor = new TextEditor(); AddChild(diffEditor); diffEditor.Document.ReadOnly = true; diffEditor.SetScrollAdjustments(hAdjustment, vAdjustment); this.vAdjustment.ValueChanged += delegate { middleArea.QueueDraw(); }; overview = new OverviewRenderer(this); AddChild(overview); middleArea = new MiddleArea(this); AddChild(middleArea); prev = new Button(); prev.Add(new Arrow(ArrowType.Up, ShadowType.None)); AddChild(prev); prev.ShowAll(); prev.Clicked += delegate { if (this.Diff == null) { return; } originalEditor.GrabFocus(); int line = originalEditor.Caret.Line; int max = -1, searched = -1; foreach (Diff.Hunk hunk in this.Diff) { if (hunk.Same) { continue; } max = System.Math.Max(hunk.Left.Start, max); if (hunk.Left.Start < line) { searched = System.Math.Max(hunk.Left.Start, searched); } } if (max >= 0) { originalEditor.Caret.Line = searched < 0 ? max : searched; originalEditor.CenterToCaret(); } }; next = new Button(); next.BorderWidth = 0; next.Add(new Arrow(ArrowType.Down, ShadowType.None)); next.Clicked += delegate { if (this.Diff == null) { return; } originalEditor.GrabFocus(); int line = originalEditor.Caret.Line; int min = Int32.MaxValue, searched = Int32.MaxValue; foreach (Diff.Hunk hunk in this.Diff) { if (hunk.Same) { continue; } min = System.Math.Min(hunk.Left.Start, min); if (hunk.Left.Start > line) { searched = System.Math.Min(hunk.Left.Start, searched); } } if (min < Int32.MaxValue) { originalEditor.Caret.Line = searched == Int32.MaxValue ? min : searched; originalEditor.CenterToCaret(); } }; AddChild(next); next.ShowAll(); this.DoubleBuffered = true; originalEditor.ExposeEvent += HandleLeftEditorExposeEvent; diffEditor.ExposeEvent += HandleRightEditorExposeEvent; }
public static Gtk.Window Create() { window = new Window("GtkRange"); window.SetDefaultSize(250, 200); VBox box1 = new VBox(false, 0); window.Add(box1); VBox box2 = new VBox(false, 0); box2.BorderWidth = 10; box1.PackStart(box2, true, true, 0); Adjustment adjustment = new Adjustment(0.0, 0.0, 101.0, 0.1, 1.0, 1.0); HScale hscale = new HScale(adjustment); hscale.SetSizeRequest(150, -1); hscale.Digits = 1; hscale.DrawValue = true; box2.PackStart(hscale, true, true, 0); HScrollbar hscrollbar = new HScrollbar(adjustment); box2.PackStart(hscrollbar, true, true, 0); hscale = new HScale(adjustment); hscale.DrawValue = true; hscale.FormatValue += new FormatValueHandler(reformat_value); box2.PackStart(hscale, true, true, 0); HBox hbox = new HBox(false, 0); VScale vscale = new VScale(adjustment); vscale.SetSizeRequest(-1, 200); vscale.Digits = 2; vscale.DrawValue = true; hbox.PackStart(vscale, true, true, 0); vscale = new VScale(adjustment); vscale.SetSizeRequest(-1, 200); vscale.Digits = 2; vscale.DrawValue = true; ((Range)vscale).Inverted = true; hbox.PackStart(vscale, true, true, 0); vscale = new VScale(adjustment); vscale.DrawValue = true; vscale.FormatValue += new FormatValueHandler(reformat_value); hbox.PackStart(vscale, true, true, 0); box2.PackStart(hbox, true, true, 0); box1.PackStart(new HSeparator(), false, true, 0); box2 = new VBox(false, 10); box2.BorderWidth = 10; box1.PackStart(box2, false, true, 0); Button button = new Button(Stock.Close); button.Clicked += new EventHandler(Close_Button); box2.PackStart(button, true, true, 0); button.CanDefault = true; button.GrabDefault(); window.ShowAll(); return(window); }
public static void Main(string[] args) { Application.Initialize(); var w = new Xwt.Window(); w.Padding = 0; w.Title = "Teststestse"; w.Hidden += (object s, EventArgs ea) => { Application.Exit(); w.Dispose(); }; var vb = new VBox(); w.Content = vb; TooltipWindow ttw = null; var b = new Button("Show tooltip"); b.Clicked += (object s, EventArgs ea) => { if (ttw != null) { ttw.Dispose(); } ttw = new TooltipWindow(); ttw.TransientFor = w; ttw.Show(); }; vb.PackStart(b); b = new Button("Hide tooltip"); b.Clicked += (object s, EventArgs ea) => { if (ttw != null) { ttw.Dispose(); } }; vb.PackStart(b); var mc = new MyMainComponent(); mc.LineColor = Colors.Green; mc.ExpandHorizontal = true; vb.PackStart(mc); var scr = new HScrollbar(); scr.ExpandHorizontal = true; vb.PackEnd(scr); scr.LowerValue = 0; scr.UpperValue = 1; scr.PageSize = 0.05; scr.PageIncrement = 0.05; mc = new MyMainComponent { LineColor = Colors.Blue, WidthRequest = 400, HeightRequest = 40 }; vb.PackEnd(mc); mc.ExpandHorizontal = true; mc.ExpandVertical = true; scr.ValueChanged += (object o, EventArgs ea) => { mc.modValue = scr.Value; mc.QueueDraw(); }; var button = new Button("Hello"); mc.AddChild(button, 50, 20); w.Show(); Application.Run(); Application.Dispose(); }