Some corrections interspersed with your post:
> The next line of code assigns a variable “ourButton” for a Dabo
> button.
> Notice that I have added a new attribute “RegID”. Every control/
> object
> within the Dabo framework can have a “RegID” (or a name?). It
> should be
> unique and if you don't assign a “RegID” the framework will assign
> one. This
> is cool because it allows us (the programmers) to later reference
> the object.
> Knowing the “RegID” I can later assign a value or change a value or
> property
> of the object.
>
> ourButton=dabo.ui.dButton(self,RegID="selectButton",Caption= "...")
Couple of things. First, Python doesn't have variables; it has local
names for objects. You might think that this is hair-splitting, but
there are substantial differences, and long-time Pythonistas will
sneer at you if you call them 'variables'.
More importantly, you are confusing 'RegID' with an object's name.
The only thing that a RegID does is provide a unique identifier
within a form for an object that needs to be referenced from
somewhere else. They should never be used at a class level, such as a
custom container with a bunch of controls on it, since you don't know
what else may be on the form when that class is used. Dabo does not
assign RegIDs.
> Now let's open a file dialog.
> def _openDialog(self,evt):
> # need to pass the evt (in this case a click or Hit)
> evt.stop()
You definitely don't need to stop() the event, since button events
are not propagated up the containership tree. You should almost never
need to issue stop() for an event.
> theDialog=dabo.ui.dFileDialog(self)
> theDialog.show()
>
> First you must pass the event (in this case “evt”) otherwise the
> program will
> complain.
You don't "pass" the event; you have to accept it.
Events are raised by the UI. You write event handlers to react to
those events, and those handlers must accept an event object.
> The “evt” variable is very powerful. Using evt.EventObject
> provides the calling objects “ID” for example – there are many other
> attributes.
It's not a calling object, as it isn't doing any calling. It is the
object for which the event was raised. You may think it is just
semantics, but when you are creating a document to instruct others,
you must use the correct terminology.
-- Ed Leafe
-- http://leafe.com
-- http://dabodev.com
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: http://leafe.com/archives/byMID/dabo-users/[EMAIL PROTECTED]