1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- typedef struct TkLabel TkLabel;
- /*
- * widgets that use the label code:
- * label
- * checkbutton
- * button
- * menubutton
- * separator
- * cascade
- * radiobutton
- */
- struct TkLabel
- {
- char* text; /* Label value */
- Image* bitmap; /* Bitmap to display */
- TkImg* img;
- int justify;
- int anchor;
- // int flags; /* justify/anchor */
- int w;
- int h;
- int textheight;
- /* button fields */
- char* command; /* Command to execute at invoke */
- char* value; /* Variable value in radio button */
- char* offvalue; /* Off value for check button */
- char* variable; /* Variable name in radio button */
- int ul;
- int check; /* check/radiobutton/choicebutton state */
- int indicator; /* -indicatoron setting */
- char* menu;
- char** values;
- int nvalues;
- /* current value of choicebutton is represented by check */
- };
- /* Layout constants */
- enum {
- Textpadx = 3,
- Textpady = 0,
- Bitpadx = 0, /* Bitmap padding in labels */
- Bitpady = 0,
- CheckButton = 10,
- CheckButtonBW = 1,
- ButtonBorder = 4,
- CheckSpace = CheckButton + 2*CheckButtonBW + 2*ButtonBorder,
- };
- extern TkOption tkbutopts[];
- extern TkOption tkradopts[];
- extern TkOption tkcbopts[];
- /* label.c */
- extern void tksizelabel(Tk*);
- extern char* tkdrawlabel(Tk*, Point);
- extern void tkfreelabel(Tk*);
- extern void tklabelgetimgs(Tk*, Image**, Image**);
- extern char* tksetvar(TkTop*, char*, char*);
- /* buton.c */
- extern Tk* tkmkbutton(TkTop*, int);
- extern void tksizebutton(Tk*);
- extern char* tkdrawbutton(Tk*, Point);
- extern char* tkbuttoninvoke(Tk*, char*, char**);
- extern char* tkradioinvoke(Tk*, char*, char**);
- extern void tkfreebutton(Tk*);
- /* support for menus */
- extern int tklabelmargin(Tk*);
- extern int tkbuttonmargin(Tk*);
|