gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GNUe] Help with firing an event from a button


From: chafar
Subject: Re: [GNUe] Help with firing an event from a button
Date: Fri, 26 Mar 2004 00:41:36 +0100
User-agent: Mutt/1.3.28i

El jue, mar 25, a las 15:25:57 James Thompson escrib?a:
> >
> > ...
> >
> 
> ...
> 
> Any time you see events mentioned inside the forms code base.  You are 
> dealing 
> with gnue-common's event dispatcher.  These events are internal to the forms 
> code and and not meant to be exposed to the trigger programmer.   The event 
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

> >
> > What I'd like is having a button with that functionality, as toolbar has
> > for next/previous/first/last records.
> 
> blockName.nextRecord()
> blockName.prevRecord()
> blockName.firstRecord()
> blockName.lastRecord()
> 
> > I've been looking at GFBlock, and found that with block methods, I'll
> > have to do a loop for '@rows' number or so. How can I get block/@rows
> > value?
> 
> I dont understand what you are after here?  Can you give more detail.
> 
> > In the other way, I suppose it should be possible to fire JUMPROWSXXX
> > events that would do the job. I've tried form.dispatchEvent() also,
> > but I got an Exception saying dispatchEvent was an unknown attribute,
> > thought it's a method from GFForm.
> 
> Events are internal only.  Trying to dispatchEvent() inside a trigger could   
>                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> lead to deadlock situations.  No methods from the GFForm should be run from 
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

> inside a trigger.  If you need a function exposed that isn't you will have to 
  ^^^^^^^^^^^^^^^^^

> add it to GFForm's self._triggerFunctions dictionary.  Depending on what you 
> are trying to do you might have to write a bit of wrapper code in their as 
> well.  Before you start hacking forms internal structures you'd probably want 
> to post here first.  As we may have a way of doing that already.  If not, 
> we'd like to make sure it fits the direction we're headed.  Then we could see 
> about adding it into the main code base for everyone to benifit from.
> 
> >
> > And I've looking for a way to customize toolbar and found defined at
> > ToolBar.py. I'm new to python, but I've seen, at documentation,
> > that yo can derive a new class with same that parent: could I do that
> > with ToolBar, redefining _DEFAULT_TOOLBAR and loading derived class via 
> > ImportPath to get a customized toolbar?
> 
> I don't think deriving a new class internally would be the way to do this.
> 
> We don't have a proper way to extend the toolbar/menu system yet.  ...

Thanks a lot for your explanation.

What I wanted was got the functionality of shift-PgUp shift-PgDn with a
button. I've considered three alternatives:

a) As long as the code for doing that is written, and reached via events
attached to keystrokes, I thought should be possible fire the event from
a trigger. Now, I know it's better not to do it.

b) Do it looping needed times blockname.prevRecord()/nextRecord(), but
the value of block/@rows is needed for this to be done, and I don't know
how, if can, to get it.

c) Add buttons to toolbar throwing those specific events, but now I know
that's no prevision for toolbar customization.

So, if you know a way I could get the value of rows attribute of block
element, I could do it. If not, I will attach a label to let my users
know that shift-PgDn/shift-PgUp do the job.

I've developed and maintained for many years enterprise apps, and I know
exactly what UI functionality I need. As a programmer, it's supposed I
am able to implement them for my users, but I'm new both to GNUe and
python, and there are many things about both I must know before
implementing solutions for things I care. Of course, when it's the
moment, I'll try it looking with all of you the best way from GNUe point
of view.

Thanks a lot for your efforts.
-- 
Jos? Esteban
Granada - Spain




reply via email to

[Prev in Thread] Current Thread [Next in Thread]