From 50a32a757cb007d962a7179ff29bbc27e22a8388 Mon Sep 17 00:00:00 2001 From: H.G. Muller Date: Thu, 25 Oct 2012 11:12:41 +0200 Subject: [PATCH] Prepare xoptions.c for middle-end changes Some changes that can be pre-empted, such as the splitting of Label into Label and Icon Option type, and some dummy wrappers are already implemented, so they can be used when needed by GTK. --- backend.h | 3 ++- xaw/xoptions.c | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletions(-) diff --git a/backend.h b/backend.h index d5cba54..6ca8d52 100644 --- a/backend.h +++ b/backend.h @@ -318,7 +318,8 @@ extern int wrap P((char *dest, char *src, int count, int width, int *lp)); int Explode P((Board board, int fromX, int fromY, int toX, int toY)); typedef enum { CheckBox, ComboBox, TextBox, Button, Spin, ResetButton, SaveButton, ListBox, Graph, PopUp, - FileName, PathName, Slider, Message, Fractional, Label, BoxBegin, BoxEnd, DropDown, Break, EndMark } Control; + FileName, PathName, Slider, Message, Fractional, Label, Icon, + BoxBegin, BoxEnd, BarBegin, BarEnd, DropDown, Break, EndMark } Control; typedef struct XB_OPT { // [HGM] options: descriptor of UCI-style option int value; // current setting, starts as default diff --git a/xaw/xoptions.c b/xaw/xoptions.c index a475c58..21281d2 100644 --- a/xaw/xoptions.c +++ b/xaw/xoptions.c @@ -143,6 +143,11 @@ static Arg formArgs[] = { }; void +CursorAtEnd (Option *opt) +{ +} + +void GetWidgetText (Option *opt, char **buf) { Arg arg; @@ -260,6 +265,11 @@ SelectedListBoxItem (Option *opt) } void +HighlightText (Option *opt, int start, int end, Boolean on) +{ +} + +void FocusOnWidget (Option *opt, DialogClass dlg) { UnCaret(); @@ -910,6 +920,7 @@ GenericPopUp (Option *option, char *title, DialogClass dlgNr, DialogClass parent XtAddEventHandler(last, ButtonPressMask, False, CheckCallback, (XtPointer)(intptr_t) i + 256*dlgNr); shrink = TRUE; // following buttons must get text height break; + case Icon: case Label: msg = option[i].name; if(!msg) break; @@ -1009,6 +1020,7 @@ GenericPopUp (Option *option, char *title, DialogClass dlgNr, DialogClass parent case PopUp: // note: used only after Graph, so 'last' refers to the Graph widget option[i].handle = (void*) CreateComboPopup(last, option + i, i + 256*dlgNr, TRUE, option[i].value); break; + case BarBegin: case BoxBegin: if(option[i].min & SAME_ROW) forelast = lastrow; j = SetPositionAndSize(args, last, lastrow, 0 /* border */, @@ -1031,6 +1043,7 @@ GenericPopUp (Option *option, char *title, DialogClass dlgNr, DialogClass parent (last = XtCreateManagedWidget(option[i].name, menuButtonWidgetClass, form, args, j)); option[i].textValue = (char*) CreateComboPopup(last, option + i, i + 256*dlgNr, FALSE, -1); break; + case BarEnd: case BoxEnd: XtManageChildren(&form, 1); SqueezeIntoBox(&option[box], i-box, option[box].max); @@ -1213,4 +1226,9 @@ HardSetFocus (Option *opt) XSetInputFocus(xDisplay, XtWindow(opt->handle), RevertToPointerRoot, CurrentTime); } +void +FileNamePopUpGTK(char *label, char *def, char *filter, FileProc proc, Boolean pathFlag, char *openMode, char **openName, FILE **openFP) +{ + Browse(BoardWindow, label, (def[0] ? def : NULL), filter, False, openMode, openName, openFP); +} -- 1.7.0.4