From: MIGUEL A. B. L. <x51...@fe...> - 2000-11-10 11:07:42
|
Mensaje citado por: masahiro minami <el...@aa...>: > Hi, Miguel, > Thanks for your CVS update. > > >I will try to code a button has to show what I am speaking about. > > > > > > I think you know pretty well, but my design for button code; > > 1) class GenericCommand > > This wraps SDL_Event, and other event / command > GenericCommand( SDL_Event* e ) > GenericCommand( int type, void* data ) > > If type == 0, it means SDL_Event. > Other types are application dependant. > > 2) Add createCommand() to ACommander class > createCommand( int type, void* data ) > It should be called in case button is pressed / menu item is selected... > > 3) AppBase needs to have pointer to current AppBase object. > Something like; > > static ACommander* AppBase::currentApplication... > > I'm not very good at this 'static' thing.... sorry... > But you know what I mean. > We can then call from ACommander::createCommand() function like this; > .... > AppBase::currentApplication->handleCommand( GenericComamnd* ) > .... > > ..... > > You see in ACommander::handleCommand(), you can check the event type > then send it to either its children ( in case SDL_Event as it is now ) or > to > applicaiton specific command / event handler. > > Of course we should inherit and extend AppBase class for ArianneApp class, > for example.... I have to commit, but I have created a new class called AWidget, that inherit from Acommander and GUIPart. All the control should inherit from AWidget. Also I have added to AWindow the two ( or three ) methods to control the widgets: AddWidget(AWidget *wid, ); Remove (Just like windows in appbase but with widgets) > Well just to 'sync' our work... you must know better than I do ;) > If you have better idea, please let me know. I have done button with a callback to function. void (*f)(void); This way when you press the button, the function is called. > P.S. I'm having trouble with Label class (font).... hmmm... just please > wait... X-D, Me too. I can't press the button. I will work on this. BTW if your code compile please commit it to the CVS, so that we can have the lastest. |