mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-10 04:57:00 -04:00
bd55326c7d
* Rewrite of error queue code: errors are now pulled, instead of being turned into messageboxes automatically. git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1629 0fc631ac-6414-0410-93d0-97cfa31319b6
62 lines
1.8 KiB
C++
62 lines
1.8 KiB
C++
//+----------------------------------------------------------------------------+
|
|
//| Description: Magic Set Editor - Program to make Magic (tm) cards |
|
|
//| Copyright: (C) 2001 - 2010 Twan van Laarhoven and Sean Hunt |
|
|
//| License: GNU General Public License 2 or later (see file COPYING) |
|
|
//+----------------------------------------------------------------------------+
|
|
|
|
#ifndef HEADER_CLI_TEXT_IO_HANDLER
|
|
#define HEADER_CLI_TEXT_IO_HANDLER
|
|
|
|
// ----------------------------------------------------------------------------- : Includes
|
|
|
|
#include <util/prec.hpp>
|
|
|
|
// ----------------------------------------------------------------------------- : Text I/O handler
|
|
|
|
// color codes
|
|
extern const Char *BRIGHT, *NORMAL, *PARAM, *FILE_EXT, *GRAY, *RED, *ENDL;
|
|
|
|
/// Command line input / output handler
|
|
class TextIOHandler {
|
|
public:
|
|
void init();
|
|
|
|
/// Do we have a console to read/write from/to?
|
|
bool haveConsole() const;
|
|
|
|
/// Output text to the console
|
|
TextIOHandler& operator << (const Char*);
|
|
TextIOHandler& operator << (const String&);
|
|
|
|
/// Read a line from stdin
|
|
String getLine();
|
|
/// Can another line be got?
|
|
bool canGetLine();
|
|
|
|
/// Flush output
|
|
void flush();
|
|
|
|
/// Show an error or warning message
|
|
void show_message(MessageType type, String const& message);
|
|
|
|
/// Enable raw mode
|
|
void enableRaw();
|
|
/// Output a single raw-mode record
|
|
/// Has no effect unless enableRaw() was called
|
|
void flushRaw();
|
|
|
|
private:
|
|
bool have_console;
|
|
bool escapes;
|
|
FILE* stream;
|
|
String buffer; ///< Buffer when not writing to console
|
|
bool raw_mode;
|
|
int raw_mode_status;
|
|
};
|
|
|
|
/// The global TextIOHandler object
|
|
extern TextIOHandler cli;
|
|
|
|
// ----------------------------------------------------------------------------- : EOF
|
|
#endif
|