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 */