Next: Initialization of Public Up: Tix Object Oriented Previous: The SetBindings Method


Declaring and Using Variables

The private variables of a widget class do not need to be declared. In fact they can be initialized and used anywhere by any method. Usually, however, general purpose private variables are initialized by the InitWidgetRec method and subwidget variables are initialized in the ConstructWidget method.

We have seen in the tixArrowButton:InitWidgetRec example that the private variable data(count) was initialized there. Also, the private variable data(w:button) was initialized in tixArrowButton:ConstructWidget and subsequently used in tixArrowButton:SetBindings. In contrast, public variables must be declared inside the class declaration. The following arguments are used to declare the public variables and specify various options for them:

As shown in the class declaration in the figure, the -flag argument declares all the public variables of the TixArrowButton class to be -direction and -state.

We can use the -configspec argument to specify the details of each public variable. For example, the following declaration:
-configspec {
    {-direction direction Direction e}
    {-state state State normal}
specifies that the -direction variable has the resource name direction and resource class Direction; its default value is e. The application programmer can assign value to this variable by using the -direction option in the command line. The declaration of -state installs similar definitions for that variable.