Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-10-16 22:18:23 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-10-16 22:18:23 (GMT)
commit20bfc743e98f553d6e4ef284e0bdb397ecaa8b84 (patch)
tree2b8954199f8cf8123617646ce954a5bdd3ee3086
parentb8d8b8e05e729f60007152c6468bb03874e18972 (diff)
use set_icon_name
-rw-r--r--toolbar_utils.py158
1 files changed, 3 insertions, 155 deletions
diff --git a/toolbar_utils.py b/toolbar_utils.py
index 4b3b046..6e110f5 100644
--- a/toolbar_utils.py
+++ b/toolbar_utils.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2011, Walter Bender
-
+# Port To GTK3:
+# Ignacio Rodriguez <ignaciorodriguez@sugarlabs.org>
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
@@ -10,160 +11,7 @@
# along with this library; if not, write to the Free Software
# Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA
-'''
-# Gtk 2
-import gtk
-
-from sugar.graphics.radiotoolbutton import RadioToolButton
-from sugar.graphics.toolbutton import ToolButton
-from sugar.graphics.combobox import ComboBox
-from sugar.graphics.toolcombobox import ToolComboBox
-
-
-def combo_factory(combo_array, toolbar, callback, cb_arg=None,
- tooltip=None, default=None):
- #Factory for making a toolbar combo box
- combo = ComboBox()
- if tooltip is not None and hasattr(combo, 'set_tooltip_text'):
- combo.set_tooltip_text(tooltip)
- if cb_arg is not None:
- combo.connect('changed', callback, cb_arg)
- else:
- combo.connect('changed', callback)
- for i, selection in enumerate(combo_array):
- combo.append_item(i, selection, None)
- combo.show()
- toolitem = gtk.ToolItem()
- toolitem.add(combo)
- if hasattr(toolbar, 'insert'): # the main toolbar
- toolbar.insert(toolitem, -1)
- else: # or a secondary toolbar
- toolbar.props.page.insert(toolitem, -1)
- toolitem.show()
- if default is not None:
- combo.set_active(combo_array.index(default))
- return combo
-
-
-def entry_factory(default_string, toolbar, tooltip=None, max=3):
- # Factory for adding a text box to a toolbar
- entry = gtk.Entry()
- entry.set_text(default_string)
- if tooltip is not None and hasattr(entry, 'set_tooltip_text'):
- entry.set_tooltip_text(tooltip)
- entry.set_width_chars(max)
- entry.show()
- toolitem = gtk.ToolItem()
- toolitem.add(entry)
- if hasattr(toolbar, 'insert'): # the main toolbar
- toolbar.insert(toolitem, -1)
- else: # or a secondary toolbar
- toolbar.props.page.insert(toolitem, -1)
- toolitem.show()
- return entry
-
-
-def button_factory(icon_name, toolbar, callback, cb_arg=None, tooltip=None,
- accelerator=None):
- # Factory for making tooplbar buttons
- button = ToolButton(icon_name)
- if tooltip is not None:
- button.set_tooltip(tooltip)
- button.props.sensitive = True
- if accelerator is not None:
- button.props.accelerator = accelerator
- if cb_arg is not None:
- button.connect('clicked', callback, cb_arg)
- else:
- button.connect('clicked', callback)
- if hasattr(toolbar, 'insert'): # the main toolbar
- toolbar.insert(button, -1)
- else: # or a secondary toolbar
- toolbar.props.page.insert(button, -1)
- button.show()
- return button
-
-def radio_factory(name, toolbar, callback, cb_arg=None, tooltip=None,
- group=None):
- #Add a radio button to a toolbar
- button = RadioToolButton(group=group)
- button.set_icon_name(name)
- if callback is not None:
- if cb_arg is None:
- button.connect('clicked', callback)
- else:
- button.connect('clicked', callback, cb_arg)
- if hasattr(toolbar, 'insert'): # Add button to the main toolbar...
- toolbar.insert(button, -1)
- else: # ...or a secondary toolbar.
- toolbar.props.page.insert(button, -1)
- button.show()
- if tooltip is not None:
- button.set_tooltip(tooltip)
- return button
-
-
-def label_factory(toolbar, label_text, width=None):
- #Factory for adding a label to a toolbar
- label = gtk.Label(label_text)
- label.set_line_wrap(True)
- if width is not None:
- label.set_size_request(width, -1) # doesn't work on XOs
- label.show()
- toolitem = gtk.ToolItem()
- toolitem.add(label)
- if hasattr(toolbar, 'insert'): # the main toolbar
- toolbar.insert(toolitem, -1)
- else: # or a secondary toolbar
- toolbar.props.page.insert(toolitem, -1)
- toolitem.show()
- return label
-
-
-def separator_factory(toolbar, expand=False, visible=True):
- #add a separator to a toolbar
- separator = gtk.SeparatorToolItem()
- separator.props.draw = visible
- separator.set_expand(expand)
- if hasattr(toolbar, 'insert'): # the main toolbar
- toolbar.insert(separator, -1)
- else: # or a secondary toolbar
- toolbar.props.page.insert(separator, -1)
- separator.show()
-
-
-def image_factory(image, toolbar, tooltip=None):
- # Add an image to the toolbar
- img = gtk.Image()
- img.set_from_pixbuf(image)
- img_tool = gtk.ToolItem()
- img_tool.add(img)
- if tooltip is not None:
- img.set_tooltip_text(tooltip)
- if hasattr(toolbar, 'insert'): # the main toolbar
- toolbar.insert(img_tool, -1)
- else: # or a secondary toolbar
- toolbar.props.page.insert(img_tool, -1)
- img_tool.show()
- return img
-
-
-def spin_factory(default, min, max, callback, toolbar):
- spin_adj = gtk.Adjustment(default, min, max, 1, 32, 0)
- spin = gtk.SpinButton(spin_adj, 0, 0)
- spin_id = spin.connect('value-changed', callback)
- spin.set_numeric(True)
- spin.show()
- toolitem = gtk.ToolItem()
- toolitem.add(spin)
- if hasattr(toolbar, 'insert'): # the main toolbar
- toolbar.insert(toolitem, -1)
- else:
- toolbar.props.page.insert(toolitem, -1)
- toolitem.show()
- return spin
-'''
from gi.repository import Gtk
from sugar3.graphics.radiotoolbutton import RadioToolButton
@@ -240,7 +88,7 @@ def radio_factory(name, toolbar, callback, cb_arg=None, tooltip=None,
group=None):
''' Add a radio button to a toolbar '''
button = RadioToolButton(group=group)
- button.set_icon_name(name)
+ button.set_icon_name(icon_name)
if callback is not None:
if cb_arg is None:
button.connect('clicked', callback)