X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e961ff78126cdf0345340d48ba9de5b96eb682c6..e27a15e1468268204eae0c4299ecb1ae789e0881:/src/motif/xmcombo/xmcombo.c diff --git a/src/motif/xmcombo/xmcombo.c b/src/motif/xmcombo/xmcombo.c index 189d72e321..be780d1fbc 100644 --- a/src/motif/xmcombo/xmcombo.c +++ b/src/motif/xmcombo/xmcombo.c @@ -92,9 +92,21 @@ * */ #ifdef __VMS +/* vms_x_fix.h should be included before any of the X11/Motif headers */ #include +#undef XtDisplay +#undef XtScreen +#undef XtWindow +#undef XtIsRealized +#undef XtParent +#undef XtClass #endif +/* get XmVersion definition */ +#include + +#if (XmVersion < 2000) + #include #include #include @@ -112,6 +124,7 @@ #include #include #include + #include #include /* define toupper */ #include "combop.h" @@ -557,7 +570,10 @@ static XtActionsRec actions[] = { * durchgefuehrt werden. */ static XtTranslations NewEditTranslations, NewEditTranslationsNE, - NewListTranslations, NewListTranslationsE; +#ifdef NODRAGNDROP + NewListTranslations, +#endif + NewListTranslationsE; static XtConvertArgRec ConverterScreenConvertArg[] = { { XtBaseOffset, (XtPointer) XtOffset(Widget, core.screen), @@ -792,6 +808,7 @@ static int WidgetToScreen(Widget w) if ( ScreenOfDisplay(display, i) == screen ) return i; XtError("WidgetToScreen: data structures are destroyed."); + return 0; /* to avoid a compiler warning */ } /* WidgetToScreen */ /* -------------------------------------------------------------------- @@ -804,7 +821,6 @@ static void DoDropDownLayout(XmComboBoxWidget w) Position abs_x, abs_y; Dimension ArrowWidth, ListWidth, ListHeight; Dimension ScreenHeight, LabelWidth; - Window Decoration; XWindowChanges WindowChanges; /* @@ -1263,26 +1279,34 @@ static struct { String Resource; int Flag; } { 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; icombobox.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, @@ -1419,7 +1443,7 @@ static Boolean SetValues(XmComboBoxWidget current, XmComboBoxWidget req, * 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, @@ -1427,7 +1451,8 @@ static Boolean SetValues(XmComboBoxWidget current, XmComboBoxWidget req, 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 ) { @@ -1437,11 +1462,11 @@ static Boolean SetValues(XmComboBoxWidget current, XmComboBoxWidget req, 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. @@ -1596,6 +1621,8 @@ static void GetValuesAlmost(XmComboBoxWidget w, ArgList args, break; } break; + case RWIGNORE: + ; } /* case read mode */ } /* if entry found */ } /* for every mirrored entry */ @@ -2089,7 +2116,7 @@ static void EditVerifyCallback(Widget w, XtPointer pClientData, XmStringTable Items; int *SelectionList; int SelectionCount; - int i, ItemCount, Start, End; + int i, ItemCount, Start; char *pItem; Boolean Ignore; @@ -2321,9 +2348,8 @@ static Boolean FetchLabelTypeResource(Widget w, char *RscName, char *RscClass, unsigned char *pUChar) { - XrmValue RscValue, RscDest; + XrmValue RscValue; String RepresentationType; - int AInt; if ( FetchResource(w, FullName, FullClass, RscName, RscClass, @@ -2570,7 +2596,6 @@ static void InitMirrorResources(XmComboBoxWidget w) XmStringTable AStringTable; Pixmap APixmap; XmFontList AFontList; - XrmValue RscValue; String AString; KeySym AKeySym; int i, size = XtNumber(ResourceMirror); @@ -2718,8 +2743,6 @@ static void Initialize(Widget request, XmComboBoxWidget newW, Widget w; Arg args[10]; int n = 0; - XmString xmstr; - Pixel BackgroundColor; /* * Da zu allem Ueberfluss die einzelnen Instanzen einer XmComboBox @@ -3066,7 +3089,7 @@ Widget XmComboBoxGetLabelWidget(Widget w) * 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; @@ -3546,3 +3569,5 @@ Widget XmCreateComboBox(Widget parent, String name, ArgList arglist, } /* XmCreateComboBox */ /* Ende von ComboBox.c */ + +#endif /* XmVersion < 2000 */