]> git.saurik.com Git - wxWidgets.git/blob - src/motif/xmcombo/combop.h
fixed minor combobox bug: GetValue() reported wrong value when caleld from TEXT_UPDAT...
[wxWidgets.git] / src / motif / xmcombo / combop.h
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 */