appData.monoMode = True;
}
- if (appData.monoMode && appData.debugMode) {
-#ifdef TODO_GTK
- fprintf(stderr, _("white pixel = 0x%lx, black pixel = 0x%lx\n"),
- (unsigned long) XWhitePixel(xDisplay, xScreen),
- (unsigned long) XBlackPixel(xDisplay, xScreen));
-#endif
- }
-
ParseIcsTextColors();
#ifdef TODO_GTK
}
#ifdef TODO_GTK
+gboolean KeyPressProc(window, eventkey, data)
+ GtkWindow *window;
+ GdkEventKey *eventkey;
+ gpointer data;
+{
+
+ MoveTypeInProc(eventkey); // pop up for typed in moves
+
+ // handle shift+<number> cases
+ if (eventkey->state & GDK_SHIFT_MASK) {
+ guint keyval;
+
+ gdk_keymap_translate_keyboard_state(NULL, eventkey->hardware_keycode,
+ 0, eventkey->group,
+ &keyval, NULL, NULL, NULL);
+ switch(keyval) {
+ case GDK_1:
+ AskQuestionEvent("Direct command", "Send to chess program:", "", "1");
+ break;
+ case GDK_2:
+ AskQuestionEvent("Direct command", "Send to second chess program:", "", "2");
+ break;
+ default:
+ break;
+ }
+ }
+
+ /* check for other key values */
+ switch(eventkey->keyval) {
+ case GDK_question:
+ AboutGameEvent();
+ break;
+ default:
+ break;
+ }
+ return False;
+}
void
KeyBindingProc (Widget w, XEvent *event, String *prms, Cardinal *nprms)
{ // [HGM] new method of key binding: specify MenuItem(FlipView) in stead of FlipViewProc in translation string
void
FlashDelay (int flash_delay)
{
-#ifdef TODO_GTK
- XSync(xDisplay, False);
if(flash_delay) do_flash_delay(flash_delay);
-#endif
}
double
#endif
-#ifdef TODO_GTK
-void
-HandlePV (Widget w, XEvent * event, String * params, Cardinal * nParams)
-{ // [HGM] pv: walk PV
- MovePV(event->xmotion.x, event->xmotion.y, lineGap + BOARD_HEIGHT * (squareSize + lineGap));
-}
-#endif
-
-static int savedIndex; /* gross that this is global */
-
-#ifdef TODO_GTK
-void
-CommentClick (Widget w, XEvent * event, String * params, Cardinal * nParams)
-{
- String val;
- XawTextPosition index, dummy;
- Arg arg;
-
- XawTextGetSelectionPos(w, &index, &dummy);
- XtSetArg(arg, XtNstring, &val);
- XtGetValues(w, &arg, 1);
- ReplaceComment(savedIndex, val);
- if(savedIndex != currentMove) ToNrEvent(savedIndex);
- LoadVariation( index, val ); // [HGM] also does the actual moving to it, now
-}
-#endif
-
-void
-EditCommentPopUp (int index, char *title, char *text)
-{
- savedIndex = index;
- if (text == NULL) text = "";
- NewCommentPopup(title, text, index);
-}
-
-void
-CommentPopUp (char *title, char *text)
-{
- savedIndex = currentMove; // [HGM] vari
- NewCommentPopup(title, text, currentMove);
-}
-
-void
-CommentPopDown ()
-{
- PopDown(CommentDlg);
-}
-
/* Disable all user input other than deleting the window */
static int frozen = 0;
static int oldPausing = FALSE;
static GameMode oldmode = (GameMode) -1;
char *wname;
-#ifdef TODO_GTK
- Arg args[16];
-
- if (!boardWidget || !XtIsRealized(boardWidget)) return;
+ if (!boardWidget) return;
if (pausing != oldPausing) {
oldPausing = pausing;
/* Always toggle, don't set. Previous code messes up when
invoked while the button is pressed, as releasing it
toggles the state again. */
- {
- Pixel oldbg, oldfg;
- XtSetArg(args[0], XtNbackground, &oldbg);
- XtSetArg(args[1], XtNforeground, &oldfg);
- XtGetValues(optList[W_PAUSE].handle,
- args, 2);
- XtSetArg(args[0], XtNbackground, oldfg);
- XtSetArg(args[1], XtNforeground, oldbg);
- }
- XtSetValues(optList[W_PAUSE].handle, args, 2);
+ GdkColor color;
+ gdk_color_parse( pausing ? "#808080" : "#F0F0F0", &color );
+ gtk_widget_modify_bg ( GTK_WIDGET(optList[W_PAUSE].handle), GTK_STATE_NORMAL, &color );
}
}
-#endif
wname = ModeToWidgetName(oldmode);
if (wname != NULL) {
return k;
}
-#ifdef TODO_GTK
-static void
-MoveTypeInProc (Widget widget, caddr_t unused, XEvent *event)
+void MoveTypeInProc(eventkey)
+ GdkEventKey *eventkey;
{
char buf[10];
- KeySym sym;
- int n = XLookupString(&(event->xkey), buf, 10, &sym, NULL);
- if ( n == 1 && *buf >= 32 // printable
- && !(ShiftKeys() & 0x3C) // no Alt, Ctrl
- ) BoxAutoPopUp (buf);
-}
-#endif
-#ifdef TODO_GTK
-static void
-UpKeyProc (Widget w, XEvent *event, String *prms, Cardinal *nprms)
-{ // [HGM] input: let up-arrow recall previous line from history
- IcsKey(1);
-}
-
-static void
-DownKeyProc (Widget w, XEvent *event, String *prms, Cardinal *nprms)
-{ // [HGM] input: let down-arrow recall next line from history
- IcsKey(-1);
-}
+ // ingnore if ctrl or alt is pressed
+ if (eventkey->state & (GDK_CONTROL_MASK | GDK_MOD1_MASK)) {
+ return;
+ }
-static void
-EnterKeyProc (Widget w, XEvent *event, String *prms, Cardinal *nprms)
-{
- IcsKey(0);
+ buf[0]=eventkey->keyval;
+ buf[1]='\0';
+ if (*buf >= 32)
+ BoxAutoPopUp (buf);
}
-
+#ifdef TODO_GTK
void
TempBackwardProc (Widget w, XEvent *event, String *prms, Cardinal *nprms)
{
#ifdef TODO_GTK
XSync(xDisplay, False);
#endif
+// gtk_main_iteration_do(False);
+
if (time > 0)
usleep(time * 1000);
}