#include <chatbox.hpp>
Public Member Functions | |
| chatbox (const implementation::builder_chatbox &builder) | |
| virtual void | set_active (const bool) override |
| See styled_widget::set_active. More... | |
| virtual bool | get_active () const override |
| See styled_widget::get_active. More... | |
| virtual unsigned | get_state () const override |
| See styled_widget::get_state. More... | |
| void | send_to_server (const ::config &cfg) override |
| void | set_active_window_changed_callback (const std::function< void(void)> &f) |
| void | load_log (std::map< std::string, chatroom_log > &log, bool show_lobby) |
| virtual void | send_chat_message (const std::string &message, bool allies_only) override |
| Inherited form chat_handler. More... | |
| virtual void | clear_messages () override |
| void | switch_to_window (lobby_chat_window *t) |
| Switch to the window given by a valid pointer (e.g. More... | |
| void | switch_to_window (std::size_t id) |
| void | active_window_changed () |
| lobby_chat_window * | room_window_open (const std::string &room, const bool open_new, const bool allow_close=true) |
| Check if a room window for "room" is open, if open_new is true then it will be created if not found. More... | |
| lobby_chat_window * | whisper_window_open (const std::string &name, bool open_new) |
| Check if a whisper window for user "name" is open, if open_new is true then it will be created if not found. More... | |
| lobby_chat_window * | find_or_create_window (const std::string &name, const bool whisper, const bool open_new, const bool allow_close, const std::string &initial_text) |
| Helper function to find and open a new window, used by *_window_open. More... | |
| void | close_window_button_callback (const std::string &room_name, bool &handled, bool &halt) |
| void | process_message (const ::config &data, bool whisper=false) |
| void | process_network_data (const ::config &data) |
Public Member Functions inherited from gui2::container_base | |
| container_base (const implementation::builder_styled_widget &builder, const std::string &control_type) | |
| virtual rect | get_client_rect () const |
| Returns the client rect. More... | |
| virtual void | layout_initialize (const bool full_initialization) override |
| See widget::layout_initialize. More... | |
| void | reduce_width (const unsigned maximum_width) |
| Tries to reduce the width of a container. More... | |
| virtual void | request_reduce_width (const unsigned maximum_width) override |
| See widget::request_reduce_width. More... | |
| virtual void | demand_reduce_width (const unsigned maximum_width) override |
| See widget::demand_reduce_width. More... | |
| void | reduce_height (const unsigned maximum_height) |
| Tries to reduce the height of a container. More... | |
| virtual void | request_reduce_height (const unsigned maximum_height) override |
| See widget::request_reduce_height. More... | |
| virtual void | demand_reduce_height (const unsigned maximum_height) override |
| See widget::demand_reduce_height. More... | |
| virtual bool | can_wrap () const override |
| See widget::can_wrap. More... | |
| virtual void | place (const point &origin, const point &size) override |
| See widget::place. More... | |
| virtual bool | has_widget (const widget &widget) const override |
| See widget::has_widget. More... | |
| virtual void | set_origin (const point &origin) override |
| See widget::set_origin. More... | |
| virtual void | set_visible_rectangle (const rect &rectangle) override |
| See widget::set_visible_rectangle. More... | |
| virtual void | impl_draw_children () override |
| See widget::impl_draw_children. More... | |
| virtual widget * | find_at (const point &coordinate, const bool must_be_active) override |
| See widget::find_at. More... | |
| virtual const widget * | find_at (const point &coordinate, const bool must_be_active) const override |
| See widget::find_at. More... | |
| widget * | find (const std::string_view id, const bool must_be_active) override |
| See widget::find. More... | |
| const widget * | find (const std::string_view id, const bool must_be_active) const override |
| See widget::find. More... | |
| bool | disable_click_dismiss () const override |
| See widget::disable_click_dismiss. More... | |
| virtual iteration::walker_ptr | create_walker () override |
| See widget::create_walker. More... | |
| void | init_grid (const builder_grid &grid_builder) |
| Initializes and builds the grid. More... | |
| grid::iterator | begin () |
| grid::iterator | end () |
| unsigned | add_row (const unsigned count=1) |
| void | set_rows (const unsigned rows) |
| unsigned int | get_rows () const |
| void | set_cols (const unsigned cols) |
| unsigned int | get_cols () const |
| void | set_rows_cols (const unsigned rows, const unsigned cols) |
| void | set_child (std::unique_ptr< widget > widget, const unsigned row, const unsigned col, const unsigned flags, const unsigned border_size) |
| void | set_row_grow_factor (const unsigned row, const unsigned factor) |
| void | set_column_grow_factor (const unsigned column, const unsigned factor) |
| const grid & | get_grid () const |
| grid & | get_grid () |
Public Member Functions inherited from gui2::styled_widget | |
| styled_widget (const implementation::builder_styled_widget &builder, const std::string &control_type) | |
| Constructor. More... | |
| virtual void | set_members (const widget_item &data) |
| Sets the members of the styled_widget. More... | |
| bool | disable_click_dismiss () const override |
| See widget::disable_click_dismiss. More... | |
| point | get_config_minimum_size () const |
| Gets the minimum size as defined in the config. More... | |
| point | get_config_default_size () const |
| Gets the default size as defined in the config. More... | |
| point | get_config_maximum_size () const |
| Gets the best size as defined in the config. More... | |
| virtual unsigned | get_characters_per_line () const |
| Returns the number of characters per line. More... | |
| virtual bool | get_link_aware () const |
| Returns whether the label should be link_aware, in in rendering and in searching for links with get_link. More... | |
| virtual color_t | get_link_color () const |
| Returns the color string to be used with links. More... | |
| widget * | find (const std::string_view id, const bool must_be_active) override |
| See widget::find. More... | |
| const widget * | find (const std::string_view id, const bool must_be_active) const override |
| See widget::find. More... | |
| bool | get_use_tooltip_on_label_overflow () const |
| void | set_use_tooltip_on_label_overflow (const bool use_tooltip=true) |
| const t_string & | get_label () const |
| virtual void | set_label (const t_string &text) |
| virtual void | set_use_markup (bool use_markup) |
| bool | get_use_markup () const |
| const t_string & | tooltip () const |
| void | set_tooltip (const t_string &tooltip) |
| const t_string & | help_message () const |
| void | set_help_message (const t_string &help_message) |
| std::vector< canvas > & | get_canvases () |
| canvas & | get_canvas (const unsigned index) |
| virtual void | set_text_alignment (const PangoAlignment text_alignment) |
| PangoAlignment | get_text_alignment () const |
| void | set_text_ellipse_mode (const PangoEllipsizeMode ellipse_mode) |
| PangoEllipsizeMode | get_text_ellipse_mode () const |
| Get the text's ellipsize mode. More... | |
Public Member Functions inherited from gui2::widget | |
| widget (const widget &)=delete | |
| widget & | operator= (const widget &)=delete |
| widget () | |
| widget (const builder_widget &builder) | |
| Constructor. More... | |
| virtual | ~widget () override |
| void | set_id (const std::string &id) |
| const std::string & | id () const |
| window * | get_window () |
| Get the parent window. More... | |
| const window * | get_window () const |
| The constant version of get_window. More... | |
| grid * | get_parent_grid () |
| Get the parent grid. More... | |
| const grid * | get_parent_grid () const |
| void | set_parent (widget *parent) |
| widget * | parent () |
| point | get_best_size () const |
| Gets the best size for the widget. More... | |
| virtual bool | can_mouse_focus () const |
| Whether the mouse move/click event go 'through' this widget. More... | |
| virtual void | set_size (const point &size) |
| Sets the size of the widget. More... | |
| virtual void | move (const int x_offset, const int y_offset) |
| Moves a widget. More... | |
| virtual void | set_horizontal_alignment (const std::string &alignment) |
| Sets the horizontal alignment of the widget within its parent grid. More... | |
| virtual void | set_vertical_alignment (const std::string &alignment) |
| Sets the horizontal alignment of the widget within its parent grid. More... | |
| point | get_origin () const |
| Returns the screen origin of the widget. More... | |
| point | get_size () const |
| Returns the size of the widget. More... | |
| rect | get_rectangle () const |
| Gets the bounding rectangle of the widget on the screen. More... | |
| int | get_x () const |
| int | get_y () const |
| unsigned | get_width () const |
| unsigned | get_height () const |
| void | set_linked_group (const std::string &linked_group) |
| std::string | get_linked_group () const |
| rect | calculate_blitting_rectangle () const |
| Calculates the blitting rectangle of the widget. More... | |
| rect | calculate_clipping_rectangle () const |
| Calculates the clipping rectangle of the widget. More... | |
| bool | draw_background () |
| Draws the background of a widget. More... | |
| void | draw_children () |
| Draws the children of a widget. More... | |
| bool | draw_foreground () |
| Draws the foreground of the widget. More... | |
| rect | get_dirty_rectangle () const |
| Gets the dirty rectangle of the widget. More... | |
| void | queue_redraw () |
| Indicates that this widget should be redrawn. More... | |
| void | queue_redraw (const rect ®ion) |
| Indicate that specific region of the screen should be redrawn. More... | |
| void | set_visible (const visibility visible) |
| visibility | get_visible () const |
| void | set_visible (bool visible) |
| Sets widget to visible if visible is true, else invisible. More... | |
| redraw_action | get_drawing_action () const |
| void | set_debug_border_mode (const debug_border debug_border_mode) |
| void | set_debug_border_color (const color_t debug_border_color) |
| template<class T > | |
| T * | find_widget (const std::string_view id, const bool must_be_active, const bool must_exist) |
| Gets a widget with the wanted id. More... | |
| template<class T > | |
| const T * | find_widget (const std::string_view id, const bool must_be_active, const bool must_exist) const |
| template<class T > | |
| T & | find_widget (const std::string_view id, const bool must_be_active=false) |
| Gets a widget with the wanted id. More... | |
| template<class T > | |
| const T & | find_widget (const std::string_view id, const bool must_be_active=false) const |
Public Member Functions inherited from gui2::event_executor | |
| event_executor () | |
| virtual | ~event_executor () |
| void | set_wants_mouse_hover (const bool hover=true) |
| bool | wants_mouse_hover () const |
| void | set_wants_mouse_left_double_click (const bool click=true) |
| bool | wants_mouse_left_double_click () const |
| void | set_wants_mouse_middle_double_click (const bool click=true) |
| bool | wants_mouse_middle_double_click () const |
| event_executor & | set_wants_mouse_right_double_click (const bool click=true) |
| bool | wants_mouse_right_double_click () const |
Public Member Functions inherited from gui2::event::dispatcher | |
| dispatcher () | |
| virtual | ~dispatcher () |
| void | connect () |
| Connects the dispatcher to the event handler. More... | |
| void | disconnect () |
| Disconnects the dispatcher from the event handler. More... | |
| bool | is_connected () const |
| Return whether the dispatcher is currently connected. More... | |
| bool | has_event (const ui_event event, const event_queue_type event_type) |
| bool | fire (const ui_event event, widget &target) |
| Fires an event which has no extra parameters. More... | |
| bool | fire (const ui_event event, widget &target, const point &coordinate) |
| Fires an event which takes a coordinate parameter. More... | |
| bool | fire (const ui_event event, widget &target, const SDL_Keycode key, const SDL_Keymod modifier, const std::string &unicode) |
| Fires an event which takes keyboard parameters. More... | |
| bool | fire (const ui_event event, widget &target, const point &pos, const point &distance) |
| Fires an event which takes touch-motion parameters. More... | |
| bool | fire (const ui_event event, widget &target, const point ¢er, float dTheta, float dDist, uint8_t numFingers) |
| Fires an event which takes touch-gesture parameters. More... | |
| bool | fire (const ui_event event, widget &target, void *) |
| Fires an event which takes notification parameters. More... | |
| bool | fire (const ui_event event, widget &target, const message &msg) |
| Fires an event which takes message parameters. More... | |
| bool | fire (const ui_event event, widget &target, const SDL_Event &sdlevent) |
| Fires an event that's a raw SDL event. More... | |
| bool | fire (const ui_event event, widget &target, const std::string &text, int32_t start, int32_t len) |
| Fires an event which takes text input parameters. More... | |
| template<ui_event E, typename F > | |
| void | connect_signal (const F &func, const queue_position position=back_child) |
| Adds a callback to the appropriate queue based on event type. More... | |
| template<ui_event E, typename F > | |
| void | disconnect_signal (const F &func, const queue_position position=back_child) |
| Removes a callback from the appropriate queue based on event type. More... | |
| void | capture_mouse () |
| Captures the mouse. More... | |
| void | release_mouse () |
| Releases the mouse capture. More... | |
| void | set_mouse_behavior (const mouse_behavior mouse_behavior) |
| mouse_behavior | get_mouse_behavior () const |
| void | set_want_keyboard_input (const bool want_keyboard_input) |
| bool | get_want_keyboard_input () const |
| template<typename Func > | |
| void | register_hotkey (const hotkey::HOTKEY_COMMAND id, Func &&function) |
| Registers a hotkey. More... | |
| bool | execute_hotkey (const hotkey::HOTKEY_COMMAND id) |
| Executes a hotkey. More... | |
Public Member Functions inherited from enable_lua_ptr< widget > | |
| enable_lua_ptr (widget *tp) | |
| enable_lua_ptr (enable_lua_ptr &&o) | |
| The weak_ptrs are pointing to o's shared_ptr's control block, so to keep existing weak_ptrs valid the existing control block is reused instead of replaced. More... | |
| enable_lua_ptr & | operator= (enable_lua_ptr &&o) |
Public Member Functions inherited from events::chat_handler | |
| chat_handler () | |
| virtual | ~chat_handler () |
| void | send_command (const std::string &cmd, const std::string &args="") |
| virtual void | send_to_server (const config &cfg)=0 |
Static Public Member Functions | |
| static const std::string & | type () |
| Static type getter that does not rely on the widget being constructed. More... | |
Protected Member Functions | |
| void | finalize_setup () |
| Initializes the internal sub-widget pointers. More... | |
| virtual void | user_relation_changed (const std::string &name) override |
| Inherited form chat_handler. More... | |
| virtual void | add_chat_message (const std::chrono::system_clock::time_point &time, const std::string &speaker, int side, const std::string &message, events::chat_handler::MESSAGE_TYPE type=events::chat_handler::MESSAGE_PRIVATE) override |
| Inherited form chat_handler. More... | |
| virtual void | add_whisper_sent (const std::string &receiver, const std::string &message) override |
| Inherited form chat_handler. More... | |
| virtual void | add_whisper_received (const std::string &sender, const std::string &message) override |
| Inherited form chat_handler. More... | |
| virtual void | add_chat_room_message_sent (const std::string &room, const std::string &message) override |
| Inherited form chat_handler. More... | |
| virtual void | add_chat_room_message_received (const std::string &room, const std::string &speaker, const std::string &message) override |
| Inherited form chat_handler. More... | |
Protected Member Functions inherited from gui2::container_base | |
| virtual point | calculate_best_size () const override |
| See widget::calculate_best_size. More... | |
| virtual void | layout_children () override |
| See widget::layout_children. More... | |
Protected Member Functions inherited from gui2::styled_widget | |
| resolution_definition_ptr | get_config () |
| resolution_definition_const_ptr | get_config () const |
| template<typename T > | |
| std::shared_ptr< const typename T::resolution > | cast_config_to () const |
| Casts the current resolution definition config to the respective type of a derived widget. More... | |
| virtual void | update_canvas () |
| Updates the canvas(ses). More... | |
| unsigned int | get_text_font_size () const |
| Resolves and returns the text_font_size. More... | |
| int | get_text_maximum_width () const |
| Returns the maximum width available for the text. More... | |
| int | get_text_maximum_height () const |
| Returns the maximum height available for the text. More... | |
| virtual bool | impl_draw_background () override |
| See widget::impl_draw_background. More... | |
| virtual bool | impl_draw_foreground () override |
| See widget::impl_draw_foreground. More... | |
| std::string | get_label_token (const point &position, std::string_view delimiters=" \n\r\t") const |
| Exposes font::pango_text::get_token, for the text label of this styled_widget. More... | |
| std::string | get_label_link (const point &position) const |
Protected Member Functions inherited from gui2::widget | |
| void | set_layout_size (const point &size) |
| const point & | layout_size () const |
| void | clear_layout_size () |
| Throws away layout_size_. More... | |
Protected Member Functions inherited from events::chat_handler | |
| bool | do_speak (const std::string &message, bool allies_only=false) |
| virtual void | send_whisper (const std::string &receiver, const std::string &message) |
| virtual void | send_chat_room_message (const std::string &room, const std::string &message) |
| void | change_logging (const std::string &data) |
| Change the log level of a log domain. More... | |
Private Member Functions | |
| virtual const std::string & | get_control_type () const override |
| Inherited from styled_widget, implemented by REGISTER_WIDGET. More... | |
| virtual void | set_self_active (const bool) override |
| See container_base::set_self_active. More... | |
| void | chat_input_keypress_callback (const SDL_Keycode key) |
| void | append_to_chatbox (const std::string &text, const bool force_scroll=false) |
| void | append_to_chatbox (const std::string &text, std::size_t id, const bool force_scroll=false) |
| bool | whisper_window_active (const std::string &name) |
| bool | room_window_active (const std::string &room) |
| void | increment_waiting_whispers (const std::string &name) |
| Mark the whisper window for "name" as having one more pending message. More... | |
| void | increment_waiting_messages (const std::string &room) |
| Mark the room window for "room" as having one more pending message. More... | |
| void | add_whisper_window_whisper (const std::string &sender, const std::string &message) |
| Add a whisper message to the whisper window. More... | |
| void | add_active_window_whisper (const std::string &sender, const std::string &message, const bool force_scroll=false) |
| Add a whisper message to the current window which is not the whisper window for "name". More... | |
| void | add_room_window_message (const std::string &room, const std::string &sender, const std::string &message) |
| Add a message to the window for room "room". More... | |
| void | add_active_window_message (const std::string &sender, const std::string &message, const bool force_scroll=false) |
| Add a message to the window for room "room". More... | |
| void | close_window (std::size_t idx) |
| void | signal_handler_receive_keyboard_focus (const event::ui_event event) |
Private Attributes | |
| listbox * | roomlistbox_ |
| multi_page * | chat_log_container_ |
| text_box * | chat_input_ |
| std::vector< lobby_chat_window > | open_windows_ |
| std::size_t | active_window_ |
| std::function< void(void)> | active_window_changed_callback_ |
| std::map< std::string, chatroom_log > * | log_ |
Friends | |
| struct | implementation::builder_chatbox |
Additional Inherited Members | |
Public Types inherited from gui2::widget | |
| enum class | visibility { visible , hidden , invisible } |
| Visibility settings done by the user. More... | |
| enum class | redraw_action { full , partly , none } |
| Visibility set by the engine. More... | |
| enum class | debug_border { none , outline , fill } |
Public Types inherited from gui2::event::dispatcher | |
| enum | event_queue_type { pre = 1 , child = 2 , post = 4 } |
| enum | queue_position { front_pre_child , back_pre_child , front_child , back_child , front_post_child , back_post_child } |
| The position where to add a new callback in the signal handler. More... | |
| enum class | mouse_behavior { all , hit , none } |
| The behavior of the mouse events. More... | |
Public Types inherited from events::chat_handler | |
| enum | MESSAGE_TYPE { MESSAGE_PUBLIC , MESSAGE_PRIVATE } |
Definition at line 53 of file chatbox.hpp.
|
explicit |
Definition at line 54 of file chatbox.cpp.
References signal_handler_receive_keyboard_focus().
| void gui2::chatbox::active_window_changed | ( | ) |
Definition at line 115 of file chatbox.cpp.
References active_window_, active_window_changed_callback_, gui2::widget::find_widget(), gui2::listbox::get_row_grid(), gui2::widget::hidden, open_windows_, roomlistbox_, gui2::widget::set_visible(), and t.
Referenced by close_window(), gui2::dialogs::mp_lobby::pre_show(), gui2::dialogs::mp_join_game::pre_show(), gui2::dialogs::mp_staging::pre_show(), and switch_to_window().
|
private |
Add a message to the window for room "room".
Definition at line 567 of file chatbox.cpp.
References append_to_chatbox(), markup::bold(), and font::escape_text().
Referenced by add_chat_room_message_received(), add_chat_room_message_sent(), add_whisper_received(), and add_whisper_sent().
|
private |
Add a whisper message to the current window which is not the whisper window for "name".
Definition at line 510 of file chatbox.cpp.
References append_to_chatbox(), markup::bold(), and font::escape_text().
Referenced by add_whisper_received(), and add_whisper_sent().
|
overrideprotectedvirtual |
Inherited form chat_handler.
Implements events::chat_handler.
Definition at line 274 of file chatbox.cpp.
References append_to_chatbox(), markup::bold(), font::escape_text(), and markup::italic().
Referenced by send_chat_message().
|
overrideprotectedvirtual |
Inherited form chat_handler.
Reimplemented from events::chat_handler.
Definition at line 341 of file chatbox.cpp.
References add_active_window_message(), add_room_window_message(), mp::do_notify(), mp::friend_message, prefs::get(), increment_waiting_messages(), mp::message, mp::message_other_window, mp::none, mp::own_nick, room_window_active(), mp::server_message, and utils::word_match().
Referenced by process_message().
|
overrideprotectedvirtual |
Inherited form chat_handler.
Reimplemented from events::chat_handler.
Definition at line 326 of file chatbox.cpp.
References add_active_window_message(), prefs::get(), LOG_LB, room_window_active(), room_window_open(), switch_to_window(), and t.
Referenced by chat_input_keypress_callback().
|
private |
Add a message to the window for room "room".
Definition at line 553 of file chatbox.cpp.
References append_to_chatbox(), markup::bold(), ERR_LB, font::escape_text(), open_windows_, room_window_open(), and t.
Referenced by add_chat_room_message_received().
|
overrideprotectedvirtual |
Inherited form chat_handler.
Reimplemented from events::chat_handler.
Definition at line 302 of file chatbox.cpp.
References add_active_window_message(), add_active_window_whisper(), add_whisper_window_whisper(), prefs::auto_open_whisper_windows(), mp::do_notify(), prefs::get(), increment_waiting_whispers(), prefs::is_friend(), LOG_LB, mp::whisper, mp::whisper_other_window, whisper_window_active(), and whisper_window_open().
Referenced by process_message().
|
overrideprotectedvirtual |
Inherited form chat_handler.
Reimplemented from events::chat_handler.
Definition at line 290 of file chatbox.cpp.
References add_active_window_message(), add_active_window_whisper(), prefs::get(), switch_to_window(), t, VGETTEXT, whisper_window_active(), and whisper_window_open().
Referenced by chat_input_keypress_callback().
|
private |
Add a whisper message to the whisper window.
Definition at line 498 of file chatbox.cpp.
References append_to_chatbox(), markup::bold(), ERR_LB, font::escape_text(), open_windows_, t, and whisper_window_open().
Referenced by add_whisper_received().
|
private |
Definition at line 218 of file chatbox.cpp.
References active_window_.
Referenced by add_active_window_message(), add_active_window_whisper(), add_chat_message(), add_room_window_message(), add_whisper_window_whisper(), and chat_input_keypress_callback().
|
private |
Definition at line 223 of file chatbox.cpp.
References chat_log_container_, gui2::scrollbar_base::END, gui2::widget::find_widget(), prefs::get(), gui2::scroll_text::get_value(), gui2::scrollbar_container::get_vertical_scrollbar_item_position(), gui2::widget::id(), log_, open_windows_, gui2::multi_page::page_grid(), gui2::scrollbar_container::scroll_vertical_scrollbar(), gui2::styled_widget::set_use_markup(), gui2::scroll_text::set_value(), gui2::scrollbar_container::set_vertical_scrollbar_item_position(), markup::span_color(), and gui2::scrollbar_container::vertical_scrollbar_at_end().
|
private |
Definition at line 149 of file chatbox.cpp.
References active_window_, add_chat_room_message_sent(), add_whisper_sent(), append_to_chatbox(), chat_input_, prefs::get(), mp::get_lobby_info(), gui2::text_box_base::get_value(), gui2::text_box_base::is_composing(), utils::join(), prefs::login(), open_windows_, gui2::text_box::save_to_history(), events::chat_handler::send_chat_room_message(), events::chat_handler::send_whisper(), gui2::text_box_base::set_value(), t, and utils::word_completion().
Referenced by finalize_setup().
|
overridevirtual |
Implements events::chat_handler.
Definition at line 259 of file chatbox.cpp.
References active_window_, chat_log_container_, gui2::widget::find_widget(), gui2::multi_page::page_grid(), and gui2::scroll_text::set_label().
|
private |
Definition at line 518 of file chatbox.cpp.
References active_window_, active_window_changed(), chat_log_container_, DBG_LB, log_, open_windows_, gui2::multi_page::remove_page(), gui2::listbox::remove_row(), roomlistbox_, gui2::multi_page::select_page(), gui2::listbox::select_row(), and t.
Referenced by close_window_button_callback().
| void gui2::chatbox::close_window_button_callback | ( | const std::string & | room_name, |
| bool & | handled, | ||
| bool & | halt | ||
| ) |
Definition at line 455 of file chatbox.cpp.
References close_window(), utils::ranges::find(), gui2::lobby_chat_window::name, and open_windows_.
Referenced by find_or_create_window().
|
protected |
Initializes the internal sub-widget pointers.
Should be called after initializing the widget's grid.
Definition at line 73 of file chatbox.cpp.
References chat_input_, chat_input_keypress_callback(), chat_log_container_, gui2::event::connect_signal_notify_modified(), gui2::event::connect_signal_pre_key_press(), gui2::listbox::get_selected_row(), roomlistbox_, and switch_to_window().
| lobby_chat_window * gui2::chatbox::find_or_create_window | ( | const std::string & | name, |
| const bool | whisper, | ||
| const bool | open_new, | ||
| const bool | allow_close, | ||
| const std::string & | initial_text | ||
| ) |
Helper function to find and open a new window, used by *_window_open.
Definition at line 392 of file chatbox.cpp.
References gui2::multi_page::add_page(), gui2::listbox::add_row(), chat_log_container_, close_window_button_callback(), gui2::event::connect_signal_mouse_left_click(), data, translation::dsgettext(), gui2::widget::find_widget(), gui2::widget::hidden, log_, open_windows_, roomlistbox_, gui2::widget::set_visible(), and t.
Referenced by load_log(), room_window_open(), and whisper_window_open().
|
inlineoverridevirtual |
See styled_widget::get_active.
Implements gui2::styled_widget.
Definition at line 67 of file chatbox.hpp.
|
overrideprivatevirtual |
Inherited from styled_widget, implemented by REGISTER_WIDGET.
Implements gui2::styled_widget.
|
inlineoverridevirtual |
Implements gui2::styled_widget.
Definition at line 73 of file chatbox.hpp.
|
private |
Mark the room window for "room" as having one more pending message.
Definition at line 482 of file chatbox.cpp.
References DBG_LB, gui2::widget::find_widget(), gui2::listbox::get_row_grid(), open_windows_, room_window_open(), roomlistbox_, gui2::widget::set_visible(), t, and gui2::widget::visible.
Referenced by add_chat_room_message_received().
|
private |
Mark the whisper window for "name" as having one more pending message.
Definition at line 468 of file chatbox.cpp.
References DBG_LB, gui2::widget::find_widget(), gui2::listbox::get_row_grid(), open_windows_, roomlistbox_, gui2::widget::set_visible(), t, gui2::widget::visible, and whisper_window_open().
Referenced by add_whisper_received().
| void gui2::chatbox::load_log | ( | std::map< std::string, chatroom_log > & | log, |
| bool | show_lobby | ||
| ) |
Definition at line 90 of file chatbox.cpp.
References _(), find_or_create_window(), log_, and markup::span_color().
Referenced by gui2::dialogs::mp_lobby::pre_show(), gui2::dialogs::mp_join_game::pre_show(), and gui2::dialogs::mp_staging::pre_show().
| void gui2::chatbox::process_message | ( | const ::config & | data, |
| bool | whisper = false |
||
| ) |
Definition at line 575 of file chatbox.cpp.
References active_window_, add_chat_room_message_received(), add_whisper_received(), data, DBG_LB, prefs::get(), plugins_manager::get(), prefs::is_ignored(), log_, LOG_LB, plugins_manager::notify_event(), and open_windows_.
Referenced by process_network_data().
| void gui2::chatbox::process_network_data | ( | const ::config & | data | ) |
Definition at line 625 of file chatbox.cpp.
References data, and process_message().
Referenced by gui2::dialogs::mp_lobby::process_network_data().
|
private |
Definition at line 373 of file chatbox.cpp.
References active_window_, open_windows_, and t.
Referenced by add_chat_room_message_received(), and add_chat_room_message_sent().
| lobby_chat_window * gui2::chatbox::room_window_open | ( | const std::string & | room, |
| const bool | open_new, | ||
| const bool | allow_close = true |
||
| ) |
Check if a room window for "room" is open, if open_new is true then it will be created if not found.
If allow_close is false, the 'close' button will be disabled.
Definition at line 379 of file chatbox.cpp.
References translation::dsgettext(), find_or_create_window(), and VGETTEXT.
Referenced by add_chat_room_message_sent(), add_room_window_message(), increment_waiting_messages(), gui2::dialogs::mp_lobby::pre_show(), gui2::dialogs::mp_join_game::pre_show(), and gui2::dialogs::mp_staging::pre_show().
|
overridevirtual |
Inherited form chat_handler.
Implements events::chat_handler.
Definition at line 253 of file chatbox.cpp.
References add_chat_message(), prefs::get(), prefs::login(), and send_to_server().
Referenced by gui2::dialogs::mp_lobby::pre_show(), gui2::dialogs::mp_join_game::pre_show(), and gui2::dialogs::mp_staging::pre_show().
|
override |
Definition at line 463 of file chatbox.cpp.
References cfg, and mp::send_to_server().
Referenced by send_chat_message().
|
inlineoverridevirtual |
See styled_widget::set_active.
Reimplemented from gui2::container_base.
Definition at line 61 of file chatbox.hpp.
|
inline |
Definition at line 81 of file chatbox.hpp.
References active_window_changed_callback_, and f.
Referenced by gui2::dialogs::mp_lobby::pre_show().
|
inlineoverrideprivatevirtual |
See container_base::set_self_active.
Implements gui2::container_base.
Definition at line 147 of file chatbox.hpp.
|
private |
Definition at line 634 of file chatbox.cpp.
References chat_input_, DBG_GUI_E, gui2::widget::get_window(), gui2::window::keyboard_capture(), and LOG_HEADER.
Referenced by chatbox().
| void gui2::chatbox::switch_to_window | ( | lobby_chat_window * | t | ) |
Switch to the window given by a valid pointer (e.g.
received from a call to *_window_open)
Definition at line 130 of file chatbox.cpp.
References open_windows_, and t.
Referenced by add_chat_room_message_sent(), add_whisper_sent(), finalize_setup(), and gui2::dialogs::mp_lobby::user_dialog_callback().
| void gui2::chatbox::switch_to_window | ( | std::size_t | id | ) |
Definition at line 135 of file chatbox.cpp.
References active_window_, active_window_changed(), chat_input_, chat_log_container_, gui2::widget::get_window(), gui2::widget::id(), gui2::window::keyboard_capture(), open_windows_, roomlistbox_, gui2::multi_page::select_page(), and gui2::listbox::select_row().
|
static |
Static type getter that does not rely on the widget being constructed.
|
overrideprotectedvirtual |
Inherited form chat_handler.
Reimplemented from events::chat_handler.
Definition at line 267 of file chatbox.cpp.
References active_window_changed_callback_.
|
private |
Definition at line 367 of file chatbox.cpp.
References active_window_, open_windows_, and t.
Referenced by add_whisper_received(), and add_whisper_sent().
| lobby_chat_window * gui2::chatbox::whisper_window_open | ( | const std::string & | name, |
| bool | open_new | ||
| ) |
Check if a whisper window for user "name" is open, if open_new is true then it will be created if not found.
Definition at line 385 of file chatbox.cpp.
References find_or_create_window(), and VGETTEXT.
Referenced by add_whisper_received(), add_whisper_sent(), add_whisper_window_whisper(), increment_waiting_whispers(), and gui2::dialogs::mp_lobby::user_dialog_callback().
|
friend |
Definition at line 55 of file chatbox.hpp.
|
private |
Definition at line 132 of file chatbox.hpp.
Referenced by active_window_changed(), append_to_chatbox(), chat_input_keypress_callback(), clear_messages(), close_window(), process_message(), room_window_active(), switch_to_window(), and whisper_window_active().
|
private |
Definition at line 134 of file chatbox.hpp.
Referenced by active_window_changed(), set_active_window_changed_callback(), and user_relation_changed().
|
private |
Definition at line 128 of file chatbox.hpp.
Referenced by chat_input_keypress_callback(), finalize_setup(), signal_handler_receive_keyboard_focus(), and switch_to_window().
|
private |
Definition at line 126 of file chatbox.hpp.
Referenced by append_to_chatbox(), clear_messages(), close_window(), finalize_setup(), find_or_create_window(), and switch_to_window().
|
private |
Definition at line 136 of file chatbox.hpp.
Referenced by append_to_chatbox(), close_window(), find_or_create_window(), load_log(), and process_message().
|
private |
Definition at line 130 of file chatbox.hpp.
Referenced by active_window_changed(), add_room_window_message(), add_whisper_window_whisper(), append_to_chatbox(), chat_input_keypress_callback(), close_window(), close_window_button_callback(), find_or_create_window(), increment_waiting_messages(), increment_waiting_whispers(), process_message(), room_window_active(), switch_to_window(), and whisper_window_active().
|
private |
Definition at line 124 of file chatbox.hpp.
Referenced by active_window_changed(), close_window(), finalize_setup(), find_or_create_window(), increment_waiting_messages(), increment_waiting_whispers(), and switch_to_window().