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

This class implements the title screen. More...

#include <title_screen.hpp>

Inheritance diagram for gui2::ttitle_screen:
Inheritance graph

Public Types

enum  tresult {
  TUTORIAL = 1, NEW_CAMPAIGN, DOWNLOAD_CAMPAIGN, MULTIPLAYER,
  LOAD_GAME, GET_ADDONS, CORES, START_MAP_EDITOR,
  CHANGE_LANGUAGE, EDIT_PREFERENCES, SHOW_ABOUT, QUIT_GAME,
  TIP_PREVIOUS, TIP_NEXT, SHOW_HELP, REDRAW_BACKGROUND,
  RELOAD_GAME_DATA, NOTHING
}
 Values for the menu-items of the main menu. More...
 

Public Member Functions

 ttitle_screen ()
 
 ~ttitle_screen ()
 
- Public Member Functions inherited from gui2::tdialog
 tdialog ()
 
virtual ~tdialog ()
 
bool show (CVideo &video, const unsigned auto_close_time=0)
 Shows the window. More...
 
int get_retval () const
 
void set_always_save_fields (const bool always_save_fields)
 
void set_restore (const bool restore)
 

Private Member Functions

virtual const std::stringwindow_id () const
 Inherited from tdialog, implemented by REGISTER_DIALOG. More...
 
virtual void post_build (twindow &window)
 Inherited from tdialog. More...
 
void pre_show (twindow &window)
 Inherited from tdialog. More...
 
void update_tip (twindow &window, const bool previous)
 Updates the tip of day widget. More...
 
void show_debug_clock_window (CVideo &video)
 Shows the debug clock. More...
 

Private Attributes

tpopupdebug_clock_
 Holds the debug clock dialog. More...
 

Additional Inherited Members

- Protected Member Functions inherited from gui2::tdialog
tfield_boolregister_bool (const std::string &id, const bool mandatory, const std::function< bool()> &callback_load_value=std::function< bool()>(), const std::function< void(const bool)> &callback_save_value=std::function< void(const bool)>(), const std::function< void(twidget &)> &callback_change=std::function< void(twidget &)>())
 Creates a new boolean field. More...
 
tfield_boolregister_bool (const std::string &id, const bool mandatory, bool &linked_variable, const std::function< void(twidget &)> &callback_change=std::function< void(twidget &)>())
 Creates a new boolean field. More...
 
tfield_integerregister_integer (const std::string &id, const bool mandatory, const std::function< int()> &callback_load_value=std::function< int()>(), const std::function< void(const int)> &callback_save_value=std::function< void(const int)>())
 Creates a new integer field. More...
 
tfield_integerregister_integer (const std::string &id, const bool mandatory, int &linked_variable)
 Creates a new integer field. More...
 
tfield_textregister_text (const std::string &id, const bool mandatory, const std::function< std::string()> &callback_load_value=std::function< std::string()>(), const std::function< void(const std::string &)> &callback_save_value=std::function< void(const std::string &)>(), const bool capture_focus=false)
 Creates a new text field. More...
 
tfield_textregister_text (const std::string &id, const bool mandatory, std::string &linked_variable, const bool capture_focus=false)
 Creates a new text field. More...
 
tfield_labelregister_label (const std::string &id, const bool mandatory, const std::string &text, const bool use_markup=false)
 Registers a new control as a label. More...
 
tfield_labelregister_image (const std::string &id, const bool mandatory, const std::string &filename)
 Registers a new control as image. More...
 

Detailed Description

This class implements the title screen.

The menu buttons return a result back to the caller with the button pressed. So at the moment it only handles the tips itself.

Todo:
Evaluate whether we can handle more buttons in this class.

Definition at line 36 of file title_screen.hpp.

Member Enumeration Documentation

Values for the menu-items of the main menu.

Todo:
Evaluate the best place for these items.
Enumerator
TUTORIAL 

Start special campaign 'tutorial'.

NEW_CAMPAIGN 

Let user select a campaign to play.

DOWNLOAD_CAMPAIGN 
MULTIPLAYER 

Play single scenario against humans or AI.

LOAD_GAME 
GET_ADDONS 
CORES 
START_MAP_EDITOR 
CHANGE_LANGUAGE 
EDIT_PREFERENCES 
SHOW_ABOUT 

Show credits.

QUIT_GAME 
TIP_PREVIOUS 

Show previous tip-of-the-day.

TIP_NEXT 

Show next tip-of-the-day.

SHOW_HELP 
REDRAW_BACKGROUND 

Used after an action needing a redraw (ex: fullscreen)

RELOAD_GAME_DATA 

Used to reload all game data.

NOTHING 

Default, nothing done, no redraw needed.

Definition at line 48 of file title_screen.hpp.

Constructor & Destructor Documentation

gui2::ttitle_screen::ttitle_screen ( )

Definition at line 134 of file title_screen.cpp.

gui2::ttitle_screen::~ttitle_screen ( )

Definition at line 138 of file title_screen.cpp.

References debug_clock_.

Member Function Documentation

void gui2::ttitle_screen::post_build ( twindow window)
privatevirtual
void gui2::ttitle_screen::pre_show ( twindow window)
privatevirtual
void gui2::ttitle_screen::show_debug_clock_window ( CVideo video)
private

Shows the debug clock.

Definition at line 390 of file title_screen.cpp.

References debug_clock_, gui2::tpopup::show(), and gui2::show_debug_clock_button.

Referenced by pre_show().

void gui2::ttitle_screen::update_tip ( twindow window,
const bool  previous 
)
private

Updates the tip of day widget.

Parameters
windowThe window being shown.
previousShow the previous tip, else shows the next one.
Todo:
Look for a proper fix.

This dirtying is required to avoid the blurring to be rendered wrong. Not entirely sure why, but since we plan to move to SDL2 that change will probably fix this issue automatically.

Definition at line 359 of file title_screen.cpp.

References gui2::tmulti_page::get_page_count(), gui2::tmulti_page::get_selected_page(), gui2::tmulti_page::select_page(), and gui2::settings::tips.

Referenced by post_build(), and pre_show().

virtual const std::string& gui2::ttitle_screen::window_id ( ) const
privatevirtual

Inherited from tdialog, implemented by REGISTER_DIALOG.

Implements gui2::tdialog.

Member Data Documentation

tpopup* gui2::ttitle_screen::debug_clock_
private

Holds the debug clock dialog.

Definition at line 95 of file title_screen.hpp.

Referenced by show_debug_clock_window(), and ~ttitle_screen().


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