|
Freeciv-3.1
|
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include <gdk/gdkkeysyms.h>#include "fcintl.h"#include "genlist.h"#include "log.h"#include "mem.h"#include "support.h"#include "chat.h"#include "featured_text.h"#include "game.h"#include "packets.h"#include "client_main.h"#include "climap.h"#include "control.h"#include "mapview_common.h"#include "colors.h"#include "gui_main.h"#include "gui_stuff.h"#include "pages.h"#include "chatline.h"Go to the source code of this file.
Data Structures | |
| struct | inputline_toolkit |
Macros | |
| #define | MAX_CHATLINE_HISTORY 20 |
| #define | MAX_MATCHES 10 |
Functions | |
| static void | inputline_make_tag (GtkEntry *entry, enum text_tag_type type) |
| bool | inputline_has_focus (void) |
| void | inputline_grab_focus (void) |
| bool | inputline_is_visible (void) |
| static bool | is_plain_public_message (const char *s) |
| static void | inputline_return (GtkEntry *w, gpointer data) |
| static const char * | get_player_or_user_name (int id) |
| static int | check_player_or_user_name (const char *prefix, const char **matches, const int max_matches) |
| static size_t | get_common_prefix (const char *const *prefixes, size_t num_prefixes, char *buf, size_t buf_len) |
| static bool | chatline_autocomplete (GtkEditable *editable) |
| static gboolean | inputline_handler (GtkWidget *w, GdkEventKey *ev) |
| void | inputline_make_chat_link (struct tile *ptile, bool unit) |
| void | scroll_if_necessary (GtkTextView *textview, GtkTextMark *scroll_target) |
| static gboolean | event_after (GtkWidget *text_view, GdkEventButton *event) |
| static void | set_cursor_if_appropriate (GtkTextView *text_view, gint x, gint y) |
| static gboolean | motion_notify_event (GtkWidget *text_view, GdkEventMotion *event) |
| void | set_message_buffer_view_link_handlers (GtkWidget *view) |
| void | apply_text_tag (const struct text_tag *ptag, GtkTextBuffer *buf, ft_offset_t text_start_offset, const char *text) |
| void | real_output_window_append (const char *astring, const struct text_tag_list *tags, int conn_id) |
| void | log_output_window (void) |
| void | clear_output_window (void) |
| void | set_output_window_text (const char *text) |
| bool | chatline_is_scrolled_to_bottom (void) |
| static gboolean | chatline_scroll_callback (gpointer data) |
| void | chatline_scroll_to_bottom (bool delayed) |
| static void | make_tag_callback (GtkToolButton *button, gpointer data) |
| static void | color_set (GObject *object, const gchar *color_target, GdkRGBA *color, GtkToolButton *button) |
| static void | color_selected (GtkDialog *dialog, gint res, gpointer data) |
| static void | select_color_callback (GtkToolButton *button, gpointer data) |
| static gboolean | move_toolkit (GtkWidget *toolkit_view, gpointer data) |
| static gboolean | set_toolbar_visibility (GtkWidget *w, gpointer data) |
| static void | button_toggled (GtkToggleButton *button, gpointer data) |
| GtkWidget * | inputline_toolkit_view_new (void) |
| void | inputline_toolkit_view_append_button (GtkWidget *toolkit_view, GtkWidget *button) |
| void | chatline_init (void) |
| static gboolean | version_message_main_thread (gpointer user_data) |
| void | version_message (const char *vertext) |
Variables | |
| static struct genlist * | history_list = NULL |
| static int | history_pos = -1 |
| static struct inputline_toolkit | toolkit |
| #define MAX_CHATLINE_HISTORY 20 |
Definition at line 52 of file chatline.c.
| #define MAX_MATCHES 10 |
| void apply_text_tag | ( | const struct text_tag * | ptag, |
| GtkTextBuffer * | buf, | ||
| ft_offset_t | text_start_offset, | ||
| const char * | text | ||
| ) |
Convert a struct text_tag to a GtkTextTag.
Definition at line 755 of file chatline.c.
|
static |
Show/Hide the toolbar.
Definition at line 1246 of file chatline.c.
|
static |
Autocompletes the input line with a player or user name. Returns FALSE if there is no string to complete.
Definition at line 284 of file chatline.c.
| void chatline_init | ( | void | ) |
Initializes the chatline stuff.
Definition at line 1302 of file chatline.c.
| bool chatline_is_scrolled_to_bottom | ( | void | ) |
Returns whether the chatline is scrolled to the bottom.
Definition at line 959 of file chatline.c.
|
static |
Scrolls the pregame and in-game chat windows all the way to the bottom.
Why do we do it in such a convuluted fasion rather than calling chatline_scroll_to_bottom directly from toplevel_configure? Because the widget is not at its final size yet when the configure event occurs.
Definition at line 994 of file chatline.c.
| void chatline_scroll_to_bottom | ( | bool | delayed | ) |
Scrolls the pregame and in-game chat windows all the way to the bottom. If delayed is TRUE, it will be done in a idle_callback.
Definition at line 1006 of file chatline.c.
|
static |
Find a player or a user by prefix.
| prefix | The prefix. |
| matches | A string array to set the matches result. |
| max_matches | The maximum of matches. |
Definition at line 202 of file chatline.c.
| void clear_output_window | ( | void | ) |
Clear output window. This does not destroy it, or free its resources
Definition at line 943 of file chatline.c.
|
static |
Color selection dialog response.
Definition at line 1094 of file chatline.c.
|
static |
Set the color for an object. Update the button if not NULL.
Definition at line 1043 of file chatline.c.
|
static |
Click a link.
Definition at line 584 of file chatline.c.
|
static |
Find the larger common prefix.
prefixes - A list of prefixes. num_prefixes - The number of prefixes. buf - The buffer to set. buf_len - The maximal size of the buffer.
Returns the length of the common prefix (in characters).
Definition at line 257 of file chatline.c.
|
static |
Returns the name of player or user, set in the same list.
Definition at line 175 of file chatline.c.
| void inputline_grab_focus | ( | void | ) |
Gives the focus to the intput line.
Definition at line 79 of file chatline.c.
|
static |
Called when a key is pressed.
Definition at line 345 of file chatline.c.
| bool inputline_has_focus | ( | void | ) |
Returns TRUE iff the input line has focus.
Definition at line 71 of file chatline.c.
| bool inputline_is_visible | ( | void | ) |
Returns TRUE iff the input line is currently visible.
Definition at line 87 of file chatline.c.
Make a chat link at the current position or make the current selection clickable.
Definition at line 474 of file chatline.c.
|
static |
Make a text tag for the selected text.
Definition at line 416 of file chatline.c.
|
static |
Called when the return key is pressed.
Definition at line 139 of file chatline.c.
| void inputline_toolkit_view_append_button | ( | GtkWidget * | toolkit_view, |
| GtkWidget * | button | ||
| ) |
Appends a button to the inputline toolkit view widget.
Definition at line 1292 of file chatline.c.
| GtkWidget * inputline_toolkit_view_new | ( | void | ) |
Returns a new inputline toolkit view widget that can contain the inputline.
This widget has the following datas: "button_box": pointer to the GtkHBox where to append buttons.
Definition at line 1270 of file chatline.c.
|
static |
Helper function to determine if a given client input line is intended as a "plain" public message. Note that messages prefixed with : are a special case (explicit public messages), and will return FALSE.
Definition at line 97 of file chatline.c.
| void log_output_window | ( | void | ) |
I have no idea what module this belongs in – Syela I've decided to put output_window routines in chatline.c, because the are somewhat related and output_window_* is already here. –dwp
Definition at line 928 of file chatline.c.
|
static |
Tool button clicked.
Definition at line 1033 of file chatline.c.
|
static |
Maybe are the mouse is moving over a link.
Definition at line 728 of file chatline.c.
|
static |
Moves the tool kit to the toolkit view.
Definition at line 1155 of file chatline.c.
| void real_output_window_append | ( | const char * | astring, |
| const struct text_tag_list * | tags, | ||
| int | conn_id | ||
| ) |
Appends the string to the chat output window. The string should be inserted on its own line, although it will have no newline.
Definition at line 874 of file chatline.c.
| void scroll_if_necessary | ( | GtkTextView * | textview, |
| GtkTextMark * | scroll_target | ||
| ) |
Scroll a textview so that the given mark is visible, but only if the scroll window containing the textview is very close to the bottom. The text mark 'scroll_target' should probably be the first character of the last line in the text buffer.
Definition at line 557 of file chatline.c.
|
static |
Color selection tool button clicked.
Definition at line 1120 of file chatline.c.
|
static |
Set the "hand" cursor when moving over a link.
Definition at line 674 of file chatline.c.
| void set_message_buffer_view_link_handlers | ( | GtkWidget * | view | ) |
Set the appropriate callbacks for the message buffer.
Definition at line 744 of file chatline.c.
| void set_output_window_text | ( | const char * | text | ) |
Set given text to output window
Definition at line 951 of file chatline.c.
|
static |
Show/Hide the toolbar.
Definition at line 1216 of file chatline.c.
| void version_message | ( | const char * | vertext | ) |
Got version message from metaserver thread.
Definition at line 1477 of file chatline.c.
|
static |
Main thread side callback to print version message
Definition at line 1463 of file chatline.c.
|
static |
Definition at line 54 of file chatline.c.
|
static |
Definition at line 55 of file chatline.c.
|
static |