]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkInterpreter.h
no message
[bbtk.git] / kernel / src / bbtkInterpreter.h
index 355e0fe7fad0e1810fd572147819cb81b508de23..ab4d3fd4ee7640be12658f6203e2717c25f43236 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkInterpreter.h,v $
   Language:  C++
-  Date:      $Date: 2010/09/15 14:17:17 $
-  Version:   $Revision: 1.42 $
+  Date:      $Date: 2010/09/17 15:56:52 $
+  Version:   $Revision: 1.43 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -42,6 +42,7 @@
 
 #include "bbtkVirtualExec.h"
 #include "bbtkExecuter.h"
+#include "bbtkInterpreterVirtual.h"
 
 #include <fstream>
 #include <deque>
@@ -57,6 +58,7 @@ namespace bbtk
   class WxConsole;
 #endif
   
+/* EED Borrame 
   //=======================================================================
   class BBTK_EXPORT InterpreterUser
   {
@@ -66,13 +68,12 @@ namespace bbtk
 
     virtual bool InterpreterUserHasOwnHtmlPageViewer() { return false; }
     virtual void InterpreterUserViewHtmlPage(const std::string&) {}
-
-
   };
   //=======================================================================
+*/
+       
 
-
-
+/* EED Borrame
   //=======================================================================
   class BBTK_EXPORT InterpreterException : public Exception
   {
@@ -98,7 +99,10 @@ namespace bbtk
     int mScriptLine;
   };
   //=======================================================================
-
+*/
+       
+       
+       
   /*
   //=======================================================================
   // The "Quit" exception
@@ -132,14 +136,15 @@ namespace bbtk
   */
 
   //=======================================================================
