User Tools

Site Tools


pracro:widgets

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
pracro:widgets [2008/11/25 08:56] – created devapracro:widgets [2010/08/04 08:31] (current) deva
Line 1: Line 1:
 ======Pracro Widgets design page====== ======Pracro Widgets design page======
-=====Pseudo widget=====+ 
 +=====Meta widget=====
 <code xml> <code xml>
-<pseudo name="foobar" layout="hbox" format="foo ${a}${b} bar">+<metawidget name="foobar" layout="hbox" format="foo ${a}${b} bar">
   <label caption="a:"/>   <label caption="a:"/>
   <lineedit name="a"/>   <lineedit name="a"/>
   <label caption="b:"/>   <label caption="b:"/>
   <lineedit name="b"/>   <lineedit name="b"/>
-</pseudo>+</metawidget>
 </code> </code>
-The pseudo widget encapsulates a number of widgets in a single widget, producing their result value through a format string.\\ +The meta widget encapsulates a number of widgets in a single widget, producing their result value through a format string.\\ 
-When ''getValue'' is called on the pseudo widget it constructs its result string by parsing the format string, and replacing every ''${foobar}'' occurrence with the corresponding ''getValue'' call to the ''foobar'' widget.\\ +When ''getValue'' is called on the meta widget it constructs its result string by parsing the format string, and replacing every ''${foobar}'' occurrence with the corresponding ''getValue'' call to the ''foobar'' widget.\\ 
-It does not as such make any sense to ''setValue'' on the pseudo widget, and the only reasonable thing to do when ''setValue'' is called, is to ignore it.\\+It does not as such make any sense to ''setValue'' on the meta widget, and the only reasonable thing to do when ''setValue'' is called, is to ignore it.\\
 The contained (named) widgets will not be stored independently in the database.\\ The contained (named) widgets will not be stored independently in the database.\\
 \\ \\
Line 33: Line 34:
 \\ \\
 The entire regexp match scenario might be implemented and activated through an attribute ''use_regexp_set_value'' or something the like. So the user only enables it when absolute certain that it makes sense for the contained widgets and their format string. The entire regexp match scenario might be implemented and activated through an attribute ''use_regexp_set_value'' or something the like. So the user only enables it when absolute certain that it makes sense for the contained widgets and their format string.
 +
 +
  
 =====Combobox alternative widget===== =====Combobox alternative widget=====
Line 49: Line 52:
 The lineedit and its label will be put below the combobox (due to the vbox layout attribute of the altcombobox) and the label and lineedit will be positioned horizontally (due to the hbox layout attribute of the altitem tag).\\ The lineedit and its label will be put below the combobox (due to the vbox layout attribute of the altcombobox) and the label and lineedit will be positioned horizontally (due to the hbox layout attribute of the altitem tag).\\
 When the altitem is selected, the lineedit is active, and its value is defining the value of the outer altcombo.\\ When the altitem is selected, the lineedit is active, and its value is defining the value of the outer altcombo.\\
-When reloading the value from the db, it will first try to match the value against all items, and if that fails, it will set the value to "Name4", and cal setValue on the inner widget (''bar'').+When reloading the value from the db, it will first try to match the value against all items, and if that fails, it will set the value to "Name4", and cal setValue on the inner widget (''bar'').\\ 
 +\\ 
 +IDEA: Mulitple ''altitem''s!\\ 
 +An area are reserved for the largest ''altitem'' and the selected ''altitem'' shows up in that space. If a normal item is selected, the space is left empty.\\ 
 +\\ 
 +IDEA-Shootdown!\\ 
 +Multiple ''altitem''s makes it impossible to determine where an old value came from.
  
-=====Alternative widget=====+=====Alternative widget (conditional)=====
 **OBSOLETE**\\ **OBSOLETE**\\
 Two format strings. One for each widget set. Two format strings. One for each widget set.
Line 69: Line 78:
 </code> </code>
 which can be used later to determine which of the alternatives were used, given that the fields in primary and secondary do not contain overlapping names. which can be used later to determine which of the alternatives were used, given that the fields in primary and secondary do not contain overlapping names.
 +
 +=====LUA methods=====
 +<code lua>
 +name()
 +
 +type()
 +
 +value()
 +setValue()
 +
 +enabled()
 +setEnabled()
 +
 +visible()
 +setVisible()
 +
 +valid()
 +setValid()
 +</code>
 +
 +<code lua>
 +checked()
 +setChecked()
 +</code>
  
pracro/widgets.1227599794.txt.gz · Last modified: 2008/11/25 08:56 by deva