diff options
Diffstat (limited to 'toolkit/examples/radiopalette.py')
-rw-r--r-- | toolkit/examples/radiopalette.py | 74 |
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() |