File: TestToolbar.cs

package info (click to toggle)
gtk-sharp 1%3A1.0.10-5
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 18,416 kB
  • ctags: 4,465
  • sloc: xml: 224,361; cs: 17,961; sh: 8,422; ansic: 2,724; makefile: 1,604; perl: 1,089
file content (132 lines) | stat: -rw-r--r-- 3,277 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
//
// TestToolbar.cs
//
// Author: Duncan Mak  (duncan@ximian.com)
//
// Copyright (C) 2002, Duncan Mak, Ximian Inc.
//

using System;

using Gtk;

namespace WidgetViewer {
	public class TestToolbar {

		static Window window = null;
		static Toolbar toolbar = null;
		static bool showTooltips = true;
		
		public static Gtk.Window Create ()
		{
			window = new Window ("Toolbar");
			window.Resizable = false;

			toolbar = new Toolbar ();
			toolbar.InsertStock (Stock.New, "Stock icon: New", "Toolbar/New",
					     new SignalFunc (set_small_icon), IntPtr.Zero, -1);

			toolbar.InsertStock (Stock.Open, "Stock icon: Open", "Toolbar/Open",
					     new SignalFunc (set_large_icon), IntPtr.Zero, -1);

			toolbar.AppendSpace ();

			toolbar.AppendItem ("Toggle tooltips", "toggle showing of tooltips", "Toolbar/Tooltips",
					    new Image (Stock.DialogInfo, IconSize.LargeToolbar),
					    new SignalFunc (toggle_tooltips));
			
			toolbar.AppendSpace ();

			toolbar.AppendItem ("Horizontal", "Horizontal layout", "Toolbar/Horizontal",
					    new Image (Stock.GoForward, IconSize.LargeToolbar),
					    new SignalFunc (set_horizontal));

			toolbar.AppendItem ("Vertical", "Vertical layout", "Toolbar/Vertical",
					    new Image (Stock.GoUp, IconSize.LargeToolbar),
					    new SignalFunc (set_vertical));
			
			toolbar.AppendSpace ();

			toolbar.AppendItem ("Icons", "Only show icons", "Toolbar/IconsOnly",
					    new Image (Stock.Home, IconSize.LargeToolbar),
					    new SignalFunc (set_icon_only));

			toolbar.AppendItem ("Text", "Only show Text", "Toolbar/TextOnly",
					    new Image (Stock.JustifyFill, IconSize.LargeToolbar),
					    new SignalFunc (set_text_only));

			toolbar.AppendItem ("Both", "Show both Icon & Text", "Toolbar/Both",
					    new Image (Stock.Index, IconSize.LargeToolbar),
					    new SignalFunc (set_both));

			toolbar.AppendItem ("Both (Horizontal)", "Show Icon & Text horizontally", "Toolbar/BothHoriz",
					    new Image (Stock.Index, IconSize.LargeToolbar),
					    new SignalFunc (set_both_horiz));

			toolbar.AppendSpace ();

			toolbar.InsertStock (Stock.Close, "Stock icon: Close", "Toolbar/Close",
					     new SignalFunc (Close_Button), IntPtr.Zero, -1);

			window.Add (toolbar);
			window.ShowAll ();
			return window;
		}

		static void set_small_icon ()
		{
			toolbar.IconSize = IconSize.SmallToolbar;
		}

		static void set_large_icon ()
		{
			toolbar.IconSize = IconSize.LargeToolbar;
		}

		static void set_icon_only ()
		{
			toolbar.ToolbarStyle = ToolbarStyle.Icons;
		}

		static void set_text_only ()
		{
			toolbar.ToolbarStyle = ToolbarStyle.Text;
		}

		static void set_horizontal ()
		{
			toolbar.Orientation = Orientation.Horizontal;
		}

		static void set_vertical ()
		{
			toolbar.Orientation = Orientation.Vertical;
		}
		
		static void set_both ()
		{
			toolbar.ToolbarStyle = ToolbarStyle.Both;
		}

		static void set_both_horiz ()
		{
			toolbar.ToolbarStyle = ToolbarStyle.BothHoriz;
		}

		static void toggle_tooltips ()
		{
			if (showTooltips == true)
				showTooltips = false;
			else
				showTooltips = true;

			toolbar.Tooltips = showTooltips;
			Console.WriteLine ("Show tooltips: " + showTooltips);
		}

		static void Close_Button ()
		{
			window.Destroy ();
		}
	}
}