🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.graphics.avs
2 messages
2 total messages Started by Brian Cabral Thu, 21 Jan 1993 19:05
Widget control
#273
Author: Brian Cabral
Date: Thu, 21 Jan 1993 19:05
14 lines
1057 bytes
   I am interested in creating a complex AVS widget panel. Specifically, I
want to have a number of widgets popup as function of the boolean state
of other widgets on the panel. The only way I see of performing this task
is to maintain state in the main body of a co-routine and control the
creation and deletion of the contingent widgets. Does anyone know
of a better way of doing this or if AVS has a built in facility for handling
this sort of contingent widget control? I'll listen to the news group
for the answer. Thanks.


				Brian Cabral (B.c.)
				Lawrence Livermore National Laboratory
				Center for Advanced Visualization
Re: Widget control
#278
Author: Brian Hayes 74-35 x65129
Date: Fri, 22 Jan 1993 21:17
74 lines
3686 bytes
In article <147125@lll-winken.LLNL.GOV> cabral@lll-crg.llnl.gov (Brian Cabral) writes:
>
>   I am interested in creating a complex AVS widget panel. Specifically, I
>want to have a number of widgets popup as function of the boolean state
>of other widgets on the panel. The only way I see of performing this task
>is to maintain state in the main body of a co-routine and control the
>creation and deletion of the contingent widgets. Does anyone know
>of a better way of doing this or if AVS has a built in facility for handling
>this sort of contingent widget control? I'll listen to the news group
>for the answer. Thanks.

Brian:
   What's the problem with your approach?  Sounds okay to me.  I can do
   you one better:  I determine which panel to display in seperate 
   executable written in Ada.  
   But, to provide you with another solution, I _suspect_ that you may be
   able to describe the state dependent panels in a network file(s)
   where the panels may may share common widgets (parameters).  
   The problem with this is
     a) AVS may not allow you to share common widgets across panels and
     b) you'll still have to maintain the state.
   As an alternative suggestion, I suggest you put unique widgets on
   each state dependent panel.  You'll have to name and access each
   widget with a unique name.  For example "HELP Panel 1" and "HELP
   Panel 2." In this example, I want to have the buttons both labeled 
   "HELP"...not "Help Panel 1" and "Help Panel 2." code excerpts are as
   follows:

   int example_desc ()
   {
      ...
      param1 = AVSadd_parameter("Help Panel 1", "oneshot", 0, 0, 1);
      param1 = AVSadd_parameter_prop (param1, "title", "string",
      "HELP");
      AVSconnect_widget (param1, "oneshot");
      param2 = AVSadd_parameter("Help Panel 2", "oneshot", 0, 0, 1);
      param2 = AVSadd_parameter_prop (param2, "title", "string",
      "HELP");
      AVSconnect_widget (param2, "oneshot");
     ...
   }

   int example_comp (...Help_Panel_1, Help_Panel_2, ...)
   ...
   {
      ...
      if (AVSparameter_changed ("Help Panel 1")) {
	/* Some action...which just so happens to be state dependent
	since the help buttons appear on different panels! :-) */
      } else if (AVSparameter_changed ("Help Panel 2")) {
      ...
      } ...
      ...
   }

   Since the panels describe the state by providing the user with the 
   control widgets (and other widgets) applicable only to that state, 
   state dependent action can be obtained without explicity maintaining
   a state.  We retitle the buttons so that the user does not see that 
   he/she/otherwise is manipulating a parameter named differently than 
   it is titled.

   The drawback to this approach is that you have lots of widgets.  For
   example if you have 5 panels that share 5 commonly titled oneshots, 
   you need to define 25 uniquely named parameters and have 25 if-AVS-
   parameter-changed statements (thank goodness for copy-cut-and-replace
   =:^)

   Brian Hayes

-- 
| Brian Hayes		| "Know you analysis and design methodology, |
| (310) 616-5129	|  its strengths and weaknesses!" -B.S.Hayes |
| hayes@hac2arpa.hac.com| <standard disclaimer here>                 |
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads