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