TABLE OF CONTENTS


::pwtk::input::push

SYNOPSIS

proc ::pwtk::input::push {} {

PURPOSE

The "push" proc for the input data & state stack. The push/pop meschanism for the input data is similar to OpenGL glPush()/glPop(). It works as follows:

      ... set some default input data (#1) ...

      ::pwtk::input::push
         ... modify input data ...
         ... do some calculations with it ...
      ::pwtk::input::pop

      ... here the input data is the same as those labeled (#1) above

The following data are handled by the stacking mechanism (for further details, see the source code):

BEWARE

In PWTK scripts, use the ::pwtk::input::pushpop command instead of the ::pwtk::input::push & ::pwtk::input::pop pair.

SOURCE

    variable stack 
    variable stackLevel

    incr stackLevel
    lappend stack [list \
                       ::pwtk::input::namelist     [array get ::pwtk::input::namelist] \
                       ::pwtk::input::card         [array get ::pwtk::input::card] \
                       ::pwtk::input::card_flags   [array get ::pwtk::input::card_flags] \
                       ::pwtk::input::card_content [array get ::pwtk::input::card_content] \
                       ::pwtk::input::script       [array get ::pwtk::input::script] \
                       ::pwtk::RUNopt              [array get ::pwtk::RUNopt] \
                       ::pwtk::QEdir               [array get ::pwtk::QEdir] \
                       ::pwtk::QEprog              [array get ::pwtk::QEprog] \
                       ::pwtk::state               [array get ::pwtk::state] \
                       \
                       ::pwtk::queue::profile      [array get ::pwtk::queue::profile] \
                       ::pwtk::queue::pwtk_profile [array get ::pwtk::queue::pwtk_profile] \
                       ::pwtk::queue::queue        [concat [array get ::pwtk::queue::queue *,head] [array get ::pwtk::queue::queue *,tail]] \
                      ]
}