[Sugar-devel] Several chapters of "Make Your Own Sugar Activities!" ready for review, feedback
Walter Bender
walter.bender at gmail.com
Tue Jan 5 22:02:56 EST 2010
Is Sugar on a Stick a suitable test environment for you? That is 0.86.
-walter
On Tue, Jan 5, 2010 at 4:20 PM, Jim Simmons <nicestep at gmail.com> wrote:
> Walter,
>
> I've used the import exception method myself. It looks like this will
> be a bit more complicated than I had planned on, because it would seem
> that I'd need a .86 environment to test in. I have two development
> boxes at home, one running Fedora 10 (which I plan to leave alone) and
> another running 11, which I could update to 12 if that would give me
> .86. Unfortunately, Fedora's idea of upgrade seems to be a clean
> install, which I'd like to put off. Maybe I should finish the rest of
> the chapters before I try making new style toolbars.
>
> You've given me a good start though, and I think I can figure out the
> rest. I could probably figure out the PyGame stuff too. It's the
> "developing on a Mac" topic that has me stumped.
>
> Thanks,
>
> James Simmons
>
>
> On Tue, Jan 5, 2010 at 2:42 PM, Walter Bender <walter.bender at gmail.com> wrote:
>> 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
>>
>
--
Walter Bender
Sugar Labs
http://www.sugarlabs.org
More information about the Sugar-devel
mailing list