tGtkTextView now used throughout; compatibility code for GTK+1 added. - vaccinewars - be a doctor and try to vaccinate the world
 (HTM) git clone git://src.adamsgaard.dk/vaccinewars
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 46a6b4ca44b25a3395a80a70206ac0083fe08cc3
 (DIR) parent 24149457061dc21f2c9b0dc79b203acfebf20582
 (HTM) Author: Ben Webb <ben@salilab.org>
       Date:   Thu,  4 Apr 2002 16:10:09 +0000
       
       GtkTextView now used throughout; compatibility code for GTK+1 added.
       
       
       Diffstat:
         M src/gtkport/gtkport.h               |       9 +++++++--
         M src/gui_client/gtk_client.c         |      24 ++++++++++++------------
       
       2 files changed, 19 insertions(+), 14 deletions(-)
       ---
 (DIR) diff --git a/src/gtkport/gtkport.h b/src/gtkport/gtkport.h
       t@@ -792,6 +792,12 @@ void gtk_container_set_size(GtkWidget *widget, GtkAllocation *allocation);
        #define IDCANCEL  2
        #define IDYES     4
        #define IDNO      8
       +
       +#define gtk_text_view_set_editable(text, edit) gtk_text_set_editable(text, edit)
       +#define gtk_text_view_set_wrap_mode(text, wrap) gtk_text_set_word_wrap(text, wrap)
       +#define GTK_WRAP_WORD TRUE
       +#define GTK_TEXT_VIEW(wid) GTK_TEXT(wid)
       +#define GtkTextView GtkText
        #endif
        
        /* Other flags */
       t@@ -834,11 +840,10 @@ GtkWidget *gtk_scrolled_clist_new_with_titles(gint columns,
        guint SetAccelerator(GtkWidget *labelparent, gchar *Text,
                             GtkWidget *sendto, gchar *signal,
                             GtkAccelGroup *accel_group, gboolean needalt);
       -GtkWidget *gtk_scrolled_text_new(GtkAdjustment *hadj, GtkAdjustment *vadj,
       -                                 GtkWidget **pack_widg);
        GtkWidget *gtk_scrolled_text_view_new(GtkWidget **pack_widg);
        void TextViewAppend(GtkTextView *textview, const gchar *text,
                            const gchar *tagname, gboolean scroll);
       +void TextViewClear(GtkTextView *textview);
        GtkWidget *gtk_url_new(const gchar *text, const gchar *target,
                               const gchar *bin);
        
 (DIR) diff --git a/src/gui_client/gtk_client.c b/src/gui_client/gtk_client.c
       t@@ -869,11 +869,11 @@ static void CreateFightDialog(void)
          g_array_set_size(combatants, 1);
          gtk_object_set_data(GTK_OBJECT(dialog), "combatants", combatants);
        
       -  text = gtk_scrolled_text_new(NULL, NULL, &hbox);
       +  text = gtk_scrolled_text_view_new(&hbox);
          gtk_widget_set_usize(text, 150, 120);
        
       -  gtk_text_set_editable(GTK_TEXT(text), FALSE);
       -  gtk_text_set_word_wrap(GTK_TEXT(text), TRUE);
       +  gtk_text_view_set_editable(GTK_TEXT_VIEW(text), FALSE);
       +  gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text), GTK_WRAP_WORD);
          gtk_object_set_data(GTK_OBJECT(dialog), "text", text);
          gtk_widget_show_all(hbox);
          gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
       t@@ -1043,10 +1043,9 @@ static void FreeCombatants(void)
        void DisplayFightMessage(char *Data)
        {
          Player *Play;
       -  gint EditPos;
          GtkAccelGroup *accel_group;
       -  GtkWidget *Deal, *Fight, *Stand, *Run, *Text;
       -  char cr[] = "\n";
       +  GtkWidget *Deal, *Fight, *Stand, *Run;
       +  GtkTextView *textview;
          gchar *AttackName, *DefendName, *BitchName, *Message;
          FightPoint fp;
          int DefendHealth, DefendBitches, BitchesKilled, ArmPercent;
       t@@ -1073,7 +1072,8 @@ void DisplayFightMessage(char *Data)
          Fight = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(FightDialog), "fight"));
          Stand = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(FightDialog), "stand"));
          Run = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(FightDialog), "run"));
       -  Text = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(FightDialog), "text"));
       +  textview = GTK_TEXT_VIEW(gtk_object_get_data(GTK_OBJECT(FightDialog),
       +                                               "text"));
        
          Play = ClientData.Play;
        
       t@@ -1116,10 +1116,8 @@ void DisplayFightMessage(char *Data)
        
          g_strdelimit(Message, "^", '\n');
          if (strlen(Message) > 0) {
       -    EditPos = gtk_text_get_length(GTK_TEXT(Text));
       -    gtk_editable_insert_text(GTK_EDITABLE(Text), Message,
       -                             strlen(Message), &EditPos);
       -    gtk_editable_insert_text(GTK_EDITABLE(Text), cr, strlen(cr), &EditPos);
       +    TextViewAppend(textview, Message, NULL, FALSE);
       +    TextViewAppend(textview, "\n", NULL, TRUE);
          }
        
          if (!CanRunHere || fp == F_LASTLEAVE)
       t@@ -1890,7 +1888,7 @@ void EndGame(void)
        {
          DisplayFightMessage(NULL);
          gtk_widget_hide_all(ClientData.vbox);
       -//gtk_editable_delete_text(GTK_EDITABLE(ClientData.messages), 0, -1);
       +  TextViewClear(GTK_TEXT_VIEW(ClientData.messages));
          ShutdownNetwork(ClientData.Play);
          UpdatePlayerLists();
          CleanUpServer();
       t@@ -2080,6 +2078,7 @@ static void SetIcon(GtkWidget *window, gchar **xpmdata)
        
        static void make_tags(GtkTextView *textview)
        {
       +#ifdef HAVE_GLIB2
          GtkTextBuffer *buffer = gtk_text_view_get_buffer(textview);
        
          gtk_text_buffer_create_tag(buffer, "jet", "foreground", "blue", NULL);
       t@@ -2087,6 +2086,7 @@ static void make_tags(GtkTextView *textview)
          gtk_text_buffer_create_tag(buffer, "page", "foreground", "magenta", NULL);
          gtk_text_buffer_create_tag(buffer, "join", "foreground", "darkblue", NULL);
          gtk_text_buffer_create_tag(buffer, "leave", "foreground", "darkred", NULL);
       +#endif
        }
        
        #ifdef CYGWIN