Program: bbtk
Module: $RCSfile: bbtkInterpreter.h,v $ $
Language: C++
- Date: $Date: 2008/02/06 09:27:52 $
- Version: $Revision: 1.10 $
+ Date: $Date: 2008/03/07 08:40:14 $
+ Version: $Revision: 1.13 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
namespace bbtk
{
+
+#ifdef _USE_WXWIDGETS_
+ class WxConsole;
+#endif
+
class BBTK_EXPORT Interpreter
{
/// Destructor
~Interpreter();
- static Interpreter* mGlobalInterpreter;
-
/// Launches a command line interpreter (with a prompt)
void CommandLineInterpreter();
void SetDialogMode(DialogModeType t) { mExecuter->SetDialogMode(t); }
/// Runs the interpretation of a file
- void InterpretFile( const std::string& filename,
- bool use_configuration_file=true);
+ void InterpretFile( const std::string& filename);
/// Interprets a line (either from a file or typed interactively)
void InterpretLine( const std::string& line, bool &insideComment );
CommandInfoType& info );
/// Switch to the interpretation of a file
- void SwitchToFile( const std::string& filename,
- bool use_configuration_file=true);
+ void SwitchToFile( const std::string& filename );
/// Closes the currently open file
void CloseCurrentFile();
/// Sets the bool that indicates wether we are in command line context
void SetCommandLine(bool v = true) { mCommandLine = v; }
+#ifdef _USE_WXWIDGETS_
+ /// Sets the WxConsole that created the interpreter (if any)
+ void SetWxConsole(WxConsole* c) { mWxConsole = c; }
+ /// Gets the WxConsole that created the interpreter (if any)
+ WxConsole* GetWxConsole() { return mWxConsole; }
+ /// Gets the WxConsole that created the interpreter (if any) - const
+ const WxConsole* GetWxConsole() const { return mWxConsole; }
+#endif
+
+ /// Gets the Executer
+ VirtualExec* GetExecuter() { return mExecuter; }
+ /// Gets the Executer (const)
+ const VirtualExec* GetExecuter() const { return mExecuter; }
+
private:
/// Opens the file fullPathScriptName
//==================================================================
// ATTRIBUTES
- /// The factory
- // bbtk::Factory* mFactory;
-
- /// The command executer
+ /// The command executer used
bbtk::VirtualExec* mExecuter;
+#ifdef _USE_WXWIDGETS_
+ /// The WxConsole which uses the interpreter (0 if none)
+ bbtk::WxConsole* mWxConsole;
+#endif
+
/// Vector of open files
std::vector<std::ifstream*> mFile;
std::deque< char* > mHistory;
};
+ // EO class Interpreter
+
+
+
// The "Quit" exception