Tk Cement

Resource Specification
Login

The resource specification is a specification for the containing widget, for which the specification is applied. It is formatted roughly similar to a Tcl script, with each line being either:

-<option> <value>

or

cmd arg arg...

Options will be given to the containing widget. Currently cmd can be either pack, wm, or a Tk widget (like button).


Command spec for pack:

pack options

Where options is a list of options, as if given to the pack Tk command for the containing widget.


Command spec for wm: wm resourceSpec

Where resourceSpec is a list of sub commands, each representing a wm command for the containing widget.


The command spec for widgets is: type name resourceSpec

type is a Tk widget which will be created.
name is the sub-name of the widget (it will be created as a child of the containing widget).
resourceSpec is the resource specification as described above.

The resoure specification will be run through with subst before processing inside a unique namespace. Variables can be passed in along with the build and buildFromFile commands.


Example

toplevel monthTotals {
   -class Dialog
    frame buttons {
       button prev {
           -text "Previous Month"
           pack {
               -side left
           }
       }
       button next {
           -text "Next Month"
           pack {
               -side left
           }
       } 
       pack {}
   }
   wm {
       title "Month Totals"
       minsize 400 500
   }
}

That resource specification will create a new toplevel (under whatever Tk widget is passed to build or buildFromFile) with the Dialog class. It will contain a frame called buttons with two buttons packed within it. It will be given a title of "Month Totals" and be set to a minimum size of 400x500.