[Sugar-devel] Several chapters of "Make Your Own Sugar Activities!" ready for review, feedback
Walter Bender
walter.bender at gmail.com
Tue Jan 5 15:42:59 EST 2010
On Tue, Jan 5, 2010 at 2:57 PM, Jim Simmons <nicestep at gmail.com> wrote:
> I've been working on a Floss Manual that should be a beginner's guide
> to creating Sugar Activities. I've got 64 page's worth (in the PDF
> version) written and I feel confident that I will finish this book
> eventually. What I have now may be good enough to criticize. It
> contains some pretty good code samples, some reasonable
> recommendations, and a fair number of screen shots. So far it covers
> writing a basic Activity in Python, running it with sugar-emulator,
> and getting the code in Git. Future chapters will include doing i18n
> with Pootle, distributing the Activity, doing text to speech with and
> without highlighting, and collaboration features. I may stick
> something on Activity debugging techniques in somewhere too.
>
> Other stuff that *should* be included, but which I am not currently
> qualified to write, would include:
>
> * Developing Activities on a Mac
> * Creating an Activity using PyGame instead of PyGTK.
> * Creating the new-styled toolbars
> * etc., etc.
>
> If you want to check out what I have the URL is:
>
> http://en.flossmanuals.net/ActivitiesGuideSugar/Introduction
>
> Any help anyone can provide on this will be greatly appreciated. If
> you want to register as a writer and contribute stuff of your own or
> edit my stuff you have my blessing.
>
Jim,
This is a great start. I'll try to help out with some of the missing piece.
Re how to handle the new toolbars, I have some examples from other
programs, but I am happy to work with you on the ReadEtext example if
you want. The only thing you need are some icons to represent the
toolbar submenus. Your current activity icon will replace the
"Activity" toolbar; there is a standard icon for the "Edit" toolbar
('toolbar-edit'); likewise, for the 'View" toolbar ('toolbar-view').
You'll need to decide on an icon for the "Read" toolbar, perhaps the
icon from the Read activity?
The "trick" then is to figure out which version of Sugar you are
running in order to decide which toolbars to use. I am lazy and just
catch an ImportError:
import sugar
from sugar.activity import activity
try: # 0.86+ toolbar widgets
from sugar.bundle.activitybundle import ActivityBundle
from sugar.activity.widgets import ActivityToolbarButton
from sugar.activity.widgets import StopButton
from sugar.graphics.toolbarbox import ToolbarBox
from sugar.graphics.toolbarbox import ToolbarButton
sugar86 = True
except ImportError:
sugar86 = False
pass
from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.menuitem import MenuItem
from sugar.graphics.icon import Icon
later...
if sugar86 is True:
toolbar_box = ToolbarBox()
...
self.set_toolbar_box(toolbar_box)
toolbar_box.show()
else:
self.toolbox = activity.ActivityToolbox(self)
self.set_toolbox(self.toolbox)
...
self.toolbox.show()
self.toolbox.set_current_toolbar(1)
There are a few more details regarding sharing callbacks between the
toolbars, etc. Maybe checkout
http://git.sugarlabs.org/projects/visualmatch/repos/mainline/blobs/master/VisualMatchActivity.py
for an example.
-walter
> Thanks,
>
> James Simmons
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel
>
--
Walter Bender
Sugar Labs
http://www.sugarlabs.org
More information about the Sugar-devel
mailing list