annotate gtk/tool_bar.d @ 27:f3d91579bb28

Checkpoint
author David Bryant <daveb@acres.com.au>
date Wed, 29 Jul 2009 14:11:35 +0930
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
1 module gtk.toolbar;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
2
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
3 public {
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
4 import gtk.Toolbar;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
5 }
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
6
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
7 private {
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
8 import gtk.ToolButton;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
9 import gtk.SeparatorToolItem;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
10 import gtk.RadioToolButton;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
11 import gtk.Image;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
12
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
13 import glib.ListSG;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
14
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
15 import std.stdio;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
16 }
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
17
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
18 class ToolBar : Toolbar {
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
19 this() {
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
20 // INVALID, MENU, SMALL_TOOLBAR, LARGE_TOOLBAR,
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
21 // BUTTON, DND, DIALOG
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
22 setIconSize(GtkIconSize.LARGE_TOOLBAR);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
23 // ICONS, TEXT, BOTH, BOTH_HORIZ
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
24 setStyle(GtkToolbarStyle.ICONS);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
25 // HORIZONTAL, VERTICAL
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
26 setOrientation(GtkOrientation.HORIZONTAL);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
27 setTooltips(true);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
28
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
29 Image image;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
30 ListSG group;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
31
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
32 image = new Image("icons/select.svg");
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
33 button1 = new RadioToolButton(group);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
34 button1.setLabelWidget(image);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
35 insert(button1);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
36
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
37 image = new Image("icons/select.png");
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
38 button2 = new RadioToolButton(group);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
39 button2.setGroup(button1.getGroup);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
40 button2.setLabelWidget(image);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
41 button2.addOnClicked(&on_clicked);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
42 insert(button2);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
43
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
44 insert(new SeparatorToolItem);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
45
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
46 image = new Image("icons/select.png");
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
47 button3 = new RadioToolButton(group);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
48 button3.setGroup(button1.getGroup);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
49 button3.setLabelWidget(image);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
50 insert(button3);
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
51 }
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
52
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
53 private {
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
54
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
55 void on_clicked(ToolButton tool_button) {
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
56 writefln("Clicked!");
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
57 }
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
58
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
59 RadioToolButton button1;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
60 RadioToolButton button2;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
61 RadioToolButton button3;
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
62 }
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents:
diff changeset
63 }