Changes
Development Team/Almanac/Code Snippets (view source)
Revision as of 20:30, 6 March 2007
, 20:30, 6 March 2007→Toolbar
{{OLPC}}
= Toolbar =
This snippet shows how an activity would have a toolbar with a button and a gtk.TextView widget embedded in a hippo Canvas:
import logging
import hippo
import gtk
from gettext import gettext as _
from sugar.activity import activity
from sugar.graphics.toolbar import Toolbar
from sugar.graphics.iconbutton import IconButton
from sugar.graphics.entry import Entry
from sugar.graphics.optionmenu import OptionMenu
from sugar.graphics.menu import MenuItem
class FooActivity(activity.Activity):
_ACTION_ANYTHING = 1
_ACTION_APPLES = 2
_ACTION_ORANGES = 3
def __init__(self, handle):
activity.Activity.__init__(self, handle)
vbox = hippo.CanvasBox()
self.set_root(vbox)
toolbar = Toolbar()
vbox.append(toolbar)
button = IconButton(icon_name='theme:stock-close')
button.connect("activated", self._button_activated_cb)
toolbar.append(button)
entry = Entry()
button.connect("activated", self._entry_activated_cb)
toolbar.append(entry)
option_menu = OptionMenu()
option_menu.add_item(MenuItem(self._ACTION_ANYTHING, _('Anything')))
option_menu.add_item(MenuItem(self._ACTION_APPLES, _('Apples'),
'theme:stock-close'))
option_menu.add_item(MenuItem(self._ACTION_ORANGES, _('Oranges')))
option_menu.add_separator()
toolbar.append(option_menu)
text_view_widget = hippo.CanvasWidget()
vbox.append(text_view_widget, hippo.PACK_EXPAND)
text_view = gtk.TextView()
text_view.get_buffer().set_text('Write here!', -1)
text_view_widget.props.widget = text_view
def _button_activated_cb(self, button):
logging.debug('FooActivity._button_activated_cb')
def _entry_activated_cb(self, entry):
logging.debug('FooActivity._entry_activated_cb')
= Files =
This snippet shows how to get a [http://mailman.laptop.org/pipermail/sugar/2007-February/001459.html path to files in the running Activity]:
from sugar.activity import activity
bundle_path = activity.get_bundle_path()
[[Category:HowTo]]
[[Category:Sugar]]
= Toolbar =
This snippet shows how an activity would have a toolbar with a button and a gtk.TextView widget embedded in a hippo Canvas:
import logging
import hippo
import gtk
from gettext import gettext as _
from sugar.activity import activity
from sugar.graphics.toolbar import Toolbar
from sugar.graphics.iconbutton import IconButton
from sugar.graphics.entry import Entry
from sugar.graphics.optionmenu import OptionMenu
from sugar.graphics.menu import MenuItem
class FooActivity(activity.Activity):
_ACTION_ANYTHING = 1
_ACTION_APPLES = 2
_ACTION_ORANGES = 3
def __init__(self, handle):
activity.Activity.__init__(self, handle)
vbox = hippo.CanvasBox()
self.set_root(vbox)
toolbar = Toolbar()
vbox.append(toolbar)
button = IconButton(icon_name='theme:stock-close')
button.connect("activated", self._button_activated_cb)
toolbar.append(button)
entry = Entry()
button.connect("activated", self._entry_activated_cb)
toolbar.append(entry)
option_menu = OptionMenu()
option_menu.add_item(MenuItem(self._ACTION_ANYTHING, _('Anything')))
option_menu.add_item(MenuItem(self._ACTION_APPLES, _('Apples'),
'theme:stock-close'))
option_menu.add_item(MenuItem(self._ACTION_ORANGES, _('Oranges')))
option_menu.add_separator()
toolbar.append(option_menu)
text_view_widget = hippo.CanvasWidget()
vbox.append(text_view_widget, hippo.PACK_EXPAND)
text_view = gtk.TextView()
text_view.get_buffer().set_text('Write here!', -1)
text_view_widget.props.widget = text_view
def _button_activated_cb(self, button):
logging.debug('FooActivity._button_activated_cb')
def _entry_activated_cb(self, entry):
logging.debug('FooActivity._entry_activated_cb')
= Files =
This snippet shows how to get a [http://mailman.laptop.org/pipermail/sugar/2007-February/001459.html path to files in the running Activity]:
from sugar.activity import activity
bundle_path = activity.get_bundle_path()
[[Category:HowTo]]
[[Category:Sugar]]