* Cambridge, MA 02139, USA.
*
*/
+#ifdef __VMS
+#include <wx/vms_x_fix.h>
+#undef XtDisplay
+#undef XtScreen
+#undef XtWindow
+#undef XtIsRealized
+#undef XtParent
+#endif
#include <X11/IntrinsicP.h>
#include <X11/StringDefs.h>
#include <Xm/TextF.h>
#include <Xm/List.h>
#include <Xm/LabelP.h>
+
+#if (XmVersion < 2000)
+
#include <string.h>
#include <ctype.h> /* define toupper */
#include "combop.h"
#include <stdio.h>
/* --- Systemspezifische Definitionen */
-#ifdef VMS
+#if defined(VMS)
#define strcasecmp(s1, s2) strcmp(s1, s2)
+#elif defined(__EMX__)
+#define strcasecmp stricmp
#endif
/* --- sonstiger Quark */
/* accept_focus */ NULL,
/* version */ XtVersion,
/* callback_private */ NULL,
- /* tm_table */ NULL,
+ /* tm_table */ XtInheritTranslations, /* Changed from NULL: Bug #406153 */
/* query_geometry */ (XtGeometryHandler) QueryGeometry,
/* display_accelerator */ XtInheritDisplayAccelerator,
/* extension */ NULL
* durchgefuehrt werden.
*/
static XtTranslations NewEditTranslations, NewEditTranslationsNE,
- NewListTranslations, NewListTranslationsE;
+#ifdef NODRAGNDROP
+ NewListTranslations,
+#endif
+ NewListTranslationsE;
static XtConvertArgRec ConverterScreenConvertArg[] = {
{ XtBaseOffset, (XtPointer) XtOffset(Widget, core.screen),
if ( ScreenOfDisplay(display, i) == screen )
return i;
XtError("WidgetToScreen: data structures are destroyed.");
+ return 0; /* to avoid a compiler warning */
} /* WidgetToScreen */
/* --------------------------------------------------------------------
Position abs_x, abs_y;
Dimension ArrowWidth, ListWidth, ListHeight;
Dimension ScreenHeight, LabelWidth;
- Window Decoration;
XWindowChanges WindowChanges;
/*
{ XmNbackground, BACKGROUND }
};
-static UpdateColors(XmComboBoxWidget w, int flags)
+static int UpdateColors(XmComboBoxWidget w, int flags)
{
- Pixel Color;
+ Pixel Color, White, Black, EditCol;
int i, size = XtNumber(ColorResources);
Widget ScrolledWin, ScrollBar;
ScrolledWin = XtParent(w->combobox.ListCtrl);
XtVaGetValues(ScrolledWin, XmNverticalScrollBar, &ScrollBar, NULL);
+ White = WhitePixel(XtDisplay(w), WidgetToScreen((Widget) w));
+ Black = BlackPixel(XtDisplay(w), WidgetToScreen((Widget) w));
for ( i=0; i<size; i++ )
if ( flags & ColorResources[i].Flag ) {
+ if ( ColorResources[i].Flag == BACKGROUND )
+ EditCol = White;
+ else if ( ColorResources[i].Flag == FOREGROUND )
+ EditCol = Black;
+ else
+ EditCol = Color;
XtVaGetValues((Widget) w, ColorResources[i].Resource, &Color,
NULL);
- XtVaSetValues(w->combobox.ListCtrl,
- ColorResources[i].Resource, Color, NULL);
- XtVaSetValues(ScrolledWin,
- ColorResources[i].Resource, Color, NULL);
XtVaSetValues(ScrollBar,
ColorResources[i].Resource, Color, NULL);
- XtVaSetValues(w->combobox.EditCtrl,
- ColorResources[i].Resource, Color, NULL);
+ XtVaSetValues(w->combobox.ListCtrl,
+ ColorResources[i].Resource, EditCol, NULL);
+ XtVaSetValues(w->combobox.EditCtrl,
+ ColorResources[i].Resource, EditCol, NULL);
+ XtVaSetValues(ScrolledWin,
+ ColorResources[i].Resource, Color, NULL);
XtVaSetValues(w->combobox.LabelCtrl,
ColorResources[i].Resource, Color, NULL);
XtVaSetValues(w->combobox.ArrowCtrl,
* dauerhaft dargestellt wird.
*/
if ( newW->combobox.ScrollBarDisplayPolicy !=
- current->combobox.ScrollBarDisplayPolicy )
+ current->combobox.ScrollBarDisplayPolicy ) {
if ( newW->combobox.StaticList )
XtVaSetValues(newW->combobox.ListCtrl,
XmNscrollBarDisplayPolicy, newW->combobox.ScrollBarDisplayPolicy,
else
XtWarning(
"XmComboBox: ScrollBarDisplayPolicy can not be changed when StaticList == False."
- );
+);
+ }
/* Anzahl der in der Liste gleichzeitig darstellbaren Eintraege */
if ( current->combobox.VisibleItemCount !=
newW->combobox.VisibleItemCount ) {
Update = True;
}
if ( current->combobox.AutomaticSelection !=
- newW->combobox.AutomaticSelection )
+ newW->combobox.AutomaticSelection ) {
XtVaSetValues(newW->combobox.ListCtrl,
XmNautomaticSelection, newW->combobox.AutomaticSelection,
NULL);
-
+ }
/*
* benutzter Font: hier erhalten Liste und Eingabefeld jeweils die
* gleiche Fontliste, wohingegen das Label getrennt behandelt wird.
break;
}
break;
+ case RWIGNORE:
+ ;
} /* case read mode */
} /* if entry found */
} /* for every mirrored entry */
XmStringTable Items;
int *SelectionList;
int SelectionCount;
- int i, ItemCount, Start, End;
+ int i, ItemCount, Start;
char *pItem;
Boolean Ignore;
char *RscName, char *RscClass,
unsigned char *pUChar)
{
- XrmValue RscValue, RscDest;
+ XrmValue RscValue;
String RepresentationType;
- int AInt;
if ( FetchResource(w, FullName, FullClass,
RscName, RscClass,
XmStringTable AStringTable;
Pixmap APixmap;
XmFontList AFontList;
- XrmValue RscValue;
String AString;
KeySym AKeySym;
int i, size = XtNumber(ResourceMirror);
Widget w;
Arg args[10];
int n = 0;
- XmString xmstr;
- Pixel BackgroundColor;
/*
* Da zu allem Ueberfluss die einzelnen Instanzen einer XmComboBox
* Deleted Zeigt an, ob der Eintrag geloescht wurde (True)
* oder sich nur veraenderte (False)
*/
-static UpdateComboBox(XmComboBoxWidget w, int Index, Boolean Deleted)
+static int UpdateComboBox(XmComboBoxWidget w, int Index, Boolean Deleted)
{
int OldIndex, ItemCount;
} /* XmCreateComboBox */
/* Ende von ComboBox.c */
+
+#endif /* XmVersion < 2000 */