class PIZZA_MAIN


Ancestors
GUI_UTIL



Public


Readonly Shareds
shared extras: TK_ENTRY;
**** Area to enter extra requests.
shared price: TK_LABEL;
**** Area to display the price.
shared size: TK_VAR;
**** TK variable containing the size of the pizza.
shared toppingboxes: SET{TOPPING};
**** List of all toppings.

Writable Shareds
shared extras: TK_ENTRY;
**** Area to enter extra requests.
shared price: TK_LABEL;
**** Area to display the price.
shared size: TK_VAR;
**** TK variable containing the size of the pizza.
shared toppingboxes: SET{TOPPING};
**** List of all toppings.

Features
compute_price
**** Will be called whenever something happens which changes the value of the pizza and computes the new price.
compute_price(e:TK_EVENT_INFO)
**** A hook for 'compute_price' without argument.
gui_loop .. Included as gui_loop
**** If you use this version (rather than intermittent poll_gui calls) it should be possible to create a single process version of your user interface with the same functionality by replacing this call with the Tk main loop
init
**** The main program of this application. Sets up display.
main .. Included as main
packer: TK_PACK .. Included as packer
**** Look at pack info for the standard configurations
quit_routine: ROUT .. Included as quit_routine
root_window: TK_TOPLEVEL .. Included as root_window
select_pizza(newpizza:INT)
**** When a speical is selected, this function changes the topping buttons to match the recipe.
select_pizza(e:TK_EVENT_INFO)
**** Routine being called when Mouse is pressed in the list of pizza specials. Looks whether there is a selection (there shouldn't be more than one -- as the list is a browse list) and selects the toppings of this pizza.
startup_gui .. Included as startup_gui
unselect_all
**** Turns all topping buttons off.


Private

init_toppings(toppings:SET{STR})
**** Puts the set of toppings vertically alphabetically (4 columns) into the toppingframe.
shared pizzalist: TK_LISTBOX;
**** Listbox with specials.
shared pizzalist: TK_LISTBOX;
**** Listbox with specials.
shared toppingframe: TK_FRAME;
**** Master frame for list of toppings.
shared toppingframe: TK_FRAME;
**** Master frame for list of toppings.

The Sather Home Page