[Anygui-devel] Tasks
Brought to you by:
mlh
From: Magnus L. H. <ml...@id...> - 2002-01-04 22:10:46
|
While we are debugging the current release (in the hope of getting a relatively stable 0.1), we should also start thinking about release 0.2. There are a few areas we need to work in here: 1. Refactoring of the FBI. How heavy must it be? What should be done? 2. Add menus. Some thoughts are found in IRFC 0011. Although I'd like to make the menu mechansim as simple as possible, we ought to think about adding support for automatically changing the menu structure based on current focus etc. 3. Add graphics. We have already started work on Canvas, but it needs to be continued (including support for text and fonts), and implemented in all backends. Also, the graphics mechanism must be changed to fit the loose coupling architecture used elsewhere, or it won't work with several of the backends. 4. Complete the event set. We need to design a list of events with corresponding keyword arguments that will cover our needs in release 0.2, and it needs to be fairly complete. (Probably not as complete as in many other GUI packages, since we don't support as many ways of generating events, and since we want to keep things simple.) This also necessitates, of course, adding the proper calls to send in all the backends. 5. Design an interface for adding new native widgets. This may simply be the standard FBI, but I think we ought to make something even simpler, if possible. (Actually, this might not be possible...) The idea is that it should be possible (preferrably *easy* for simple tasks) to implement backend-dependent components, with pure-Anygui alternatives for backends you don't explicitly support. Even a very simple mechanism (based on the backend() function and some helpful Component superclass) is acceptable for release 0.2. 6. More layout managers. We shouldn't have many of these, but in addition to the Placer, we might want a grid. Also, I think we should look into utility functions here, such as col(), row(), and grid() (as discussed previously), and possibly the indexing scheme borrowed from NumPy (also described earlier). Perhaps there are other simple "sizers" we could use as well (e.g. "fill 70% of this component on the left side" etc.) 7. Create an easy-to-understand, easy-to-update FBI (Frontend-Backend-Interface) specification, with the supported attributes of each component, and which events they should generate. (Other things?) This may seem like a lot of work, but just look at what we've already accomplished! :) I have picked up some preferences from some of you, and suggest the following (but others are certainly welcome to jump in here): Alex spearheads the refactoring of the FBI, possibly including some simple FBI specification Laura spearheads the design and implementation of the event list Joe spearheads the design and implementation of the Canvas mechanism, as well as the layout manager set We still need someone who is passionate <wink> about menus to take a look at the new menu system; as for the "passthrough API" I think that can be done without a "designated champion", but if someone wants to take a look at it, that's great :) So... What do you want to work with specifically? Are there things I've missed? Other things that need a "champion"? There are other smaller tasks too, of course, such as implementing native dialogues for such things as file opening etc. (Just take a look at the TODO file.) Take your pick ;) As for the "spearheading" and "championing", that's mainly a matter of making sure things are done, not necessarily doing all the work yourself, of course :) -- Magnus Lie Hetland The Anygui Project http://hetland.org http://anygui.org |