The Battle for Wesnoth  1.13.10+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
gui2::dialogs::lua_interpreter::controller Class Reference

The controller is responsible to hold all the input widgets, and a pointer to the model and view. More...

Public Member Functions

 controller (lua_kernel_base &lk)
 
void bind (window &window)
 Bind my pointers to the widgets found in the window. More...
 
void handle_copy_button_clicked (window &window)
 Copy text to the clipboard. More...
 
void handle_clear_button_clicked (window &window)
 Clear the text. More...
 
void input_keypress_callback (bool &handled, bool &halt, const SDL_Keycode key, window &window)
 Handle return key (execute) or tab key (tab completion) More...
 
void update_view ()
 Update the view based on the model. More...
 

Private Member Functions

void execute ()
 
void tab ()
 
void search (int direction)
 

Private Attributes

buttoncopy_button
 
buttonclear_button
 
text_boxtext_entry
 
std::string text_entry_
 
const std::unique_ptr
< lua_interpreter::lua_model
lua_model_
 
const std::unique_ptr
< lua_interpreter::input_model
input_model_
 
const std::unique_ptr
< lua_interpreter::view
view_
 

Friends

class lua_interpreter
 

Detailed Description

The controller is responsible to hold all the input widgets, and a pointer to the model and view.

It is responsible to bind the input signals to appropriate handler methods, which it holds. It is also responsible to ask the view to update based on the output of the model, typically in response to some input.

Definition at line 368 of file lua_interpreter.cpp.

Constructor & Destructor Documentation

gui2::dialogs::lua_interpreter::controller::controller ( lua_kernel_base lk)
inline

Definition at line 384 of file lua_interpreter.cpp.

Member Function Documentation

void gui2::dialogs::lua_interpreter::controller::bind ( window window)

Bind my pointers to the widgets found in the window.

Find all the widgets managed by the controller and connect them to handler methods.

Definition at line 448 of file lua_interpreter.cpp.

References _(), desktop::clipboard::available(), gui2::event::connect_signal_mouse_left_click(), gui2::event::connect_signal_pre_key_press(), handle_clear_button_clicked(), handle_copy_button_clicked(), input_keypress_callback(), and LOG_LUA.

void gui2::dialogs::lua_interpreter::controller::execute ( )
private

Definition at line 552 of file lua_interpreter.cpp.

References LOG_LUA.

void gui2::dialogs::lua_interpreter::controller::handle_clear_button_clicked ( window window)

Clear the text.

Definition at line 500 of file lua_interpreter.cpp.

Referenced by bind().

void gui2::dialogs::lua_interpreter::controller::handle_copy_button_clicked ( window window)

Copy text to the clipboard.

Definition at line 493 of file lua_interpreter.cpp.

References desktop::clipboard::copy_to_clipboard().

Referenced by bind().

void gui2::dialogs::lua_interpreter::controller::input_keypress_callback ( bool &  handled,
bool &  halt,
const SDL_Keycode  key,
window window 
)

Handle return key (execute) or tab key (tab completion)

Definition at line 509 of file lua_interpreter.cpp.

References LOG_LUA, and gui2::widget::set_is_dirty().

Referenced by bind().

void gui2::dialogs::lua_interpreter::controller::search ( int  direction)
private

Definition at line 665 of file lua_interpreter.cpp.

void gui2::dialogs::lua_interpreter::controller::tab ( )
private

Definition at line 588 of file lua_interpreter.cpp.

References utils::word_completion().

void gui2::dialogs::lua_interpreter::controller::update_view ( )

Update the view based on the model.

Definition at line 436 of file lua_interpreter.cpp.

References LOG_LUA.

Friends And Related Function Documentation

friend class lua_interpreter
friend

Definition at line 407 of file lua_interpreter.cpp.

Member Data Documentation

button* gui2::dialogs::lua_interpreter::controller::clear_button
private

Definition at line 371 of file lua_interpreter.cpp.

button* gui2::dialogs::lua_interpreter::controller::copy_button
private

Definition at line 370 of file lua_interpreter.cpp.

const std::unique_ptr<lua_interpreter::input_model> gui2::dialogs::lua_interpreter::controller::input_model_
private

Definition at line 377 of file lua_interpreter.cpp.

const std::unique_ptr<lua_interpreter::lua_model> gui2::dialogs::lua_interpreter::controller::lua_model_
private

Definition at line 376 of file lua_interpreter.cpp.

text_box* gui2::dialogs::lua_interpreter::controller::text_entry
private

Definition at line 373 of file lua_interpreter.cpp.

std::string gui2::dialogs::lua_interpreter::controller::text_entry_
private

Definition at line 374 of file lua_interpreter.cpp.

const std::unique_ptr<lua_interpreter::view> gui2::dialogs::lua_interpreter::controller::view_
private

Definition at line 378 of file lua_interpreter.cpp.


The documentation for this class was generated from the following file: