On Sun, Aug 14, 2011 at 8:25 AM, Oliver Sims <
[email protected]> wrote:

> **
> Here is a table I drew up to distinguish between the "initialization"
> sequences of three types of dialog. Any comments welcome - especially if any
> mistakes or omissions seen.
>



Hi Oliver

The table is mostly correct.  A few comments.

Menus are completely independent objects.  It makes no difference in the
dialog's cycle where there are created.  The only restriction is that a menu
bar can not be attached to a dialog until the underlying dialog has been
created by operating system.  Although it makes sense to attach the menu bar
to the dialog in the initDialog() method, it is not a requirement.

In addition, the type of menu bar that can be used is not tied to the type
of dialog.  I.e., a ScriptMenuBar can be used in any type of dialog
(UserDialog, RcDialog, ResDialog.)  This is true for all the menu bar types
and dialog types.  Again, it probably makes sense that a programmer will use
a ScriptMenuBar with a RcDialog and a UserMenuBar with a UserDialog, it is
not a requirement.

It may be misleading to put too much about menu bars in your table.

The underlying Windows dialog is created during the execute() method, not
before it.  (Or during one of the related execute methods, popup(),
popupAsChild(), or executeAsync().)

Also, you have "Underlying dialog (Dialog Template) created?  Maybe you mean
the underlying dialog is created from the dialog template. ?  In both a
RcDialog and a ResDialog, the dialog *template* has been created before the
Rexx program is even started.  In a User dialog the dialog template is
created during the create() method of a UserDialog and controls are added to
that template in the defineDialog() method.  When the defineDialog() method
ends, the dialog template is finished.

--
Mark Miesfeld



>
>
>   * *
>
> *UserDialog*
>
> *RcDialog*
>
> *ResDialog*
>
> *Comment*
>
> *dlg~new(…)*
>
> Yes****
>
> Yes****
>
> Yes****
>
> ** **
>
> *init*
>
> Yes****
>
> * *
>
> Yes****
>
> Create Menubar****
>
> *.ScriptMenuBar~new*
>
> Yes****
>
> ** **
>
> ** **
>
> *defineDialog*
>
> Yes****
>
> Create Controls in the template with
> *self~createXxx(…) *where Xxx = control type.****
>
> Yes****
>
> Template defined by *.rc file****
>
> Can add controls and/or menu items.****
>
> No****
>
> (Template defined by *.dll file – cannot change it. So cannot add controls
> or menu items.)
>
> Called by superclass’ init method (except for ResDialog)
>
> *Underlying dialog (Dialog Template) created?*
>
> Yes****
>
> Yes****
>
> Yes****
>
> ** **
>
> *dlg~execute(…)*
>
> ** **
>
> ** **
>
> ** **
>
> ** **
>
> *initDialog*
>
>    Menubar:
>
>
> ****
>
>    Controls****
>
> * *
>
> *.BinaryMenuBar~new()
>
>
> *
>
> Create “proxy” controls with *self~newXxx(…) *
> where Xxx = control type.****
>
> ** **
>
> *menuBar~attachTo(self)
>
>
> *
>
> Create “proxy” controls with *self~newXxx(…) *
> where Xxx = control type.****
>
> ** **
>
> *.BinaryMenuBar~new
> *(plus optional create menu items)****
>
> Create “proxy” controls with *self~newXxx(…) *
> where Xxx = control type.****
>
> Called by super  via *dlg~execute()* ****
>
>
>
> ------------------------------------------------------------------------------
> FREE DOWNLOAD - uberSVN with Social Coding for Subversion.
> Subversion made easy with a complete admin console. Easy
> to use, easy to manage, easy to install, easy to extend.
> Get a Free download of the new open ALM Subversion platform now.
> http://p.sf.net/sfu/wandisco-dev2dev
> _______________________________________________
> Oorexx-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/oorexx-users
>
>
------------------------------------------------------------------------------
FREE DOWNLOAD - uberSVN with Social Coding for Subversion.
Subversion made easy with a complete admin console. Easy 
to use, easy to manage, easy to install, easy to extend. 
Get a Free download of the new open ALM Subversion platform now.
http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
Oorexx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-users

Reply via email to