The Battle for Wesnoth
1.15.2+dev
help
help_browser.hpp
Go to the documentation of this file.
1
/*
2
Copyright (C) 2003 - 2018 by David White <dave@whitevine.net>
3
Part of the Battle for Wesnoth Project https://www.wesnoth.org/
4
5
This program is free software; you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation; either version 2 of the License, or
8
(at your option) any later version.
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY.
11
12
See the COPYING file for more details.
13
*/
14
15
#pragma once
16
17
#include <deque>
// for deque
18
#include <string>
// for string
19
#include <SDL2/SDL_events.h>
// for SDL_Event
20
#include "
help_menu.hpp
"
// for help_menu
21
#include "
help_text_area.hpp
"
// for help_text_area
22
#include "widgets/button.hpp"
// for button
23
#include "widgets/widget.hpp"
// for widget
24
class
CVideo
;
// lines 18-18
25
struct
SDL_Rect;
26
27
namespace
help
{
28
29
/// A help browser widget.
30
class
help_browser
:
public
gui::widget
31
{
32
public
:
33
help_browser
(
CVideo
&
video
,
const
section
&toplevel);
34
35
void
adjust_layout
();
36
37
/// Display the topic with the specified identifier. Open the menu
38
/// on the right location and display the topic in the text area.
39
void
show_topic
(
const
std::string &topic_id);
40
41
protected
:
42
virtual
void
update_location
(
const
SDL_Rect& rect);
43
virtual
void
process_event
();
44
virtual
void
handle_event
(
const
SDL_Event &event);
45
46
private
:
47
/// Update the current cursor, set it to the reference cursor if
48
/// mousex, mousey is over a cross-reference, otherwise, set it to
49
/// the normal cursor.
50
void
update_cursor
();
51
void
show_topic
(
const
topic
&
t
,
bool
save_in_history=
true
);
52
/// Move in the topic history. Pop an element from from and insert
53
/// it in to. Pop at the fronts if the maximum number of elements is
54
/// exceeded.
55
void
move_in_history
(std::deque<const topic *> &from, std::deque<const topic *> &to);
56
help_menu
menu_
;
57
help_text_area
text_area_
;
58
const
section
&
toplevel_
;
59
bool
ref_cursor_
;
// If the cursor currently is the hyperlink cursor.
60
std::deque<const topic *>
back_topics_
,
forward_topics_
;
61
gui::button
back_button_
,
forward_button_
;
62
topic
const
*
shown_topic_
;
63
};
64
65
}
// end namespace help
help::help_browser::update_cursor
void update_cursor()
Update the current cursor, set it to the reference cursor if mousex, mousey is over a cross-reference...
Definition:
help_browser.cpp:192
help::help_browser::update_location
virtual void update_location(const SDL_Rect &rect)
Definition:
help_browser.cpp:90
help::help_browser::forward_button_
gui::button forward_button_
Definition:
help_browser.hpp:61
help_menu.hpp
help::help_browser::menu_
help_menu menu_
Definition:
help_browser.hpp:56
help::section
A section contains topics and sections along with title and ID.
Definition:
help_impl.hpp:141
help::help_browser::shown_topic_
topic const * shown_topic_
Definition:
help_browser.hpp:62
CVideo
Definition:
video.hpp:31
help::help_browser::handle_event
virtual void handle_event(const SDL_Event &event)
Definition:
help_browser.cpp:137
help::help_browser::help_browser
help_browser(CVideo &video, const section &toplevel)
Definition:
help_browser.cpp:33
help::help_browser::forward_topics_
std::deque< const topic * > forward_topics_
Definition:
help_browser.hpp:60
gui::widget
Definition:
widget.hpp:26
help::help_browser::toplevel_
const section & toplevel_
Definition:
help_browser.hpp:58
help::help_browser::back_topics_
std::deque< const topic * > back_topics_
Definition:
help_browser.hpp:60
help::help_text_area
The area where the content is shown in the help browser.
Definition:
help_text_area.hpp:32
help::help_browser::back_button_
gui::button back_button_
Definition:
help_browser.hpp:61
help::help_browser::ref_cursor_
bool ref_cursor_
Definition:
help_browser.hpp:59
help::help_browser::move_in_history
void move_in_history(std::deque< const topic *> &from, std::deque< const topic *> &to)
Move in the topic history.
Definition:
help_browser.cpp:120
gui::button
Definition:
button.hpp:24
help_text_area.hpp
help::help_browser::show_topic
void show_topic(const std::string &topic_id)
Display the topic with the specified identifier.
Definition:
help_browser.cpp:207
help::help_browser::process_event
virtual void process_event()
Definition:
help_browser.cpp:95
help::help_browser::adjust_layout
void adjust_layout()
Definition:
help_browser.cpp:54
gui::widget::video
CVideo & video() const
Definition:
widget.hpp:83
t
double t
Definition:
astarsearch.cpp:64
help::help_menu
The menu to the left in the help browser, where topics can be navigated through and chosen...
Definition:
help_menu.hpp:32
help::topic
A topic contains a title, an id and some text.
Definition:
help_impl.hpp:107
help
Definition:
help.cpp:55
help::help_browser
A help browser widget.
Definition:
help_browser.hpp:30
help::help_browser::text_area_
help_text_area text_area_
Definition:
help_browser.hpp:57
Generated by
1.8.13