Yes, I think diagrams are useful to a lot of people.  If you're good with
Visio or some other diagraming program you can probably produce some nice
diagrams

We can review the dialgrams once you make them.  The one below seems
essentaily correct.

--
Mark Miesfeld

On Thu, Aug 11, 2011 at 6:31 AM, Oliver Sims <
oliver.s...@simsassociates.co.uk> wrote:

> Wrt "controls" in the rexx program and the underlying Windows controls, it
> occurred to me that
> a diagram in the Guide would help. Here's a rough sketch of what I have in
> mind:
>
>
> +----------+           +------------------+      Window on Screen
> | ooDialog |<--------->|  Windows         |       ____________
> +----------+           +---------------   |      /____________\
>      |                                |  |      |            |
> +----------------+                     |  |      |  A         |
> |  +---+  +---+  |      +---+  +---+   |  |<---->|            |
> |  | A"|  | B"|  |      | A'|  | B'|   |  |      |       B    |
> |  +---+  +---+  |      +---+  +---+   |  |      |            |
> |                |                     |  |      \____________/
> |   myProg.rex   |                     +--+
> +----------------+
>
>
> A" and B" are the Rexx objects that represent the underlying Windows
> controls, A' and B' are those underlying Windows controls, and A and B are
> the controls visible on the screen to the user.
>
> Maybe having a specific name for the rexx objects would be useful. In the
> Guide, I talk about them as "proxy controls", since they could be said to
> be
> proxies for the "real" underlying Windows controls (and then I drop this
> term, having hopefully explained the difference).
>
> Do you think this diagram adds to clarity, or to confusion? Is it correct
> at
> this level of abstraction?
>
> Thx
> Oliver
>
> PS: I'm working on another diagram to show the diffs between userDialog,
> RcDialog and ResDialog wrt when and what things happen on dialog
> creation/setup.
>
>
> -----Original Message-----
> From: Mark Miesfeld [mailto:miesf...@gmail.com]
> Sent: 09 August 2011 21:03
> To: Open Object Rexx Users
> Subject: Re: [Oorexx-users] ooDialog - defineDialog method
>
> On Tue, Aug 9, 2011 at 2:29 PM, Oliver Sims
> <oliver.s...@simsassociates.co.uk> wrote:
>
> > Wrt RcDialogs and ResDialogs:
> > I've been creating controls - e.g. ecCustNo = self~newEdit(...) - in
> > the initDialog method. But I've just re-read various things in the
> > ooDialog Reference, and it appears that better practice would be to
> > create them in the defineDialog method, since that's what it's there for
> (it appears).
> >
> > Is this a reasonable conclusion?
>
> No.  <grin>
>
> defineDialog() is for adding controls to / creating controls in the dialog
> template of a UserDialog.  With both a RcDialog and a ResDialog, the dialog
> template is already defined.
>
> In this line of code:
>
> ecCustNo = self~newEdit(...)
>
> you are not creating the control, you are instantiating a Rexx object that
> represents the underlying Windows dialog control.  The newEdit() method
> will
> in fact fail if the underlying dialog does not yet exist.
> This is the case in defineDialog(), the underlying dialog does not yet
> exist.
>
> In defineDialog() the programmer is still in the process of defining the
> dialog template.  It is impossible at this point for the underlying Windows
> dialog to exist.  Many, if not the majority of object methods in ooDialog
> *require* that the underlying dialog has been created by the operating
> system.  All of those methods can not be used in defineDialog.  All of
> those
> methods can be used in initDialog(), or after initDialog() has been
> invoked.
>
> This is a point that is often hard for people to understand.  I have seen a
> lot of people confused by this.
>
> Now with a RcDialog, the defineDialog() method is still invoked.  The
> programmer could use that to add *additional* controls to the dialog
> template by using the UserDialog createXXX methods.  (A RcDialog is a
> subclass of a UserDialog, so it has all the methods of the
> UserDialog.)  But these controls would be *added* to the controls that
> already exist in the .rc file.  If for instance you added a control here
> with the same ID as one already in the template (because it was in the .rc
> file) things would fail.  The OS would refuse to created the underlying
> dialog from the template.  (Because of the duplicate control IDs.)
>
> With a ResDialog, the defineDialog() method is never even invoked.
> The dialog template has already been compiled and can not be changed.
>
> --
> Mark Miesfeld
>
>
> ----------------------------------------------------------------------------
> --
> uberSVN's rich system and user administration capabilities and model
> configuration take the hassle out of deploying and managing Subversion and
> the tools developers use with it. Learn more about uberSVN and get a free
> download at:  http://p.sf.net/sfu/wandisco-dev2dev
> _______________________________________________
> Oorexx-users mailing list
> Oorexx-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-users
>
>
>
>
> ------------------------------------------------------------------------------
> Get a FREE DOWNLOAD! and learn more about uberSVN rich system,
> user administration capabilities and model configuration. Take
> the hassle out of deploying and managing Subversion and the
> tools developers use with it.
> http://p.sf.net/sfu/wandisco-dev2dev
> _______________________________________________
> Oorexx-users mailing list
> Oorexx-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-users
>
------------------------------------------------------------------------------
Get a FREE DOWNLOAD! and learn more about uberSVN rich system, 
user administration capabilities and model configuration. Take 
the hassle out of deploying and managing Subversion and the 
tools developers use with it. 
http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
Oorexx-users mailing list
Oorexx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-users

Reply via email to