


                                                               xwafedesign(1)



   NAME

     xwafedesign - a design tool for wafe applications


   SYNOPSIS

     xwafedesign [-c _c_o_l_o_r_m_o_d_e] [-3]


   DESCRIPTION

     _x_w_a_f_e_d_e_s_i_g_n is an interactive design tool for _w_a_f_e applications (see
     manual page wafeapp) written in Perl. In short, xwafedesign allows a
     user to develop wafe applications in tcl or Perl interactively. The user
     can select widgets from a list and insert it into the widget tree of an
     application. Resources can be set interactively, widget (sub)trees can
     be inserted, duplicated of deleted, and an according tcl or perl program
     can be created.


   OPTIONS

     In addition to the standard toolkit options such as -display, -name,
     -geometry, -iconic, -xrm etc. (see manual page X) xwafedesign accepts
     the following options:

     -c _c_o_l_o_r_m_o_d_e
          start xwafedesign using the given color-mode (for details see
          manual page wafeapp); color modes are for example _m_o_n_o, _b_l_u_e_i_s_h or
          _w_h_e_a_t-_i_s_h.


     -3   do not use 3 dimensional widgets. This option depends of the confi-
          guration in the system.waferc file (see manual page wafeapp).


   LAYOUT and INTERACTION


     When xwafedesign is started two window shells will pop up: the
     _x_w_a_f_e_d_e_s_i_g_n _w_i_n_d_o_w and the _p_r_e_v_i_e_w _w_i_n_d_o_w. On the left hand side of the
     xwafedesign window a list of widgets is presented, which depends on the
     version of X Window (R4 or R5) and the packages compiled into Wafe (eg.
     the plotter widget set). When a button of this list is pressed the
     corresponding widget will be created and inserted into the widget tree
     displayed at the right half of the xwafedesign window. The widget insert
     rules will be described below. We will assume the user pressed the label
     button to create a label widget as son of form1. The newly created label
     label1 will be displayed in the preview window as well.

     A widget can be selected or unselected. A selected widget is displayed
     inverted in the widget tree. A widget can be selected either by pressing


                                                                            1






   xwafedesign(1)


     the left mouse button <Btn1> on the widget name in the widget tree or by
     pressing shift<Btn3> in the widget in the preview window.

     When one ore more widgets are selected the user set-able resource names
     are displayed in the middle part of the xwafedesign window.  If more
     than one widget was selected the intersection of the resource names is
     presented. When the left mouse button is pressed on a resource name (eg.
     background) a dialog pops up where a new value of the resource can be
     entered. Note, that also Perl-variables from the wafe configuration can
     be used here. If for instance "$backGround" is inserted the background
     color of an application created by xwafedesign will inherit the color of
     the -C option. Other useful Perl variables to be entered in such dialog
     boxes are fontnames such as "$boldFont" or the value of shadowWith
     "$threeD" (if wafe was compiled with the libXaw3d).

     The insertion rule for widgets is defined as follows: If the widget to
     be inserted can be child of a selected widget, the last selected widget
     will be used as father. This is particulary easy, if only one widget is
     selected. If no widget is selected, the fist created widget suitable as
     parent widget will be chosen. This will be typically the top form
     widget.

     Children widgets of the form widget can be moved by pressing shift<Btn1>
     in the preview window and moving with the mouse while holding the shift
     and mouse button pressed. However, to obtain more flexible layouts when
     resources like fonts are changed it is recommended to use fromHoriz and
     fromVert instead.

     The buttons _D_u_p_l_i_c_a_t_e and _D_e_l_e_t_e in the preview windows can be used to
     duplicate or delete the current selected widgets. If a composite widget
     is selected the operation is performed on the complete widget tree under
     the widget.

     If the _G_e_n_e_r_a_t_e button in the xwafedesign window is pressed another win-
     dow pops up which shows a program corresponding to the application
     displayed in the preview window. The user can switch between _T_c_l and
     _P_e_r_l as the output language. If _T_c_l is used, the perl variables speci-
     fied as resource values are resolved.

     The _L_o_a_d button of the xwafedesign window can be used to edit or to
     incorporate programs developed with xwafedesign. The user has the
     options (a) to insert a complete widget tree into the current applica-
     tion (button _I_n_s_e_r_t), (b) to insert the widget tree without the top
     level widget (to avoid unnecessary deep nestings of form widgets) or (c)
     to load a new application (button _L_o_a_d _n_e_w). When widgets are inserted
     the insert rules of above apply.  _L_o_a_d _n_e_w deletes all children of the
     top form widget and inserts the named file without top widget.

     Note that xwafedesign tries to preserve the user code of applications
     developed with xwafedesign. A user can design the interface of an appli-
     cation using xwafedesign, use his favorite editor to insert the applica-
     tion semantics to the created file and modify the program at a later
     time using xwafedesign. The user is encouraged not to touch the gen-
     erated code between "### BEGIN wafedesign" and "### END wafedesign".


   2






                                                               xwafedesign(1)




   KEY BINDINGS
     _K_e_y _b_i_n_d_i_n_g_s _i_n _x_w_a_f_e_d_e_s_i_g_n _w_i_n_d_o_w:

     <Btn1>       in widget list: create a widget, in widget tree:
                  select/unselect a widget

     <Key>d       in widget tree display: duplicate selected widgets

     <Key>r       in widget tree display: remove (delete) selected widgets


     _K_e_y _b_i_n_d_i_n_g_s _i_n _p_r_e_v_i_e_w _w_i_n_d_o_w:

     shift<Btn1>  move a widget

     shift<Btn3>  select/unselect a widget


   ENVIRONMENT VARIABLES

     WAFELIB      location of the wafe library (typically /usr/lib/X11/wafe)


   PERL VARIABLES

     Wafe (Perl-) Variables from $WAFELIB/system.waferc or $HOME/.waferc:

     $boldFont    typically used for bold labels

     $normalFont  typically used for labels or proportional text

     $buttonFont  typically used as font for buttons

     $textFont    fixed spaced text font

     $buttonAtts  attributes used for buttons

     $backGround  back ground color

     $highLight   attributes for emphasized text portions (typically colors)

     $infoColors  attributes of the info line (typically colors)

     $menueAtts   attributes of pull down menues (typically colors)

     @textActions default actions for text widgets


   FILES

     $WAFELIB/system.waferc
     $HOME/.waferc


                                                                            3






   xwafedesign(1)




   SEE ALSO

     wafe(n), wafeapp(n), X(1), xwafemail(n), xwafenews(n), xwafeftp(n),
     xwafeora(n), xwafetel(n), xdirtree(n), xdirtree(n), xprojektor(n),
     xbm(n), xwafemc(n), xruptimes(n), xnetstats(n), xiostats(n),
     xvmstats(n), xwafeping(n), xwafecf(n)


   COPYRIGHT

      Copyright (C) 1992 by Gustaf Neumann, Stefan Nusser

         Wirtschaftsuniversitaet Wien,
         Abteilung fuer Wirtschaftsinformatik
         Augasse 2-6,
         A-1090 Vienna, Austria
         neumann@wu-wien.ac.at, nusser@wu-wien.ac.at

     Permission to use, copy, modify, and distribute this software and its
     documentation for any purpose and without fee is hereby granted, pro-
     vided that the above copyright notice appears in all copies and that
     both that copyright notice and this permission notice appear in all sup-
     porting documentation.  This software is provided "as is" without
     expressed or implied warranty.

   AUTHORS

     Gustaf Neumann, Stefan Nusser


























   4



