On Tue, Jan 5, 2010 at 2:57 PM, Jim Simmons <nices...@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@lists.sugarlabs.org > http://lists.sugarlabs.org/listinfo/sugar-devel > -- Walter Bender Sugar Labs http://www.sugarlabs.org _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel