Add copy-paste
[xboard.git] / xhistory.c
index bf5a26d..0551ce1 100644 (file)
 
 #include <stdio.h>
 #include <stdlib.h>
-
-#include <X11/Intrinsic.h>
-#include <X11/StringDefs.h>
-#include <X11/Shell.h>
-#include <X11/Xaw/Dialog.h>
-#include <X11/Xaw/Form.h>
-#include <X11/Xaw/List.h>
-#include <X11/Xaw/Label.h>
-#include <X11/Xaw/SimpleMenu.h>
-#include <X11/Xaw/SmeBSB.h>
-#include <X11/Xaw/SmeLine.h>
-#include <X11/Xaw/Box.h>
-#include <X11/Xaw/Paned.h>
-#include <X11/Xaw/MenuButton.h>
-#include <X11/cursorfont.h>
-#include <X11/Xaw/Text.h>
-#include <X11/Xaw/AsciiText.h>
-#include <X11/Xaw/Viewport.h>
-#include <X11/Xatom.h>
-#include <X11/Xmu/Atoms.h>
+#include <gtk/gtk.h>
 
 #include "common.h"
 #include "backend.h"
@@ -68,30 +49,11 @@ extern Option historyOptions[];
 // ------------- low-level front-end actions called by MoveHistory back-end -----------------
 
 void
-HighlightMove (int from, int to, Boolean highlight)
-{
-    if(highlight)
-       XawTextSetSelection( historyOptions[0].handle, from, to ); // for lack of a better method, use selection for highighting
-}
-
-void
 ScrollToCurrent (int caretPos)
 {
-    Arg args[10];
-    char *s;
-    int len;
-    GetWidgetText(&historyOptions[0], &s);
-    len = strlen(s);
-    if(caretPos < 0 || caretPos > len) caretPos = len;
-    if(caretPos > len-30) { // scroll to end, which causes no flicker
-      static XEvent event;
-      XtCallActionProc(historyOptions[0].handle, "end-of-file", &event, NULL, 0);
-      return;
-    }
-    // the following leads to a very annoying flicker, even when no scrolling is done at all.
-    XtSetArg(args[0], XtNinsertPosition, caretPos); // this triggers scrolling in Xaw
-    XtSetArg(args[1], XtNdisplayCaret, False);
-    XtSetValues(historyOptions[0].handle, args, 2);
+    static GtkTextIter iter;
+    gtk_text_buffer_get_iter_at_offset((GtkTextBuffer *) historyOptions[0].handle, &iter, caretPos);
+    gtk_text_view_scroll_to_iter((GtkTextView *) historyOptions[0].textValue, &iter, 0.0, 0, 0.5, 0.5);
 }
 
 
@@ -101,12 +63,3 @@ char historyTranslations[] =
 "<Btn3Down>: select-start() \n \
 <Btn3Up>: extend-end() SelectMove() \n";
 
-void
-SelectMove (Widget w, XEvent * event, String * params, Cardinal * nParams)
-{
-       XawTextPosition index, dummy;
-
-       XawTextGetSelectionPos(w, &index, &dummy);
-       FindMoveByCharIndex( index ); // [HGM] also does the actual moving to it, now
-}
-