1 | /* |
---|
2 | * $Id: Button.h,v 1.2 1999-01-22 23:16:48 ghudson Exp $ |
---|
3 | * |
---|
4 | * Copyright 1990, 1991 by the Massachusetts Institute of Technology. |
---|
5 | * |
---|
6 | * For copying and distribution information, please see the file |
---|
7 | * <mit-copyright.h>. |
---|
8 | * |
---|
9 | */ |
---|
10 | |
---|
11 | #ifndef _Xj_Button_h |
---|
12 | #define _Xj_Button_h |
---|
13 | |
---|
14 | #include "Jets.h" |
---|
15 | |
---|
16 | extern void SetToggleState(); |
---|
17 | extern Boolean GetToggleState(); |
---|
18 | |
---|
19 | extern JetClass buttonJetClass; |
---|
20 | |
---|
21 | typedef struct {int littlefoo;} ButtonClassPart; |
---|
22 | |
---|
23 | typedef struct _ButtonClassRec { |
---|
24 | CoreClassPart core_class; |
---|
25 | ButtonClassPart button_class; |
---|
26 | } ButtonClassRec; |
---|
27 | |
---|
28 | extern ButtonClassRec buttonClassRec; |
---|
29 | |
---|
30 | typedef struct { |
---|
31 | XjCallback *activateProc; |
---|
32 | XjCallback *deactivateProc; |
---|
33 | GC gc; |
---|
34 | GC foreground_gc; |
---|
35 | GC background_gc; |
---|
36 | GC invert_gc; |
---|
37 | int foreground, background; |
---|
38 | Boolean reverseVideo; |
---|
39 | int borderWidth; |
---|
40 | int borderThickness; |
---|
41 | int padding; |
---|
42 | Boolean inside; |
---|
43 | Boolean selected; |
---|
44 | Boolean pressed; |
---|
45 | Boolean toggle; |
---|
46 | Boolean state; |
---|
47 | int repeatDelay; |
---|
48 | int initialDelay; |
---|
49 | int timerid; |
---|
50 | Boolean highlightOnEnter; |
---|
51 | XjCallbackProc hilite, unhilite; |
---|
52 | } ButtonPart; |
---|
53 | |
---|
54 | typedef struct _ButtonRec { |
---|
55 | CorePart core; |
---|
56 | ButtonPart button; |
---|
57 | } ButtonRec; |
---|
58 | |
---|
59 | typedef struct _ButtonRec *ButtonJet; |
---|
60 | typedef struct _ButtonClassRec *ButtonJetClass; |
---|
61 | |
---|
62 | #define XjCBorderThickness "BorderThickness" |
---|
63 | #define XjNborderThickness "borderThickness" |
---|
64 | #define XjCBorderWidth "BorderWidth" |
---|
65 | #define XjNborderWidth "borderWidth" |
---|
66 | #define XjCToggle "Toggle" |
---|
67 | #define XjNtoggle "toggle" |
---|
68 | #define XjCState "State" |
---|
69 | #define XjNstate "state" |
---|
70 | #define XjCDeactivateProc "DeactivateProc" |
---|
71 | #define XjNdeactivateProc "deactivateProc" |
---|
72 | #define XjCInterval "Interval" |
---|
73 | #define XjNinterval "interval" |
---|
74 | #define XjNrepeatDelay "repeatDelay" |
---|
75 | #define XjNinitialDelay "initialDelay" |
---|
76 | #define XjCHighlightOnEnter "HighlightOnEnter" |
---|
77 | #define XjNhighlightOnEnter "highlightOnEnter" |
---|
78 | |
---|
79 | #endif /* _Xj_Button_h */ |
---|