OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
console.hpp
Go to the documentation of this file.
1 #ifndef MWGUI_CONSOLE_H
2 #define MWGUI_CONSOLE_H
3 
4 #include <list>
5 #include <string>
6 #include <vector>
7 
15 
16 #include "../mwscript/compilercontext.hpp"
17 #include "../mwscript/interpretercontext.hpp"
18 
19 #include "referenceinterface.hpp"
20 #include "windowbase.hpp"
21 
22 namespace MWGui
23 {
25  {
26  public:
28  void setSelectedObject(const MWWorld::Ptr& object);
29 
30  MyGUI::EditBox* mCommandLine;
31  MyGUI::EditBox* mHistory;
32 
33  typedef std::list<std::string> StringList;
34 
35  // History of previous entered commands
37  StringList::iterator mCurrent;
38  std::string mEditString;
39 
40  Console(int w, int h, bool consoleOnlyScripts);
41 
42  virtual void onOpen();
43 
44  void onResChange(int width, int height);
45 
46  // Print a message to the console, in specified color.
47  void print(const std::string &msg, const std::string& color = "#FFFFFF");
48 
49  // These are pre-colored versions that you should use.
50 
52  void printOK(const std::string &msg);
53 
55  void printError(const std::string &msg);
56 
57  void execute (const std::string& command);
58 
59  void executeFile (const std::string& path);
60 
61  void clear();
62 
63  virtual void resetReference ();
64 
65  protected:
66 
67  virtual void onReferenceUnavailable();
68 
69  private:
70 
71  void keyPress(MyGUI::Widget* _sender,
72  MyGUI::KeyCode key,
73  MyGUI::Char _char);
74 
75  void acceptCommand(MyGUI::EditBox* _sender);
76 
77  std::string complete( std::string input, std::vector<std::string> &matches );
78 
81  std::vector<std::string> mNames;
83 
84  bool compile (const std::string& cmd, Compiler::Output& output);
85 
87  virtual void report (const std::string& message, const Compiler::TokenLoc& loc, Type type);
88 
90  virtual void report (const std::string& message, Type type);
91 
96  void listNames();
97  };
98 }
99 #endif
Type
Definition: errorhandler.hpp:23
void message(CodeContainer &code, Literals &literals, const std::string &message, int buttons)
Definition: generator.cpp:537
void printOK(const std::string &msg)
Output from successful console command.
Definition: console.cpp:160
bool mConsoleOnlyScripts
Definition: console.hpp:82
Definition: output.hpp:14
std::vector< std::string > mNames
Definition: console.hpp:81
void acceptCommand(MyGUI::EditBox *_sender)
Definition: console.cpp:273
virtual void onReferenceUnavailable()
called when reference has become unavailable
Definition: console.cpp:445
void execute(const std::string &command)
Definition: console.cpp:170
void print(const std::string &msg, const std::string &color="#FFFFFF")
Definition: console.cpp:155
void clear()
Clear any state specific to the running game.
Definition: console.cpp:212
Location of a token in a source file.
Definition: tokenloc.hpp:10
virtual void report(const std::string &message, const Compiler::TokenLoc &loc, Type type)
Report error to the user.
Definition: console.cpp:73
std::string mEditString
Definition: console.hpp:38
std::string complete(std::string input, std::vector< std::string > &matches)
Definition: console.cpp:293
std::list< std::string > StringList
Definition: console.hpp:33
virtual void resetReference()
Definition: console.cpp:450
void setSelectedObject(const MWWorld::Ptr &object)
Set the implicit object for script execution.
Definition: console.cpp:421
Error handling.
Definition: errorhandler.hpp:14
Collection of compiler extensions.
Definition: extensions.hpp:39
Compiler::Extensions mExtensions
Definition: console.hpp:79
StringList mCommandHistory
Definition: console.hpp:36
MyGUI::EditBox * mCommandLine
Definition: console.hpp:30
void listNames()
Definition: console.cpp:87
MWScript::CompilerContext mCompilerContext
Definition: console.hpp:80
virtual void onOpen()
Notify that window has been made visible.
Definition: console.cpp:148
void printError(const std::string &msg)
Error message.
Definition: console.cpp:165
StringList::iterator mCurrent
Definition: console.hpp:37
MyGUI::EditBox * mHistory
Definition: console.hpp:31
Definition: windowbase.hpp:21
void onResChange(int width, int height)
Called when GUI viewport changes size.
Definition: console.cpp:416
this class is intended for GUI interfaces that access an MW-Reference for example dialogue window acc...
Definition: referenceinterface.hpp:12
bool compile(const std::string &cmd, Compiler::Output &output)
Definition: console.cpp:44
void executeFile(const std::string &path)
Definition: console.cpp:196
Definition: console.hpp:24
Pointer to a LiveCellRef.
Definition: ptr.hpp:19
void keyPress(MyGUI::Widget *_sender, MyGUI::KeyCode key, MyGUI::Char _char)
Definition: console.cpp:217
Console(int w, int h, bool consoleOnlyScripts)
Definition: console.cpp:124
KeyCode
Keyboard scan codes.
Definition: OISCompat.hpp:10
Definition: compilercontext.hpp:8