Removed debugtests
[mono.git] / mcs / class / System.Windows.Forms / Gtk / demo.cs
1 //
2 // System.Windows.Forms Demo app
3 //
4 // Authors: 
5 //    Joel Basson (jstrike@mweb.co.za)
6 //    Philip Van Hoof (me@freax.org)
7 //
8 //
9
10 using System;
11 using System.Drawing;
12 using System.Windows.Forms;
13
14 namespace demo
15 {
16         
17         public class GtkForm : System.Windows.Forms.Form
18         {
19                 private Button copybutton = new Button();
20                 private Button pastebutton = new Button();
21                 private Button cutbutton = new Button();
22                 private Button button1 = new Button(); 
23                 private Button button2 = new Button(); 
24                 private Label label1 = new Label();
25                 private TextBox text1 = new TextBox(); 
26                 private ProgressBar bar1 = new ProgressBar();
27                 private CheckBox check1 = new CheckBox();
28                 private RadioButton opt1 = new RadioButton();
29                 private RadioButton opt2 = new RadioButton();
30                 private RadioButton opt3 = new RadioButton();
31                 private GroupBox frame1 = new GroupBox();
32                 private PictureBox pbox = new PictureBox();
33                 private FileDialog fdialog = new FileDialog();
34                 private VScrollBar vScrollBar1 = new VScrollBar();
35                 private HScrollBar hScrollBar1 = new HScrollBar();
36
37                 private void InitializeWidgets()
38                 {
39                         this.vScrollBar1.Location = new Point(10, 10);
40                         this.vScrollBar1.Maximum = 200;
41                         this.vScrollBar1.Name = "vScrollBar1";
42                         this.vScrollBar1.Size = new Size(24, 200);
43                         this.vScrollBar1.TabIndex = 0;
44                         this.vScrollBar1.ValueChanged += new EventHandler(this.vScrollBar1_ValueChanged);
45                         
46                         this.vScrollBar1.BackColor = Color.Brown;
47
48                         this.hScrollBar1.Location = new System.Drawing.Point(50, 60);
49                         this.hScrollBar1.Maximum = 200;
50                         this.hScrollBar1.Minimum = 10;
51                         this.hScrollBar1.Name = "hScrollBar1";
52                         this.hScrollBar1.Size = new System.Drawing.Size(360, 24);
53                         this.hScrollBar1.ValueChanged += new EventHandler(this.hScrollBar1_ValueChanged);
54
55                         this.button1.Location = new Point(150, 28);
56                         this.button1.Name = "button1";
57                         this.button1.Size = new Size(128, 44);
58                         this.button1.Text = "Apply";
59                         this.button1.Click += new EventHandler(this.button1_Click);    
60                         this.button1.Enabled = false;
61                         
62
63                         this.button2.Location = new Point(150, 85);
64                         this.button2.Name = "button2";
65                         this.button2.Size = new Size(128, 44);
66                         this.button2.Text = "File";
67                         this.button2.Click += new EventHandler(this.button2_Click); 
68                         this.button2.ForeColor = Color.Brown;
69
70                         this.copybutton.Click += new EventHandler(this.copybutton_Click); 
71                         this.pastebutton.Click += new EventHandler(this.pastebutton_Click); 
72                         this.cutbutton.Click += new EventHandler(this.cutbutton_Click); 
73
74                         this.copybutton.Location = new Point(320, 80); 
75                         this.pastebutton.Location = new Point(320, 100); 
76                         this.cutbutton.Location = new Point(320, 120);
77
78                         this.copybutton.Size = new Size(150, 20); 
79                         this.pastebutton.Size = new Size(150, 20); 
80                         this.cutbutton.Size = new Size(150, 20); 
81
82                         this.copybutton.Text ="Copy";
83                         this.pastebutton.Text ="Paste";
84                         this.cutbutton.Text ="Cut";
85
86                         this.text1.Location = new Point(320,48);
87                         this.text1.Name = "textBox1";
88                         this.text1.Size = new Size(150, 22);
89                         this.text1.Text = this.button1.Name;
90
91                         this.bar1.Location = new Point(0, 230);
92                         this.bar1.Size = new Size(512, 20);
93                         this.bar1.Text = "This is a ProgressBar";
94                         this.bar1.Value = 25;
95
96                         this.bar1.ForeColor = Color.Blue;
97                         this.bar1.BackColor = Color.Lime;
98
99                         this.label1.Location = new Point(330, 20);
100                         this.label1.Text = "This is a Label";   
101
102                         this.check1.Location = new Point(150, 160);
103                         this.check1.Size = new Size(180, 20);
104                         this.check1.Text = "arbitrary CheckBox";
105                         this.check1.Checked = false;
106
107                         this.opt1.Location = new Point(20, 160);
108                         this.opt1.Size = new Size(100, 20);
109                         this.opt1.Text = "CenterImage";
110
111                         this.opt2.Location = new Point(20,180);
112                         this.opt2.Size = new Size(100, 20);
113                         this.opt2.Text = "StretchImage";
114
115                         this.opt3.Location = new Point(20,200);
116                         this.opt3.Size = new Size(100, 20);
117                         this.opt3.Text = "Normal";
118
119                         this.frame1.Location = new Point(15, 140);
120                         this.frame1.Size = new Size (110, 85);
121                         this.frame1.Text = "Properties";
122
123                         this.pbox.Location = new Point (25, 28);
124                         this.pbox.Size = new Size(100, 100);
125
126                         //
127                         // Add you image name and path below
128                         // pbox.File = "/home/jstrike/Shared/7804.jpg";
129                         //
130
131                         this.Controls.AddRange(new System.Windows.Forms.Control[] { 
132                                                 this.button1,
133                                                 this.button2,
134                                                 this.copybutton,
135                                                 this.pastebutton,
136                                                 this.cutbutton,
137                                                 this.text1, 
138                                                 this.bar1, 
139                                                 this.check1,
140                                                 this.opt1,
141                                                 this.opt2,
142                                                 this.opt3,
143                                                 this.frame1,
144                                                 this.pbox,
145                                                 this.fdialog,
146                                                 this.vScrollBar1,
147                                                 this.hScrollBar1,
148                                                 this.label1 });
149
150                         this.Size = new Size(512, 250);
151                 }
152
153                 public GtkForm()
154                 {
155                         InitializeWidgets();
156                 }
157
158                 private void set_Text1_to_scrollbarvalues() {
159                         this.text1.Text = String.Format ("{0}, {1}", this.vScrollBar1.Value, this.hScrollBar1.Value);
160                         this.bar1.Value = this.hScrollBar1.Value;
161                 }
162
163                 private void vScrollBar1_ValueChanged (object sender, EventArgs e) { 
164                         this.set_Text1_to_scrollbarvalues ();
165                 }
166
167                 private void hScrollBar1_ValueChanged (object sender, EventArgs e) { 
168                         this.set_Text1_to_scrollbarvalues ();
169                 }
170
171
172                 private void copybutton_Click(object sender, EventArgs e){ 
173                         //text1.Select (1, 4);
174                         text1.Copy();
175                 }
176
177                 private void pastebutton_Click(object sender, EventArgs e){ 
178                         //text1.SelectAll();
179                         text1.Paste();
180                 }
181
182                 private void cutbutton_Click(object sender, EventArgs e){ 
183                         text1.Cut();
184                 }
185
186                 private void button1_Click(object sender, EventArgs e){ 
187                 
188                         pbox.File = fdialog.OpenFile;
189                                 if (this.opt2.Checked) { 
190                                         this.pbox.SizeMode = PictureBoxSizeMode.StretchImage;
191                                 }
192                                 if (this.opt1.Checked){
193                                         this.pbox.SizeMode = PictureBoxSizeMode.CenterImage;
194                                 }       
195                                 if (this.opt3.Checked){
196                                         this.pbox.SizeMode = PictureBoxSizeMode.Normal;
197                                 }       
198                 }
199
200                 private void button2_Click(object sender, EventArgs e){                                                         
201                         fdialog.ShowDialog();
202                         button1.Enabled = true;
203                 }
204
205                 }
206         
207         public class GtkMain
208         {
209                 public static void Main()
210                 {
211                         GtkForm form1 = new GtkForm ();
212                         form1.Text = "System.Windows.Forms at work!";                   
213                         Application.Run(form1);
214                 }
215         }
216 }