X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4dff340069297c51f04fcd230282b86eee6943db..cc8cc54f8308660af5730d8c3da5ba4710dc0dbb:/src/motif/xmcombo/xmcombo.c diff --git a/src/motif/xmcombo/xmcombo.c b/src/motif/xmcombo/xmcombo.c index 99fc08a35f..601fe89c43 100644 --- a/src/motif/xmcombo/xmcombo.c +++ b/src/motif/xmcombo/xmcombo.c @@ -93,6 +93,11 @@ */ #ifdef __VMS #include +#undef XtDisplay +#undef XtScreen +#undef XtWindow +#undef XtIsRealized +#undef XtParent #endif #include @@ -112,6 +117,9 @@ #include #include #include + +#if (XmVersion < 2000) + #include #include /* define toupper */ #include "combop.h" @@ -453,7 +461,7 @@ XmComboBoxClassRec xmComboBoxClassRec = { /* 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 @@ -557,7 +565,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 +803,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 +816,6 @@ static void DoDropDownLayout(XmComboBoxWidget w) Position abs_x, abs_y; Dimension ArrowWidth, ListWidth, ListHeight; Dimension ScreenHeight, LabelWidth; - Window Decoration; XWindowChanges WindowChanges; /* @@ -1263,26 +1274,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 +1438,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 +1446,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 +1457,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 +1616,8 @@ static void GetValuesAlmost(XmComboBoxWidget w, ArgList args, break; } break; + case RWIGNORE: + ; } /* case read mode */ } /* if entry found */ } /* for every mirrored entry */ @@ -2089,7 +2111,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 +2343,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 +2591,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 +2738,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 +3084,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 +3564,5 @@ Widget XmCreateComboBox(Widget parent, String name, ArgList arglist, } /* XmCreateComboBox */ /* Ende von ComboBox.c */ + +#endif /* XmVersion < 2000 */