]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkInterpreter.h
re indent
[bbtk.git] / kernel / src / bbtkInterpreter.h
index 043706409546e792bda5093a332b9e860ab1c9aa..a402908996f817b14c0d79f8d24a433936b68c50 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkInterpreter.h,v $
   Language:  C++
-  Date:      $Date: 2010/09/12 23:15:15 $
-  Version:   $Revision: 1.40 $
+  Date:      $Date: 2010/09/18 22:31:40 $
+  Version:   $Revision: 1.44 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -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,67 +297,89 @@ namespace bbtk
 
     /// Closes all open files
     void CloseAllFiles();
-
+*/
+         
     /// Resets all
-    void Reset();
+    virtual void commandReset();
 
+         
     /// Displays help (entry point of any help)
-    void Help(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 Graph(const std::vector<std::string>& words);
+    virtual void commandGraph(const std::vector<std::string>& words);
 
     ///
-    void Config() const; 
+    virtual void commandConfig() const; 
     /// 
     //    void Print(const std::string&);
 
-    void Index(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 NewGUI(const std::string& box, 
-               const std::string& instanceName);
-
-    void Debug(const std::string& arg);
+      virtual void commandNewGUI(const std::string& box,const std::string& instanceName);
+      virtual void commandDebug(const std::string& arg);
+         virtual void commandNew(const std::string &boxType,const std::string &boxName);
+         virtual void commandDelete(const std::string &boxName);
+         virtual void commandConnection(const std::string &nodeFrom,const std::string &outputLabel,const std::string &nodeTo,const std::string &inputLabel);
+         virtual void commandPackage(const std::string &packageName);
+         virtual void commandEndPackage();
+         virtual void commandDefine(const std::string &name,const std::string &pack,const std::string &scriptfilename);
+         virtual void commandEndDefine();
+         virtual void commandKind(const std::string &kind);
+         virtual void commandPrint(const std::string &value);
+         virtual void commandExec(const std::string &word);
+         virtual void commandInput(const std::string &name,const std::string &box,const std::string &input,const std::string  &help);
+         virtual void commandOutput(const std::string &name,const std::string &box,const std::string &output,const std::string  &help);
+         virtual void commandSet(const std::string &box,const std::string &input,const std::string &value);
+         virtual void commandAuthor(const std::string &author);
+         virtual void commandCategory(const std::string &categorytype);
+         virtual void commandDescription(const std::string &description);
+         virtual void commandClear();
+         virtual void commandInclude(const std::string &word, bool ok);
+         virtual void commandLoad(const std::string &packageName);
+         virtual void commandUnload(const std::string &packageName);
+         virtual void commandBreak();
+         virtual void commandQuit();
+         virtual void commandMessage();
+         virtual void commandMessage(const std::string &kind,const  std::string &levelstr);
+         virtual void SetCurrentFileName(const 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
 
@@ -357,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;
 
@@ -398,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