FIFE
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
commandline.h
Go to the documentation of this file.
1
/***************************************************************************
2
* Copyright (C) 2005-2013 by the FIFE team *
3
* http://www.fifengine.net *
4
* This file is part of FIFE. *
5
* *
6
* FIFE is free software; you can redistribute it and/or *
7
* modify it under the terms of the GNU Lesser General Public *
8
* License as published by the Free Software Foundation; either *
9
* version 2.1 of the License, or (at your option) any later version. *
10
* *
11
* This library is distributed in the hope that it will be useful, *
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14
* Lesser General Public License for more details. *
15
* *
16
* You should have received a copy of the GNU Lesser General Public *
17
* License along with this library; if not, write to the *
18
* Free Software Foundation, Inc., *
19
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20
***************************************************************************/
21
22
#ifndef FIFE_GUICHAN_ADDON_COMMANDLINE_H
23
#define FIFE_GUICHAN_ADDON_COMMANDLINE_H
24
25
// Standard C++ library includes
26
#include <string>
27
#include <vector>
28
29
// 3rd party library includes
30
#include <boost/function.hpp>
31
#include <guichan.hpp>
32
33
// FIFE includes
34
// These includes are split up in two parts, separated by one empty line
35
// First block: files included from the FIFE root src directory
36
// Second block: files included from the same folder
37
#include "
util/time/timer.h
"
38
#include "
gui/guichan/widgets/utf8textfield.h
"
39
40
namespace
FIFE {
41
44
class
CommandLine
:
public
gcn::UTF8TextField
{
45
public
:
46
typedef
boost::function1<void,std::string>
type_callback
;
47
50
CommandLine
();
51
54
~CommandLine
();
55
56
void
keyPressed
(gcn::KeyEvent& keyEvent);
57
virtual
void
drawCaret
(gcn::Graphics * graphics, int32_t x);
58
61
void
setCallback
(
const
type_callback
& cb);
62
65
void
toggleCaretVisible
();
66
69
void
startBlinking
();
70
73
void
stopBlinking
();
74
private
:
75
type_callback
m_callback
;
76
std::vector<std::string>
m_history
;
77
size_t
m_history_position
;
78
std::string
m_cmdline
;
79
bool
m_caretVisible
;
80
Timer
m_blinkTimer
;
81
Timer
m_suppressBlinkTimer
;
82
};
83
}
84
#endif
85
/* vim: set noexpandtab: set shiftwidth=2: set tabstop=2: */
gcn::UTF8TextField
UTF-8 aware version of the TextField class.
Definition:
utf8textfield.h:48
FIFE::CommandLine::m_cmdline
std::string m_cmdline
Definition:
commandline.h:78
FIFE::CommandLine::stopBlinking
void stopBlinking()
Stop blinking the caret for a few seconds.
Definition:
commandline.cpp:59
FIFE::CommandLine::setCallback
void setCallback(const type_callback &cb)
Set callback on pressing the ENTER key.
Definition:
commandline.cpp:148
FIFE::CommandLine
A Command line widget.
Definition:
commandline.h:44
FIFE::CommandLine::m_callback
type_callback m_callback
Definition:
commandline.h:75
FIFE::CommandLine::m_history_position
size_t m_history_position
Definition:
commandline.h:77
timer.h
utf8textfield.h
FIFE::CommandLine::type_callback
boost::function1< void, std::string > type_callback
Definition:
commandline.h:46
FIFE::CommandLine::toggleCaretVisible
void toggleCaretVisible()
Toggle the caret visibility.
Definition:
commandline.cpp:55
FIFE::CommandLine::startBlinking
void startBlinking()
Start blinking the caret.
Definition:
commandline.cpp:65
FIFE::CommandLine::m_caretVisible
bool m_caretVisible
Definition:
commandline.h:79
FIFE::CommandLine::keyPressed
void keyPressed(gcn::KeyEvent &keyEvent)
Definition:
commandline.cpp:70
FIFE::Timer
Simple Timer class.
Definition:
timer.h:61
FIFE::CommandLine::m_history
std::vector< std::string > m_history
Definition:
commandline.h:76
FIFE::CommandLine::~CommandLine
~CommandLine()
Destructor.
Definition:
commandline.cpp:52
FIFE::CommandLine::m_blinkTimer
Timer m_blinkTimer
Definition:
commandline.h:80
FIFE::CommandLine::CommandLine
CommandLine()
Constructor.
Definition:
commandline.cpp:41
FIFE::CommandLine::drawCaret
virtual void drawCaret(gcn::Graphics *graphics, int32_t x)
Definition:
commandline.cpp:138
FIFE::CommandLine::m_suppressBlinkTimer
Timer m_suppressBlinkTimer
Definition:
commandline.h:81
engine
core
gui
guichan
console
commandline.h
Generated on Tue Dec 10 2013 21:27:30 for FIFE by
1.8.5