Connect CommentClick handler
[xboard.git] / xaw / xoptions.c
index a475c58..77d7358 100644 (file)
@@ -143,6 +143,11 @@ static Arg formArgs[] = {
 };
 
 void
+CursorAtEnd (Option *opt)
+{
+}
+
+void
 GetWidgetText (Option *opt, char **buf)
 {
     Arg arg;
@@ -192,7 +197,7 @@ SetDialogTitle (DialogClass dlg, char *title)
 }
 
 void
-LoadListBox (Option *opt, char *emptyText)
+LoadListBox (Option *opt, char *emptyText, int n1, int n2)
 {
     static char *dummyList[2];
     dummyList[0] = emptyText; // empty listboxes tend to crash X, so display user-supplied warning string instead
@@ -260,6 +265,15 @@ SelectedListBoxItem (Option *opt)
 }
 
 void
+HighlightText (Option *opt, int start, int end, Boolean on)
+{
+    if(on)
+       XawTextSetSelection( opt->handle, start, end ); // for lack of a better method, use selection for highighting
+    else
+       XawTextSetSelection( opt->handle, 0, 0 );
+}
+
+void
 FocusOnWidget (Option *opt, DialogClass dlg)
 {
     UnCaret();
@@ -781,7 +795,6 @@ GenericPopUp (Option *option, char *title, DialogClass dlgNr, DialogClass parent
 
     if(engineDlg) { // Settings popup for engine: format through heuristic
        int n = currentCps->nrOptions;
-       if(!n) { DisplayNote(_("Engine has no options")); currentCps = NULL; return 0; }
        if(n > 50) width = 4; else if(n>24) width = 2; else width = 1;
        height = n / width + 1;
        if(n && (currentOption[n-1].type == Button || currentOption[n-1].type == SaveButton)) currentOption[n].min = SAME_ROW; // OK on same line
@@ -910,6 +923,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 +1023,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 +1046,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 +1229,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);
+}