PageRenderTime 42ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/src/fe-gtk/fe-gtk.h

https://code.google.com/
C Header | 197 lines | 160 code | 28 blank | 9 comment | 2 complexity | fe71497b4f107ebf27792c95d0d52728 MD5 | raw file
Possible License(s): GPL-2.0
  1. #include "../../config.h"
  2. #ifdef WIN32
  3. /* If you're compiling this for Windows, your release is un-official
  4. * and not condoned. Please don't use the XChat name. Make up your
  5. * own name! */
  6. #define DISPLAY_NAME "XChat-Unofficial"
  7. #else
  8. #define DISPLAY_NAME "XChat"
  9. #endif
  10. #ifndef WIN32
  11. #include <sys/types.h>
  12. #include <regex.h>
  13. #endif
  14. #if defined(ENABLE_NLS) && !defined(_)
  15. # include <libintl.h>
  16. # define _(x) gettext(x)
  17. # ifdef gettext_noop
  18. # define N_(String) gettext_noop (String)
  19. # else
  20. # define N_(String) (String)
  21. # endif
  22. #endif
  23. #if !defined(ENABLE_NLS) && defined(_)
  24. # undef _
  25. # define N_(String) (String)
  26. # define _(x) (x)
  27. #endif
  28. #include <gtk/gtkwidget.h>
  29. #include <gtk/gtkcontainer.h>
  30. #include <gtk/gtksignal.h>
  31. #undef gtk_signal_connect
  32. #define gtk_signal_connect g_signal_connect
  33. #define flag_t flag_wid[0]
  34. #define flag_n flag_wid[1]
  35. #define flag_s flag_wid[2]
  36. #define flag_i flag_wid[3]
  37. #define flag_p flag_wid[4]
  38. #define flag_m flag_wid[5]
  39. #define flag_l flag_wid[6]
  40. #define flag_k flag_wid[7]
  41. #define flag_b flag_wid[8]
  42. #define NUM_FLAG_WIDS 9
  43. struct server_gui
  44. {
  45. GtkWidget *rawlog_window;
  46. GtkWidget *rawlog_textlist;
  47. /* join dialog */
  48. GtkWidget *joind_win;
  49. GtkWidget *joind_entry;
  50. GtkWidget *joind_radio1;
  51. GtkWidget *joind_radio2;
  52. GtkWidget *joind_check;
  53. /* chanlist variables */
  54. GtkWidget *chanlist_wild; /* GtkEntry */
  55. GtkWidget *chanlist_window;
  56. GtkWidget *chanlist_list;
  57. GtkWidget *chanlist_label;
  58. GtkWidget *chanlist_min_spin; /* minusers GtkSpinButton */
  59. GtkWidget *chanlist_refresh; /* buttons */
  60. GtkWidget *chanlist_join;
  61. GtkWidget *chanlist_savelist;
  62. GtkWidget *chanlist_search;
  63. GSList *chanlist_data_stored_rows; /* stored list so it can be resorted */
  64. GSList *chanlist_pending_rows;
  65. gint chanlist_tag;
  66. gint chanlist_flash_tag;
  67. gboolean chanlist_match_wants_channel; /* match in channel name */
  68. gboolean chanlist_match_wants_topic; /* match in topic */
  69. #ifndef WIN32
  70. regex_t chanlist_match_regex; /* compiled regular expression here */
  71. unsigned int have_regex;
  72. #endif
  73. guint chanlist_users_found_count; /* users total for all channels */
  74. guint chanlist_users_shown_count; /* users total for displayed channels */
  75. guint chanlist_channels_found_count; /* channel total for /LIST operation */
  76. guint chanlist_channels_shown_count; /* total number of displayed
  77. channels */
  78. int chanlist_maxusers;
  79. int chanlist_minusers;
  80. int chanlist_minusers_downloaded; /* used by LIST IRC command */
  81. int chanlist_search_type; /* 0=simple 1=pattern/wildcard 2=regexp */
  82. gboolean chanlist_caption_is_stale;
  83. };
  84. /* this struct is persistant even when delinking/relinking */
  85. typedef struct restore_gui
  86. {
  87. /* banlist stuff */
  88. GtkWidget *banlist_window;
  89. GtkWidget *banlist_treeview;
  90. GtkWidget *banlist_butRefresh;
  91. void *tab; /* (chan *) */
  92. /* information stored when this tab isn't front-most */
  93. void *user_model; /* for filling the GtkTreeView */
  94. void *buffer; /* xtext_Buffer */
  95. char *input_text; /* input text buffer (while not-front tab) */
  96. char *topic_text; /* topic GtkEntry buffer */
  97. char *key_text;
  98. char *limit_text;
  99. gfloat old_ul_value; /* old userlist value (for adj) */
  100. gfloat lag_value; /* lag-o-meter */
  101. char *lag_text; /* lag-o-meter text */
  102. char *lag_tip; /* lag-o-meter tooltip */
  103. gfloat queue_value; /* outbound queue meter */
  104. char *queue_text; /* outbound queue text */
  105. char *queue_tip; /* outbound queue tooltip */
  106. short flag_wid_state[NUM_FLAG_WIDS];
  107. unsigned int c_graph:1; /* connecting graph, is there one? */
  108. } restore_gui;
  109. typedef struct session_gui
  110. {
  111. GtkWidget
  112. *xtext,
  113. *vscrollbar,
  114. *window, /* toplevel */
  115. *topic_entry,
  116. *note_book,
  117. *main_table,
  118. *user_tree, /* GtkTreeView */
  119. *user_box, /* userlist box */
  120. *button_box_parent,
  121. *button_box, /* userlist buttons' box */
  122. *dialogbutton_box,
  123. *topicbutton_box,
  124. *meter_box, /* all the meters inside this */
  125. *lagometer,
  126. *laginfo,
  127. *throttlemeter,
  128. *throttleinfo,
  129. *topic_bar,
  130. *hpane_left,
  131. *hpane_right,
  132. *vpane_left,
  133. *vpane_right,
  134. *menu,
  135. *bar, /* connecting progress bar */
  136. *nick_box, /* contains label to the left of input_box */
  137. *nick_label,
  138. *op_xpm, /* icon to the left of nickname */
  139. *namelistinfo, /* label above userlist */
  140. *input_box,
  141. *flag_wid[NUM_FLAG_WIDS], /* channelmode buttons */
  142. *limit_entry, /* +l */
  143. *key_entry; /* +k */
  144. #define MENU_ID_NUM 12
  145. GtkWidget *menu_item[MENU_ID_NUM+1]; /* some items we may change state of */
  146. void *chanview; /* chanview.h */
  147. int bartag; /*connecting progressbar timeout */
  148. int pane_left_size; /*last position of the pane*/
  149. int pane_right_size;
  150. guint16 is_tab; /* is tab or toplevel? */
  151. guint16 ul_hidden; /* userlist hidden? */
  152. } session_gui;
  153. extern GdkPixmap *channelwin_pix;
  154. extern GdkPixmap *dialogwin_pix;
  155. #ifdef USE_GTKSPELL
  156. char *SPELL_ENTRY_GET_TEXT (GtkWidget *entry);
  157. #define SPELL_ENTRY_SET_TEXT(e,txt) gtk_text_buffer_set_text (gtk_text_view_get_buffer(GTK_TEXT_VIEW(e)),txt,-1);
  158. #define SPELL_ENTRY_SET_EDITABLE(e,v) gtk_text_view_set_editable(GTK_TEXT_VIEW(e), v)
  159. int SPELL_ENTRY_GET_POS (GtkWidget *entry);
  160. void SPELL_ENTRY_SET_POS (GtkWidget *entry, int pos);
  161. void SPELL_ENTRY_INSERT (GtkWidget *entry, const char *text, int len, int *pos);
  162. #else
  163. #define SPELL_ENTRY_GET_TEXT(e) (GTK_ENTRY(e)->text)
  164. #define SPELL_ENTRY_SET_TEXT(e,txt) gtk_entry_set_text(GTK_ENTRY(e),txt)
  165. #define SPELL_ENTRY_SET_EDITABLE(e,v) gtk_editable_set_editable(GTK_EDITABLE(e),v)
  166. #define SPELL_ENTRY_GET_POS(e) gtk_editable_get_position(GTK_EDITABLE(e))
  167. #define SPELL_ENTRY_SET_POS(e,p) gtk_editable_set_position(GTK_EDITABLE(e),p);
  168. #define SPELL_ENTRY_INSERT(e,t,l,p) gtk_editable_insert_text(GTK_EDITABLE(e),t,l,p)
  169. #endif