Prepare xoptions.c for middle-end changes
authorH.G. Muller <h.g.muller@hccnet.nl>
Thu, 25 Oct 2012 09:12:41 +0000 (11:12 +0200)
committerH.G. Muller <h.g.muller@hccnet.nl>
Tue, 6 Nov 2012 11:45:07 +0000 (12:45 +0100)
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
xaw/xoptions.c

index d5cba54..6ca8d52 100644 (file)
--- 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
index a475c58..21281d2 100644 (file)
@@ -142,6 +142,11 @@ static Arg formArgs[] = {
     { XtNresizable, (XtArgVal) True },
 };
 
+void
+CursorAtEnd (Option *opt)
+{
+}
+
 void
 GetWidgetText (Option *opt, char **buf)
 {
@@ -259,6 +264,11 @@ SelectedListBoxItem (Option *opt)
     return rs->list_index;
 }
 
+void
+HighlightText (Option *opt, int start, int end, Boolean on)
+{
+}
+
 void
 FocusOnWidget (Option *opt, DialogClass dlg)
 {
@@ -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);
+}