-  class BBTK_EXPORT Interpreter : public Object
+  class BBTK_EXPORT Interpreter : public InterpreterVirtual
   {
     BBTK_OBJECT_INTERFACE_NO_CONDES(Interpreter);
-    typedef Object Superclass;
+    typedef Object InterpreterVirtual;
   public:
     static Pointer New(const std::string& cpp_file = "");
     static Pointer New(VirtualExec::Pointer);
 
+/* EED Borrame   
     typedef enum 
       {
        Interpreter_OK,
@@ -163,7 +168,7 @@ namespace bbtk
 
     /// Launches a command line interpreter (with a prompt)
     void CommandLineInterpreter();
-
+*/
 
 
     /// Sets the inputs of the workspace :
@@ -184,11 +189,12 @@ namespace bbtk
 
     void SetDialogMode(DialogModeType t) { mVirtualExecuter->SetDialogMode(t);}
 
+/*EED Borrame    
     /// Sets the bool that indicates wether we are in command line context
     void SetCommandLine(bool v = true) { mCommandLine = v; }
 
     void SetThrow(bool b) { mThrow = b; }
-
 #ifdef USE_WXWIDGETS
     /// Sets the user of the interpreter (if any)
     void SetUser(InterpreterUser* c) { mUser = c; }
@@ -198,6 +204,7 @@ namespace bbtk
     const InterpreterUser* GetUser() const { return mUser; }
 
 #endif
+ */
 
     /// Gets the Executer 
     VirtualExec::Pointer GetExecuter() const { return mVirtualExecuter; }
@@ -214,6 +221,7 @@ namespace bbtk
 
   protected:
 
+/* EED Borrame   
     /// The enumeration of command codes == Command name
     typedef enum
     {
@@ -289,89 +297,89 @@ namespace bbtk
 
     /// Closes all open files
     void CloseAllFiles();
-
+*/
+         
     /// Resets all
-    void commandReset();
+    virtual void commandReset();
 
+         
     /// Displays help (entry point of any help)
-    void commandHelp(const std::vector<std::string>& words);
+    virtual void commandHelp(const std::vector<std::string>& words);
 
     /// Displays help on all the commands
     void HelpCommands();
 
+         
     /// Displays help on a particular command 
-    void HelpCommand( const std::string& command );
+    virtual void commandHelp( const std::string& command );
 
     ///
-    void commandGraph(const std::vector<std::string>& words);
+    virtual void commandGraph(const std::vector<std::string>& words);
 
     ///
-    void commandConfig() const; 
+    virtual void commandConfig() const; 
     /// 
     //    void Print(const std::string&);
 
-    void commandIndex(const std::string& filename, 
+    virtual void commandIndex(const std::string& filename, 
               const std::string& type = "Initials");
+
+/*EED Borrame    
     ///
     void FindCommandsWithPrefix( char* buf,
                                 int n,
                                 std::vector<std::string>& commands );
-
+*/
+         
     /// Creates and connects the piece of pipeline which defines a GUI 
     /// for the box box. 
     /// Define it as a complex box type with name instanceName+"Type"
     /// The instance is called instanceName
     /// and connected to the existing pipeline
-      void commandNewGUI(const std::string& box,const std::string& instanceName);
-      void commandDebug(const std::string& arg);
-         void commandNew(std::string boxType, std::string boxName);
-         void commandDelete(std::string boxName);
-         void commandConnection(std::string nodeFrom, std::string outputLabel, std::string nodeTo, std::string inputLabel);
-         void commandPackage(std::string packageName);
-         void commandEndPackage();
-         void commandDefine(std::string name, std::string pack, std::string scriptfilename);
-         void commandEndDefine();
-         void commandKind(std::string kind);
-         void commandPrint(std::string value);
-         void commandExec(std::string word);
-         void commandInput(std::string name, std::string box, std::string input,std::string  help);
-         void commandOutput(std::string name, std::string box, std::string output,std::string  help);
-         void commandSet(std::string box, std::string input, std::string value);
-         void commandAuthor(std::string author);
-         void commandCategory(std::string categorytype);
-         void commandDescription(std::string description);
-         void commandClear();
-         void commandInclude(std::string word, bool ok);
-         void commandLoad(std::string packageName);
-         void commandUnload(std::string packageName);
-         void commandBreak();
-         void commandQuit();
-         void commandMessage();
-         void commandMessage(std::string kind, std::string levelstr);
+      virtual void commandNewGUI(const std::string& box,const std::string& instanceName);
+      virtual void commandDebug(const std::string& arg);
+         virtual void commandNew(std::string boxType, std::string boxName);
+         virtual void commandDelete(std::string boxName);
+         virtual void commandConnection(std::string nodeFrom, std::string outputLabel, std::string nodeTo, std::string inputLabel);
+         virtual void commandPackage(std::string packageName);
+         virtual void commandEndPackage();
+         virtual void commandDefine(std::string name, std::string pack, std::string scriptfilename);
+         virtual void commandEndDefine();
+         virtual void commandKind(std::string kind);
+         virtual void commandPrint(std::string value);
+         virtual void commandExec(std::string word);
+         virtual void commandInput(std::string name, std::string box, std::string input,std::string  help);
+         virtual void commandOutput(std::string name, std::string box, std::string output,std::string  help);
+         virtual void commandSet(std::string box, std::string input, std::string value);
+         virtual void commandAuthor(std::string author);
+         virtual void commandCategory(std::string categorytype);
+         virtual void commandDescription(std::string description);
+         virtual void commandClear();
+         virtual void commandInclude(std::string word, bool ok);
+         virtual void commandLoad(std::string packageName);
+         virtual void commandUnload(std::string packageName);
+         virtual void commandBreak();
+         virtual void commandQuit();
+         virtual void commandMessage();
+         virtual void commandMessage(std::string kind, std::string levelstr);
+         virtual void SetCurrentFileName(std::string fullPathScriptName); 
 
+         
          /// Constructor
          Interpreter(const std::string& cpp_file = "");
-         
          Interpreter(VirtualExec::Pointer);
          
   private:
 
-
+                 
     void Init(VirtualExec::Pointer, const std::string& cpp_file);
 
+/*EED  Borrame 
     /// Opens the file fullPathScriptName 
     /// includeScriptName is the name as given to the include command 
     void LoadScript( std::string fullPathScriptName,
                     std::string includeScriptName);
-
-    /// 
-    void CatchInterpreterException( const InterpreterException& e );
-    void CatchBbtkException( const bbtk::Exception& e );
-    void CatchStdException( const std::exception& e );
-    void CatchUnknownException();
-
-
-  
+*/  
     //==================================================================
     // ATTRIBUTES
 
@@ -379,9 +387,9 @@ namespace bbtk
     bbtk::VirtualExec::Pointer mVirtualExecuter;
     bbtk::Executer::WeakPointer mRealExecuter;
 
+/*EED Borrame    
     /// The user of  the interpreter (0 if none)
     bbtk::InterpreterUser* mUser;
-
     /// Vector of open files / buffers (can be stringstream)
     std::vector<std::istream*> mFile;
 
@@ -420,10 +428,19 @@ namespace bbtk
 
     /// The break signal
     //    BreakSignalType mBreakSignal;
+ */
 
   protected:
-    ~Interpreter();
+         ~Interpreter();
 
+         /// 
+         virtual void CatchInterpreterException( const InterpreterException& e );
+         virtual void CatchBbtkException( const bbtk::Exception& e );
+         virtual void CatchStdException( const std::exception& e );
+         virtual void CatchUnknownException();
+         
+         
   };
   // EO class Interpreter