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.
6 * Letzte Modifikation: 04.10.1995 Revisionsstand: 1.32a
8 * (c) 1993, 1994 Harald Albrecht
9 * Institut fuer Geometrie und Praktische Mathematik
10 * RWTH Aachen, Germany
11 * albrecht@igpm.rwth-aachen.de
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.
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.
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.
29 #ifndef __ComboBoxWidgetP_h
30 #define __ComboBoxWidgetP_h
34 #if (XmVersion > 1001) /* sounds like tales from 1000 and 1 night.... */
35 #include <Xm/ManagerP.h>
38 /*********************************************************************
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
;
46 * Nun folgt die vollstaendige Klassenstruktur, mit all' den Felder,
47 * die bereits von den Vorfahren geerbt wurden.
49 typedef struct _XmComboBoxClassRec
{
50 CoreClassPart core_class
;
51 CompositeClassPart composite_class
;
52 ConstraintClassPart constraint_class
;
53 XmManagerClassPart manager_class
;
54 XmComboBoxClassPart combobox_class
;
56 extern XmComboBoxClassRec xmComboBoxClassRec
;
58 /*********************************************************************
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,
89 /* Ab hier wird's privat! */
90 Widget EditCtrl
; /* Editorzeile */
91 Widget ArrowCtrl
; /* Pfeil nach unten */
92 Widget LabelCtrl
; /* Text links neben dem Eingabefeld */
94 Widget PopupShell
; /* Shell, in der die Liste liegt */
95 Widget ListCtrl
; /* Listenfeld */
105 Boolean IgnoreFocusOut
;
106 Boolean PendingFocusOut
;
107 Boolean PendingOverrideInOut
;
108 XtWorkProcId WorkProcID
;
111 Boolean PassVerification
;
112 Boolean ConvertBitmapToPixmap
,
113 ConvertBitmapToPixmapInsensitive
;
114 Pixmap LabelPixmap
, LabelInsensitivePixmap
;
120 * vollstaengige Instanzenstruktur
122 typedef struct _XmComboBoxRec
{
124 CompositePart composite
;
125 ConstraintPart constraint
;
126 XmManagerPart manager
;
127 XmComboBoxPart combobox
;
131 /* Ende von ComboBoxP.h */