[opendx-dev] where and how do dx interactor modules bind with the GUI widgets?

2003-08-14 Thread Jack Chang
Hi,

I would be grateful if someone can tell me where and how do dx interactor
modules such as Interger/Scalar/Value bind with their corresponding GUI
widgets. I have been trying to figure out the relationship between various
module components defined in

/src/exec/dxmods   --- sort of standard dx modules implementation with mdf
   file entry and corresponding m_modulename codes.
   however, interactors such as Value and String are
   not implemented in such fashion and I still cannot
   find where do those two modules defined.
/src/uipp/dxui --- interactor definition and interactor node, certain
   interactor definitions do not follow the methods
   illustrated in the Interactor.h file (scalar
   interactor) while value interactor does.
   Nevertheless, I have no idea where do the value
   interactor been added to the DXModule entries.
/src/uipp/dxuilib  --- interactor instance
/src/uipp/base --- I would guess it is the place where everything is
   bound together but I still cannot figure out how
   the mechanism works.

I have looked into the Makefiles in various directories trying to find out
the dependency between each other but still could not make much sense out
of them.  It is very likely that I am trying to resolve the problem
through the wrong path hence I shall appreaciate greatly if someone can
point out the right way to modify dx interator modules' appearance and
behavior.

Sincerely,

Jack Chang





Re: [opendx-dev] where and how do dx interactor modules bind with the GUI widgets?

2003-08-14 Thread Gregory D Abram




A *very* involved question.  Its way complex and not really all that clear
in my mind.  Basically, each interactor corresponds to a instance of a
subclass of the Node object in the OpenDX ui.(There's no meaningful
separation between the contents of uipp/dxui and uipp/dxuilib - there were
too many files to put in one dir, so I split them arbitrarily - hereafter,
when I use the term 'dxui' I'll mean the OpenDX user interface program, and
'dxexec' will refer to the OpenDX executive program).   Actually, each
module in a network - each little cadet-blue box on the dxui canvas -
corresponds to a Node object in dxui.  Each Node has one or more Parameter
objects, which correspond to the inputs to the module.  When dxui sets a
module's input - that is, the module's input is set not by a wire from
another module, but by the dxui itself, either by the user modifying a CDB
or by adjusting an interactor, the corresponding Parameter object's
setValue method (there are a lot of forms of setValue - look in
Parameter.C) is called, which stores the value (as a text string) and sets
a dirty bit.  At some point, dxui determines that the exec needs updating,
and an variable assignment string is generated and downloaded to the
dxexec.  The variable name is determined by Node instance info - the module
type and instance number, and which parameter it is, and corresponds to the
parameter names that you see in the .net files.  When the dxexec executes
next, the new value of the parameter is seen by the module.

That's the short story.  Things get complex from there.  Each interactor
Node  instance owns the actual UI widget, and sets a callback on that
widget to cause the widget to (eventually) update the corresponding
parameter, but that flow-of-control is complicated - the so-called
CommandInterface is tied up in there somehow.   There are a bunch of custom
widgets.

Hope this helps - what are you trying to do?  If you are trying to get a
different look-and-feel, you might consider driving the dxui from a
separate UI via the DXLink API.

Greg



 
  Jack Chang
 
  [EMAIL PROTECTED]  To:   opendx 
deveoper network opendx2-dev@lists.berlios.de
  Sent by:   cc:
 
  [EMAIL PROTECTED]Subject:  [opendx-dev] where and 
how do dx interactor modules bind with the 
  son.ibm.com GUI widgets?  
 

 

 
  08/14/2003 09:52 AM   
 
  Please respond to 
 
  opendx-dev
 

 




Hi,

I would be grateful if someone can tell me where and how do dx interactor
modules such as Interger/Scalar/Value bind with their corresponding GUI
widgets. I have been trying to figure out the relationship between various
module components defined in

/src/exec/dxmods   --- sort of standard dx modules implementation with mdf
   file entry and corresponding m_modulename codes.
   however, interactors such as Value and String are
   not implemented in such fashion and I still cannot
   find where do those two modules defined.
/src/uipp/dxui --- interactor definition and interactor node, certain
   interactor definitions do not follow the methods
   illustrated in the Interactor.h file (scalar
   interactor) while value interactor does.
   Nevertheless, I have no idea where do the value
   interactor been added to the DXModule entries.
/src/uipp/dxuilib  --- interactor instance
/src/uipp/base --- I would guess it is the place where everything is
   bound together but I still cannot figure out how
   the mechanism works.

I have looked into the Makefiles in various directories