Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/toolkit/examples/radiopalette.py
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/examples/radiopalette.py')
-rw-r--r--toolkit/examples/radiopalette.py74
1 files changed, 74 insertions, 0 deletions
diff --git a/toolkit/examples/radiopalette.py b/toolkit/examples/radiopalette.py
new file mode 100644
index 0000000..85b43ce
--- /dev/null
+++ b/toolkit/examples/radiopalette.py
@@ -0,0 +1,74 @@
+import gtk
+
+from sugar.graphics.radiopalette import RadioPalette, RadioMenuButton, \
+ RadioToolsButton
+from sugar.graphics.radiotoolbutton import RadioToolButton
+from sugar.graphics.toolbutton import ToolButton
+from sugar.graphics import style
+
+window = gtk.Window()
+
+box = gtk.VBox()
+window.add(box)
+
+toolbar = gtk.Toolbar()
+box.pack_start(toolbar, False)
+
+text_view = gtk.TextView()
+box.pack_start(text_view)
+
+def echo(button, label):
+ if not button.props.active:
+ return
+ text_view.props.buffer.props.text += "\n" + label
+
+# RadioMenuButton
+
+palette = RadioPalette()
+
+group = RadioToolButton(
+ icon_name='document-open')
+group.connect('clicked', lambda button: echo(button, 'document-open'))
+palette.append(group, 'menu.document-open')
+
+button = RadioToolButton(
+ icon_name='document-save',
+ group=group)
+button.connect('clicked', lambda button: echo(button, 'document-save'))
+palette.append(button, 'menu.document-save')
+
+button = RadioToolButton(
+ icon_name='document-send',
+ group=group)
+button.connect('clicked', lambda button: echo(button, 'document-send'))
+palette.append(button, 'menu.document-send')
+
+button = RadioMenuButton(palette=palette)
+toolbar.insert(button, -1)
+
+# RadioToolsButton
+
+palette = RadioPalette()
+
+group = RadioToolButton(
+ icon_name='document-open')
+group.connect('clicked', lambda button: echo(button, 'document-open'))
+palette.append(group, 'menu.document-open')
+
+button = RadioToolButton(
+ icon_name='document-save',
+ group=group)
+button.connect('clicked', lambda button: echo(button, 'document-save'))
+palette.append(button, 'menu.document-save')
+
+button = RadioToolButton(
+ icon_name='document-send',
+ group=group)
+button.connect('clicked', lambda button: echo(button, 'document-send'))
+palette.append(button, 'menu.document-send')
+
+button = RadioToolsButton(palette=palette)
+toolbar.insert(button, -1)
+
+window.show_all()
+gtk.main()