Allow engine to force popup of its settings dialog
[xboard.git] / xaw / xoptions.c
index e855beb..1809743 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * xoptions.c -- Move list window, part of X front end for XBoard
  *
- * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+ * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
  * ------------------------------------------------------------------------
  *
  * GNU XBoard is free software: you can redistribute it and/or modify
@@ -189,6 +189,12 @@ SetWidgetLabel (Option *opt, char *buf)
 }
 
 void
+SetComboChoice (Option *opt, char *n)
+{
+    SetWidgetText(opt, opt->choice[n]);
+}
+
+void
 SetDialogTitle (DialogClass dlg, char *title)
 {
     Arg args[16];
@@ -285,7 +291,7 @@ Show (Option *opt, int hide)
     Dimension v;
     int j=0;
 return; // FIXME: it would be nice if the Chat window did have an ICS pane we could hide behind
-printf("Show(%d) %x\n", hide, opt->handle);
+//printf("Show(%d) %x\n", hide, opt->handle);
     if(!opt->handle) return;
     if(hide) { // make sure original size is saved
       XtSetArg(args[j], XtNheight, &v); j++;
@@ -1141,7 +1147,7 @@ GenericPopUp (Option *option, char *title, DialogClass dlgNr, DialogClass parent
                XtAddEventHandler(option[i-1].handle, KeyReleaseMask, False, ColorChanged, (XtPointer)(intptr_t) i-1);
            }
            XtAddCallback(last, XtNcallback, GenericCallback, (XtPointer)(intptr_t) i + (dlgNr<<16)); // invokes user callback
-           if(option[i].textValue) SetColor( option[i].textValue, &option[i]); // for new-variant buttons
+           if(option[i].textValue && *option[i].textValue == '#') SetColor( option[i].textValue, &option[i]); // for new-variant buttons
            break;
          case ComboBox:
            j = SetPositionAndSize(args, last, lastrow, 0 /* border */,