BioGTK  6.7.0
A .NET library & program for annotating, editing various microscopy imaging formats using Bioformats supported images. Including whole slide, pyramidal, and series.
Loading...
Searching...
No Matches
NumberPicker.cs
1using Gtk;
2using System;
3using System.Collections.Generic;
4using System.IO;
5using System.Linq;
6using System.Text;
7using System.Threading.Tasks;
8
9namespace BioGTK
10{
11 public class NumberPicker : Dialog
12 {
13 #region Properties
14 private Builder _builder;
15
16#pragma warning disable 649
17 [Builder.Object]
18 private Gtk.Button okBut;
19 [Builder.Object]
20 private Gtk.Button cancelBut;
21 [Builder.Object]
22 private Gtk.SpinButton numericBox;
23 [Builder.Object]
24 private Gtk.Scale bar;
25#pragma warning restore 649
26
27 #endregion
28
29 #region Constructors / Destructors
30 string selection;
31 Enum ens;
35 public static NumberPicker Create(double min, double max, double start = 0)
36 {
37 Builder builder = new Builder(new FileStream(System.IO.Path.GetDirectoryName(Environment.ProcessPath) + "/" + "Glade/NumberPicker.glade", FileMode.Open));
38 return new NumberPicker(builder, builder.GetObject("numberPicker").Handle, min, max, start);
39 }
40
41 /* The constructor for the NumberPicker class. */
42 protected NumberPicker(Builder builder, IntPtr handle, double min, double max, double start = 0) : base(handle)
43 {
44 _builder = builder;
45 builder.Autoconnect(this);
46 okBut.ButtonPressEvent += OkBut_ButtonPressEvent;
47 cancelBut.ButtonPressEvent += CancelBut_ButtonPressEvent;
48 numericBox.ValueChanged += NumericBox_ValueChanged;
49 bar.ValueChanged += Bar_ValueChanged;
50 Min = min;
51 Max = max;
52 numericBox.Adjustment.StepIncrement = 1;
53 bar.Adjustment.StepIncrement = 1;
54 SelectedValue = start;
55 Show();
56 App.ApplyStyles(this);
57 }
58
59 private void Bar_ValueChanged(object sender, EventArgs e)
60 {
61 numericBox.Value = bar.Value;
62 }
63
64 private void NumericBox_ValueChanged(object sender, EventArgs e)
65 {
66 bar.Value = numericBox.Value;
67 }
68
73 private void CancelBut_ButtonPressEvent(object o, ButtonPressEventArgs args)
74 {
75 Respond(ResponseType.Cancel);
76 Hide();
77 }
78
79
80 private void OkBut_ButtonPressEvent(object o, ButtonPressEventArgs args)
81 {
82 Hide();
83 Respond(ResponseType.Ok);
84 }
85
86 public double SelectedValue
87 {
88 get { return numericBox.Value; }
89 set
90 {
91 numericBox.Value = value;
92 }
93 }
94 public double Min
95 {
96 get { return numericBox.Adjustment.Lower; }
97 set
98 {
99 numericBox.Adjustment.Lower = value;
100 bar.Adjustment.Lower = value;
101 }
102 }
103 public double Max
104 {
105 get { return numericBox.Adjustment.Upper; }
106 set
107 {
108 numericBox.Adjustment.Upper = value;
109 bar.Adjustment.Upper = value;
110 }
111 }
112 #endregion
113
114 }
115}
static NumberPicker Create(double min, double max, double start=0)
Definition ML.cs:17