diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/buttons.py | 64 | ||||
-rw-r--r-- | examples/cellrenderericon.py | 37 | ||||
-rw-r--r-- | examples/common.py | 72 | ||||
-rw-r--r-- | examples/customdestroy.py | 44 | ||||
-rw-r--r-- | examples/gtktreesensitive.py | 48 | ||||
-rw-r--r-- | examples/iconbadges.py | 28 | ||||
-rw-r--r-- | examples/iconcache.py | 70 | ||||
-rw-r--r-- | examples/iconwidget.py | 87 | ||||
-rw-r--r-- | examples/intro.py | 8 | ||||
-rw-r--r-- | examples/progress.py | 20 | ||||
-rw-r--r-- | examples/tabs.py | 46 | ||||
-rw-r--r-- | examples/ticket2855.py | 59 | ||||
-rw-r--r-- | examples/ticket2999.py | 35 | ||||
-rw-r--r-- | examples/ticket3000.py | 48 | ||||
-rw-r--r-- | examples/toolbarpalettes.py | 65 | ||||
-rw-r--r-- | examples/toolbuttons.py | 46 | ||||
-rw-r--r-- | examples/tray.py | 82 |
17 files changed, 859 insertions, 0 deletions
diff --git a/examples/buttons.py b/examples/buttons.py new file mode 100644 index 0000000..a222215 --- /dev/null +++ b/examples/buttons.py @@ -0,0 +1,64 @@ +from gi.repository import Gtk + +import common + + +test = common.Test() +test.show() + +vbox = Gtk.VBox() +test.pack_start(vbox, True, True, 0) +vbox.show() + +# test Gtk.SpinButton: + +adj = Gtk.Adjustment(0, 0, 10, 1, 32, 0) +spin = Gtk.SpinButton() +spin.set_adjustment(adj) +vbox.pack_start(spin, False, False, 1) +spin.show() + +# test Gtk.RadioButton: + +radio_1 = Gtk.RadioButton.new_with_label_from_widget(None, 'Radio 1') +vbox.pack_start(radio_1, False, False, 1) +radio_1.show() +radio_2 = Gtk.RadioButton.new_with_label_from_widget(radio_1, 'Radio 2') +vbox.pack_start(radio_2, False, False, 1) +radio_2.show() +radio_3 = Gtk.RadioButton.new_with_label_from_widget(radio_1, 'Radio 3') +vbox.pack_start(radio_3, False, False, 1) +radio_3.show() + +# test Gtk.CheckButton: + +check_1 = Gtk.CheckButton('Check 1') +vbox.pack_start(check_1, False, False, 1) +check_1.show() + +check_2 = Gtk.CheckButton('Check 2') +vbox.pack_start(check_2, False, False, 1) +check_2.show() + +# test Gtk.Button: + +button = Gtk.Button('Button') +vbox.pack_start(button, False, False, 1) +button.show() + +# test Gtk.Button insensitive: + +insensitive_button = Gtk.Button('Insensitive Button') +vbox.pack_start(insensitive_button, False, False, 1) +insensitive_button.props.sensitive = False +insensitive_button.show() + +# test Gtk.ToggleButton: + +toggle_button = Gtk.ToggleButton('ToggleButton') +vbox.pack_start(toggle_button, False, False, 1) +toggle_button.show() + + +if __name__ == '__main__': + common.main(test) diff --git a/examples/cellrenderericon.py b/examples/cellrenderericon.py new file mode 100644 index 0000000..1f87552 --- /dev/null +++ b/examples/cellrenderericon.py @@ -0,0 +1,37 @@ +from gi.repository import Gtk + +from sugar3.graphics import style +from sugar3.graphics.icon import CellRendererIcon + +import common + + +test = common.Test() +test.show() + +model = Gtk.ListStore(str) +for icon in ['one', 'two', 'three']: + model.append([icon]) + +treeview = Gtk.TreeView() +treeview.set_model(model) +test.pack_start(treeview, True, True, 0) +treeview.show() + +col = Gtk.TreeViewColumn() +treeview.append_column(col) + +cell_icon = CellRendererIcon(treeview) +cell_icon.props.width = style.GRID_CELL_SIZE +cell_icon.props.height = style.GRID_CELL_SIZE +cell_icon.props.size = style.SMALL_ICON_SIZE +cell_icon.props.icon_name = 'emblem-favorite' +col.pack_start(cell_icon, expand=False) + +cell_text = Gtk.CellRendererText() +col.pack_start(cell_text, expand=True) +col.add_attribute(cell_text, 'text', 0) + + +if __name__ == '__main__': + common.main(test) diff --git a/examples/common.py b/examples/common.py new file mode 100644 index 0000000..8d516ad --- /dev/null +++ b/examples/common.py @@ -0,0 +1,72 @@ +# Copyright (C) 2007, Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +from gi.repository import Gtk +from gi.repository import GObject + +from sugar3.graphics.toolbutton import ToolButton + +import os + + +def set_theme(): + settings = Gtk.Settings.get_default() + sugar_theme = 'sugar-72' + if 'SUGAR_SCALING' in os.environ: + if os.environ['SUGAR_SCALING'] == '100': + sugar_theme = 'sugar-100' + settings.set_property('gtk-theme-name', sugar_theme) + settings.set_property('gtk-icon-theme-name', 'sugar') +set_theme() + +class Test(Gtk.VBox): + def __init__(self): + GObject.GObject.__init__(self) + + +class TestPalette(Test): + def __init__(self): + Test.__init__(self) + + toolbar = Gtk.Toolbar() + + self._invoker = ToolButton('go-previous') + toolbar.insert(self._invoker, -1) + self._invoker.show() + + self.pack_start(toolbar, False) + toolbar.show() + + def set_palette(self, palette): + self._invoker.set_palette(palette) + + +class TestRunner(object): + def run(self, test): + window = Gtk.Window() + window.connect('destroy', lambda w: Gtk.main_quit()) + window.add(test) + test.show() + + window.show() + + +def main(test): + runner = TestRunner() + runner.run(test) + + Gtk.main() diff --git a/examples/customdestroy.py b/examples/customdestroy.py new file mode 100644 index 0000000..72156a8 --- /dev/null +++ b/examples/customdestroy.py @@ -0,0 +1,44 @@ +from gi.repository import Gtk + +""" +Since GTK+3 Gtk.CellRenderer doesn't have a destroy signal anymore. +We can do the cleanup in the python destructor method instead. + +""" + + +class MyCellRenderer(Gtk.CellRenderer): + def __init__(self): + Gtk.CellRenderer.__init__(self) + + def __del__(self): + print "cellrenderer destroy" + + def do_render(self, cairo_t, widget, background_area, cell_area, flags): + pass + + +def window_destroy_cb(*kwargs): + print "window destroy" + Gtk.main_quit() + +window = Gtk.Window(Gtk.WindowType.TOPLEVEL) +window.connect("destroy", window_destroy_cb) +window.show() + + +def treeview_destroy_cb(*kwargs): + print "treeview destroy" + +treeview = Gtk.TreeView() +treeview.connect("destroy", treeview_destroy_cb) +window.add(treeview) +treeview.show() + +col = Gtk.TreeViewColumn() +treeview.append_column(col) + +cel = MyCellRenderer() +col.pack_start(cel, expand=True) + +Gtk.main() diff --git a/examples/gtktreesensitive.py b/examples/gtktreesensitive.py new file mode 100644 index 0000000..875612f --- /dev/null +++ b/examples/gtktreesensitive.py @@ -0,0 +1,48 @@ +#!/usr/bin/python +from gi.repository import Gtk + + +import common +test = common.Test() +test.show() + + +class MyBox(Gtk.VBox): + + def __init__(self): + Gtk.VBox.__init__(self) + + self.scrolled = Gtk.ScrolledWindow() + self.scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, + Gtk.PolicyType.AUTOMATIC) + + self.store = Gtk.ListStore(str, str) + for i in range(5): + self.store.append([str(i), 'Item %s' % i]) + + self.treeview = Gtk.TreeView(self.store) + renderer_no_sens = Gtk.CellRendererText() + # set 'sensitive' property + renderer_no_sens.set_property('sensitive', False) + + renderer = Gtk.CellRendererText() + + column = Gtk.TreeViewColumn('\'sensitive\' False', + renderer_no_sens, text=0) + self.treeview.append_column(column) + + column = Gtk.TreeViewColumn('\'sensitive\' True', + renderer, text=1) + self.treeview.append_column(column) + + self.scrolled.add(self.treeview) + self.add(self.scrolled) + + self.show_all() + +vbox = MyBox() +test.pack_start(vbox, True, True, 0) +vbox.show() + +if __name__ == '__main__': + common.main(test) diff --git a/examples/iconbadges.py b/examples/iconbadges.py new file mode 100644 index 0000000..f72dfe3 --- /dev/null +++ b/examples/iconbadges.py @@ -0,0 +1,28 @@ +from gi.repository import Gtk + +from sugar3.graphics.icon import EventIcon +from sugar3.graphics.icon import Icon + +import common + + +test = common.Test() +test.show() + +vbox = Gtk.VBox() +test.pack_start(vbox, True, True, 0) +vbox.show() + +icon = Icon(icon_name="network-wireless-000") +icon.props.badge_name = 'emblem-favorite' +vbox.pack_start(icon, False, False, 0) +icon.show() + +icon = EventIcon(icon_name="network-wireless-000") +icon.props.badge_name = 'emblem-favorite' +vbox.pack_start(icon, False, False, 0) +icon.show() + + +if __name__ == '__main__': + common.main(test) diff --git a/examples/iconcache.py b/examples/iconcache.py new file mode 100644 index 0000000..5a027d9 --- /dev/null +++ b/examples/iconcache.py @@ -0,0 +1,70 @@ +# Copyright (C) 2007, Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +""" +Test the sugar3.graphics.icon.* cache. +""" + +from gi.repository import Gtk + +from sugar3.graphics.icon import Icon +from sugar3.graphics.xocolor import XoColor + +import common + +test = common.Test() + +data = [ + ['battery-000', '#FF8F00,#FF2B34'], + ['battery-010', '#D1A3FF,#00A0FF'], + ['battery-020', '#FF8F00,#FF2B34'], + ['battery-030', '#00A0FF,#D1A3FF'], + ['battery-040', '#AC32FF,#FF2B34'], + ['battery-050', '#D1A3FF,#00A0FF'], + ['battery-060', '#AC32FF,#FF2B34'], + ['battery-070', '#00A0FF,#D1A3FF'], + ['battery-080', '#FF8F00,#FF2B34'], + ['battery-090', '#D1A3FF,#00A0FF'], + ['battery-100', '#AC32FF,#FF2B34']] + + +def _button_activated_cb(button): + import random + + global data + random.shuffle(data) + + for i in range(0, len(test.get_children()) - 1): + test.get_children()[i].props.icon_name = data[i][0] + test.get_children()[i].props.xo_color = XoColor(data[i][1]) + +for d in data: + icon = Icon(icon_name=d[0], + icon_size=Gtk.IconSize.LARGE_TOOLBAR, + xo_color=XoColor(d[1])) + test.pack_start(icon, True, True, 0) + icon.show() + +button = Gtk.Button('mec mac') +test.pack_start(button, True, True, 0) +button.connect('activate', _button_activated_cb) +button.show() + +test.show() + +if __name__ == '__main__': + common.main(test) diff --git a/examples/iconwidget.py b/examples/iconwidget.py new file mode 100644 index 0000000..e4d7f26 --- /dev/null +++ b/examples/iconwidget.py @@ -0,0 +1,87 @@ +# Copyright (C) 2007, Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +""" +Test the sugar3.graphics.icon.Icon widget. +""" + +from gi.repository import Gtk + +from sugar3.graphics.icon import Icon +from sugar3.graphics.xocolor import XoColor + +import common + +test = common.Test() + +hbox = Gtk.HBox() +test.pack_start(hbox, True, True, 0) +sensitive_box = Gtk.VBox() +insensitive_box = Gtk.VBox() + +hbox.pack_start(sensitive_box, True, True, 0) +hbox.pack_start(insensitive_box, True, True, 0) +hbox.show_all() + + +def create_icon_widgets(box, sensitive=True): + icon = Icon(icon_name='go-previous') + icon.props.icon_size = Gtk.IconSize.LARGE_TOOLBAR + box.pack_start(icon, True, True, 0) + icon.set_sensitive(sensitive) + icon.show() + + icon = Icon(icon_name='computer-xo', + icon_size=Gtk.IconSize.LARGE_TOOLBAR, + xo_color=XoColor()) + box.pack_start(icon, True, True, 0) + icon.set_sensitive(sensitive) + icon.show() + + icon = Icon(icon_name='battery-000', + icon_size=Gtk.IconSize.LARGE_TOOLBAR, + badge_name='emblem-busy') + box.pack_start(icon, True, True, 0) + icon.set_sensitive(sensitive) + icon.show() + + icon = Icon(icon_name='gtk-new', + icon_size=Gtk.IconSize.LARGE_TOOLBAR, + badge_name='gtk-cancel') + box.pack_start(icon, True, True, 0) + icon.set_sensitive(sensitive) + icon.show() + + +create_icon_widgets(sensitive_box, True) +create_icon_widgets(insensitive_box, False) + +test.show() + +# This can be used to test for leaks by setting the LRU cache size +# in icon.py to 1. +#def idle_cb(): +# import gc +# gc.collect() +# test.queue_draw() +# return True +# +#from gi.repository import GObject +#GObject.idle_add(idle_cb) + +if __name__ == '__main__': + common.main(test) diff --git a/examples/intro.py b/examples/intro.py new file mode 100644 index 0000000..05c5b5a --- /dev/null +++ b/examples/intro.py @@ -0,0 +1,8 @@ +from gi.repository import Gtk +from common import set_theme +from jarabe.intro.window import IntroWindow + +set_theme() +win = IntroWindow() +win.show_all() +Gtk.main() diff --git a/examples/progress.py b/examples/progress.py new file mode 100644 index 0000000..bc176a8 --- /dev/null +++ b/examples/progress.py @@ -0,0 +1,20 @@ +from gi.repository import Gtk + +import common + + +test = common.Test() +test.show() + +box = Gtk.HBox() +test.pack_start(box, True, False, 10) +box.show() + +bar = Gtk.ProgressBar() +bar.set_fraction(0.5) +box.pack_start(bar, True, True, 10) +bar.show() + + +if __name__ == '__main__': + common.main(test) diff --git a/examples/tabs.py b/examples/tabs.py new file mode 100644 index 0000000..fbc4bac --- /dev/null +++ b/examples/tabs.py @@ -0,0 +1,46 @@ +#!/usr/bin/python +from gi.repository import Gtk + +from sugar3.graphics.icon import Icon + +import common +test = common.Test() +test.show() + +box = Gtk.HBox() +test.pack_start(box, True, True, 0) +box.show() + +# notebook without button + +notebook = Gtk.Notebook() +box.pack_start(notebook, True, True, 0) +notebook.show() + +for i in range(3): + hbox = Gtk.HBox() + notebook.append_page(hbox, Gtk.Label('Page %d' % (i + 1))) + hbox.show() + +# notebook with buttons + +notebook = Gtk.Notebook() +box.pack_start(notebook, True, True, 0) +notebook.show() + +add_icon = Icon(icon_name='add') +button = Gtk.Button() +button.props.focus_on_click = False +button.add(add_icon) +add_icon.show() + +notebook.set_action_widget(button, Gtk.PackType.END) +button.show() + +for i in range(3): + hbox = Gtk.HBox() + notebook.append_page(hbox, Gtk.Label('Page %d' % (i + 1))) + hbox.show() + +if __name__ == '__main__': + common.main(test) diff --git a/examples/ticket2855.py b/examples/ticket2855.py new file mode 100644 index 0000000..0de36a3 --- /dev/null +++ b/examples/ticket2855.py @@ -0,0 +1,59 @@ +# Copyright (C) 2007, Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +""" +Test the style of toggle and radio buttons inside a palette. The buttons +contains only an icon and should be rendered similarly to the toolbar +controls. Ticket #2855. +""" + +from gi.repository import Gtk + +from sugar3.graphics.palette import Palette +from sugar3.graphics.icon import Icon + +import common + +test = common.TestPalette() + +palette = Palette('Test radio and toggle') +test.set_palette(palette) + +box = Gtk.HBox() + +toggle = Gtk.ToggleButton() + +icon = Icon(icon_name='go-previous', icon_size=Gtk.IconSize.LARGE_TOOLBAR) +toggle.set_image(icon) + +box.pack_start(toggle, False) +toggle.show() + +radio = Gtk.RadioButton() + +icon = Icon(icon_name='go-next', icon_size=Gtk.IconSize.LARGE_TOOLBAR) +radio.set_image(icon) + +radio.set_mode(False) +box.pack_start(radio, False) +radio.show() + +palette.set_content(box) +box.show() + +if __name__ == '__main__': + common.main(test) diff --git a/examples/ticket2999.py b/examples/ticket2999.py new file mode 100644 index 0000000..0d42297 --- /dev/null +++ b/examples/ticket2999.py @@ -0,0 +1,35 @@ +# Copyright (C) 2007, One Laptop Per Child +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +""" +Spec in ticket #2999. +""" + +from gi.repository import Gtk + +import common + +test = common.Test() +test.set_border_width(60) + +text_view = Gtk.TextView() +text_view.props.buffer.props.text = 'Blah blah blah, blah blah blah.' +test.pack_start(text_view, True, True, 0) +text_view.show() + +if __name__ == '__main__': + common.main(test) diff --git a/examples/ticket3000.py b/examples/ticket3000.py new file mode 100644 index 0000000..295d796 --- /dev/null +++ b/examples/ticket3000.py @@ -0,0 +1,48 @@ +# Copyright (C) 2007, One Laptop Per Child +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +""" +Spec in ticket #3000. +""" + +from gi.repository import Gtk + +from sugar3.graphics.toolbutton import ToolButton + +import common + +test = common.Test() + +toolbar = Gtk.Toolbar() +test.pack_start(toolbar, False) +toolbar.show() + +button = ToolButton('go-previous') +toolbar.insert(button, -1) +button.show() + +separator = Gtk.SeparatorToolItem() +toolbar.add(separator) +separator.show() + +button = ToolButton('go-next') +toolbar.insert(button, -1) +button.show() + + +if __name__ == '__main__': + common.main(test) diff --git a/examples/toolbarpalettes.py b/examples/toolbarpalettes.py new file mode 100644 index 0000000..93177c1 --- /dev/null +++ b/examples/toolbarpalettes.py @@ -0,0 +1,65 @@ +# Copyright (C) 2007, Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +""" +Test palette positioning for toolbar and tray. +""" + +from gi.repository import Gtk + +from sugar3.graphics.tray import HTray, TrayButton +from sugar3.graphics.toolbutton import ToolButton + +import common + +test = common.Test() + +vbox = Gtk.VBox() + +theme_icons = Gtk.IconTheme.get_default().list_icons() + +toolbar = Gtk.Toolbar() +vbox.pack_start(toolbar, False) +toolbar.show() + +for i in range(0, 5): + button = ToolButton(icon_name=theme_icons[i]) + button.set_tooltip('Icon %d' % i) + toolbar.insert(button, -1) + button.show() + +content = Gtk.Label() +vbox.pack_start(content, True, True, 0) +content.show() + +tray = HTray() +vbox.pack_start(tray, False) +tray.show() + +for i in range(0, 30): + button = TrayButton(icon_name=theme_icons[i]) + button.set_tooltip('Icon %d' % i) + tray.add_item(button) + button.show() + +test.pack_start(vbox, True, True, 0) +vbox.show() + +test.show() + +if __name__ == '__main__': + common.main(test) diff --git a/examples/toolbuttons.py b/examples/toolbuttons.py new file mode 100644 index 0000000..e189406 --- /dev/null +++ b/examples/toolbuttons.py @@ -0,0 +1,46 @@ +from gi.repository import Gtk + +from sugar3.graphics.toolbarbox import ToolbarBox +from sugar3.graphics.colorbutton import ColorToolButton +from sugar3.graphics.radiotoolbutton import RadioToolButton +from sugar3.graphics.toggletoolbutton import ToggleToolButton + +import common + + +test = common.Test() +test.show() + +vbox = Gtk.VBox() +test.pack_start(vbox, True, True, 0) +vbox.show() + +toolbar_box = ToolbarBox() +vbox.pack_start(toolbar_box, False, False, 0) +toolbar_box.show() + +radial_button = RadioToolButton(icon_name='view-radial') +toolbar_box.toolbar.insert(radial_button, -1) +radial_button.show() + +list_button = RadioToolButton(icon_name='view-list') +list_button.props.group = radial_button +toolbar_box.toolbar.insert(list_button, -1) +list_button.show() + +separator = Gtk.SeparatorToolItem() +toolbar_box.toolbar.insert(separator, -1) +separator.show() + +color_button = ColorToolButton() +toolbar_box.toolbar.insert(color_button, -1) +color_button.show() + +favorite_button = ToggleToolButton('emblem-favorite') +favorite_button.set_tooltip('Favorite') +toolbar_box.toolbar.insert(favorite_button, -1) +favorite_button.show() + + +if __name__ == '__main__': + common.main(test) diff --git a/examples/tray.py b/examples/tray.py new file mode 100644 index 0000000..3da60e3 --- /dev/null +++ b/examples/tray.py @@ -0,0 +1,82 @@ +# Copyright (C) 2007, Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +""" +Test the sugar3.graphics.icon.Icon widget. +""" + +from gi.repository import Gtk + +from sugar3.graphics.tray import HTray, VTray +from sugar3.graphics.tray import TrayButton, TrayIcon + +import common + +test = common.Test() + +vbox = Gtk.VBox() + +tray = HTray() +vbox.pack_start(tray, False, False, 0) +tray.show() + +theme_icons = Gtk.IconTheme.get_default().list_icons(context=None) + +for i in range(0, 100): + button = TrayButton(icon_name=theme_icons[i]) + tray.add_item(button) + button.show() + +tray = HTray() +vbox.pack_start(tray, False, False, 0) +tray.show() + +for i in range(0, 10): + icon = TrayIcon(icon_name=theme_icons[i]) + tray.add_item(icon) + icon.show() + +hbox = Gtk.HBox() + +tray = VTray() +hbox.pack_start(tray, False, False, 0) +tray.show() + +for i in range(0, 100): + button = TrayButton(icon_name=theme_icons[i]) + tray.add_item(button) + button.show() + +tray = VTray() +hbox.pack_start(tray, False, False, 0) +tray.show() + +for i in range(0, 4): + button = TrayButton(icon_name=theme_icons[i]) + tray.add_item(button) + button.show() + +vbox.pack_start(hbox, True, True, 0) +hbox.show() + +test.pack_start(vbox, True, True, 0) +vbox.show() + +test.show() + +if __name__ == '__main__': + common.main(test) |