]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * ComboBoxP.h - Das schon lange schmerzlich vermisste Combo-Box- | |
3 | * Widget -- nun endlich auf fuer Motif! | |
4 | * Wahlweise Motif 1.1 oder 1.2. | |
5 | * | |
6 | * Letzte Modifikation: 04.10.1995 Revisionsstand: 1.32a | |
7 | * | |
8 | * (c) 1993, 1994 Harald Albrecht | |
9 | * Institut fuer Geometrie und Praktische Mathematik | |
10 | * RWTH Aachen, Germany | |
11 | * albrecht@igpm.rwth-aachen.de | |
12 | * | |
13 | * This program is free software; you can redistribute it and/or modify | |
14 | * it under the terms of the GNU General Public License as published by | |
15 | * the Free Software Foundation; either version 2 of the License, or | |
16 | * (at your option) any later version. | |
17 | * | |
18 | * This program is distributed in the hope that it will be useful, | |
19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 | * GNU General Public License for more details. | |
22 | * | |
23 | * You should have received a copy of the GNU General Public License | |
24 | * along with this program (see the file COPYING for more details); | |
25 | * if not, write to the Free Software Foundation, Inc., 675 Mass Ave, | |
26 | * Cambridge, MA 02139, USA. | |
27 | * | |
28 | */ | |
29 | #ifndef __ComboBoxWidgetP_h | |
30 | #define __ComboBoxWidgetP_h | |
31 | ||
32 | #include "xmcombo.h" | |
33 | #include <Xm/XmP.h> | |
34 | #if (XmVersion > 1001) /* sounds like tales from 1000 and 1 night.... */ | |
35 | #include <Xm/ManagerP.h> | |
36 | #endif | |
37 | ||
38 | /********************************************************************* | |
39 | * Klassendefinition | |
40 | *********************************************************************/ | |
41 | /* Neue Datenfelder fuer den Klassenrecord der Center-Widgetklasse */ | |
42 | typedef struct _XmComboBoxClassPart { | |
43 | int Just_to_keep_the_compiler_happy; /* Der Name ist Programm */ | |
44 | } XmComboBoxClassPart; | |
45 | /* | |
46 | * Nun folgt die vollstaendige Klassenstruktur, mit all' den Felder, | |
47 | * die bereits von den Vorfahren geerbt wurden. | |
48 | */ | |
49 | typedef struct _XmComboBoxClassRec { | |
50 | CoreClassPart core_class; | |
51 | CompositeClassPart composite_class; | |
52 | ConstraintClassPart constraint_class; | |
53 | XmManagerClassPart manager_class; | |
54 | XmComboBoxClassPart combobox_class; | |
55 | } XmComboBoxClassRec; | |
56 | extern XmComboBoxClassRec xmComboBoxClassRec; | |
57 | ||
58 | /********************************************************************* | |
59 | *Instanzdefinition | |
60 | *********************************************************************/ | |
61 | typedef struct _XmComboBoxPart { | |
62 | /* Resourcen ... hierauf darf von aussen zugegriffen werden! */ | |
63 | Boolean Editable; /* Editierbare Eingabezeile ? */ | |
64 | Boolean StaticList; /* Liste immer dargestellt? */ | |
65 | unsigned char SelectionPolicy; /* Was geht hier ab?! */ | |
66 | unsigned char ScrollBarDisplayPolicy; | |
67 | unsigned char ListSizePolicy; /* Rollbalken! */ | |
68 | Boolean AutomaticSelection; /* Wann Callbacks aufrufen? */ | |
69 | Boolean Sorted; /* Liste sortiert */ | |
70 | XtCallbackList SortingCBL; /* Wie wird extern sortiert? */ | |
71 | int VisibleItemCount; /* Anz dargstellte Eintraege */ | |
72 | XmFontList Font; /* verwendete Fonts */ | |
73 | XtCallbackList SelectionCBL; /* Auswahl aus Liste */ | |
74 | XtCallbackList UnselectionCBL; /* Auswahl zurueckgenommen */ | |
75 | XtCallbackList DefaultActionCBL; /* bei Doppelklick */ | |
76 | XtCallbackList DropDownCBL; /* Liste angezeigt/versteckt */ | |
77 | XtCallbackList ModifyVerifyCBL; /* Vor Aenderung im Textfeld */ | |
78 | XtCallbackList ValueChangedCBL; /* Danach... */ | |
79 | XtCallbackList MotionVerifyCBL; /* Der Cursor bewegt sich doch*/ | |
80 | XtCallbackList ActivateCBL; /* Eingabe beendet? */ | |
81 | Boolean SquareArrow; /* Quadratischer Pfeil? */ | |
82 | Boolean ArrowSpacingOn; /* Abstand zw. Pfeil und Text */ | |
83 | Boolean Persistent; /* Liste & Focus-Out */ | |
84 | Boolean TwmHandlingOn; /* dto. */ | |
85 | Boolean ShowLabel; /* Label anzeigen? */ | |
86 | Position DropDownOffset; /* delta Ecke Eingabefeld, | |
87 | Liste */ | |
88 | ||
89 | /* Ab hier wird's privat! */ | |
90 | Widget EditCtrl; /* Editorzeile */ | |
91 | Widget ArrowCtrl; /* Pfeil nach unten */ | |
92 | Widget LabelCtrl; /* Text links neben dem Eingabefeld */ | |
93 | ||
94 | Widget PopupShell; /* Shell, in der die Liste liegt */ | |
95 | Widget ListCtrl; /* Listenfeld */ | |
96 | ||
97 | Widget MyNextShell; | |
98 | ||
99 | Cursor ArrowCursor; | |
100 | Boolean InInit; | |
101 | ||
102 | int LastSelection; | |
103 | ||
104 | Boolean ListVisible; | |
105 | Boolean IgnoreFocusOut; | |
106 | Boolean PendingFocusOut; | |
107 | Boolean PendingOverrideInOut; | |
108 | XtWorkProcId WorkProcID; | |
109 | XEvent xevent; | |
110 | ||
111 | Boolean PassVerification; | |
112 | Boolean ConvertBitmapToPixmap, | |
113 | ConvertBitmapToPixmapInsensitive; | |
114 | Pixmap LabelPixmap, LabelInsensitivePixmap; | |
115 | ||
116 | XtPointer Dummy; | |
117 | } XmComboBoxPart; | |
118 | ||
119 | /* | |
120 | * vollstaengige Instanzenstruktur | |
121 | */ | |
122 | typedef struct _XmComboBoxRec { | |
123 | CorePart core; | |
124 | CompositePart composite; | |
125 | ConstraintPart constraint; | |
126 | XmManagerPart manager; | |
127 | XmComboBoxPart combobox; | |
128 | } XmComboBoxRec; | |
129 | ||
130 | #endif | |
131 | /* Ende von ComboBoxP.h */ |