]> Creatis software - bbtkGEditor.git/commitdiff
no message
authordavila <>
Sun, 12 Sep 2010 23:16:40 +0000 (23:16 +0000)
committerdavila <>
Sun, 12 Sep 2010 23:16:40 +0000 (23:16 +0000)
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.cxx [new file with mode: 0644]
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.h [new file with mode: 0644]

diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.cxx b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.cxx
new file mode 100644 (file)
index 0000000..c120cf6
--- /dev/null
@@ -0,0 +1,337 @@
+/*=========================================================================                                                                               
+Program:   bbtk
+Module:    $RCSfile$
+Language:  C++
+Date:      $Date$
+Version:   $Revision$
+=========================================================================*/
+
+/* ---------------------------------------------------------------------
+
+* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
+* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
+*
+*  This software is governed by the CeCILL-B license under French law and 
+*  abiding by the rules of distribution of free software. You can  use, 
+*  modify and/ or redistribute the software under the terms of the CeCILL-B 
+*  license as circulated by CEA, CNRS and INRIA at the following URL 
+*  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
+*  or in the file LICENSE.txt.
+*
+*  As a counterpart to the access to the source code and  rights to copy,
+*  modify and redistribute granted by the license, users are provided only
+*  with a limited warranty  and the software's author,  the holder of the
+*  economic rights,  and the successive licensors  have only  limited
+*  liability. 
+*
+*  The fact that you are presently reading this means that you have had
+*  knowledge of the CeCILL-B license and that you accept its terms.
+* ------------------------------------------------------------------------ */                                                                         
+
+/**
+*  \file 
+*  \brief Class bbtk::InterpreterBBS 
+*/
+
+
+#include "InterpreterBBS.h"
+
+#include "bbtkExecuter.h"
+#include "bbtkMessageManager.h"
+#include "bbtkFactory.h"
+#include "bbtkUtilities.h"
+
+
+
+namespace bbtk
+{
+
+       
+
+       InterpreterBBS::Pointer InterpreterBBS::New( wxVtkSceneManager* sceneManager,  Factory::Pointer factory )
+       {
+                    return MakePointer( new InterpreterBBS( sceneManager, factory) );
+       }
+
+       
+       //=========================================================================
+
+       InterpreterBBS::InterpreterBBS( wxVtkSceneManager* sceneManager, Factory::Pointer factory )
+       : Interpreter("")
+       {               
+               _factory                = factory;
+               _sceneManager   = sceneManager;
+               
+               _xGeneral               = 10;
+               _yGeneral               = 10;
+               _zGeneral               = 900;   //  ?????
+               
+       }
+
+       //=========================================================================
+
+       InterpreterBBS::~InterpreterBBS()
+       {
+       }
+
+       //=========================================================================
+       
+       
+       /// Creates a new black box in current complex box
+    void InterpreterBBS::commandNew( const std::string& boxType, const std::string& boxName)
+       {
+               std::string packagename = _factory->GetPackageNameOfaBlackBox(boxType);
+               int idBox                               = _sceneManager->createGBlackBox( 0,0, packagename ,boxType);
+               _sceneManager->configGBlackBox(idBox, _xGeneral,_yGeneral,_zGeneral,boxName, false , _xGeneral+100, _yGeneral-10 , _zGeneral );
+               _yGeneral = _yGeneral + 30;
+               printf("EED InterpreterBBS::Create  packagename=%s    boxtype=%s   boxname=%s \n", packagename.c_str(), boxType.c_str(), boxName.c_str() );     
+       }
+       
+       /// Connects the output boxOutput to the input boxInput
+    void InterpreterBBS::commandConnect (const std::string &boxfrom,
+                                                                 const std::string &output,
+                                                                 const std::string &boxto,
+                                                                 const std::string &input)
+       {
+               printf("EED InterpreterBBS::Connect\n");
+       }
+       
+       
+       /// sets the input of the box with the value
+    void InterpreterBBS::commandSet (const std::string &box, 
+                                                         const std::string &input, 
+                                                         const std::string &value)
+       {
+               printf("EED InterpreterBBS::Set\n");
+       }
+       
+
+       
+       /// Loads a package
+    void InterpreterBBS::commandLoad(const std::string &name )
+       {
+       }
+       
+    /// Unloads a package
+    void InterpreterBBS::commandInclude(const std::string &name )
+       {
+       }
+       
+       
+/*     
+//--EED
+    /// Sets the inputs of the workspace : 
+    void InterpreterBBS::SetInputs(const std::map<std::string,std::string>& m)
+       {
+       }
+       
+    /// Puts the executer in "no exec" mode, 
+    /// which creates but does not execute pipelines 
+    void InterpreterBBS::SetNoExecMode(bool b)
+       {
+       }
+       
+    bool InterpreterBBS::GetNoExecMode() const
+       {
+               return true;
+       }
+       
+    /// Sets the mode of dialog of the executer for Root inputs 
+    void InterpreterBBS::SetDialogMode(DialogModeType t)
+       {
+       }
+       
+    /// Puts the executer in "no error" mode, 
+    /// Errors do not stop execution (but warnings are produced)
+    void InterpreterBBS::SetNoErrorMode(bool b)
+       {
+       }
+       
+    bool InterpreterBBS::GetNoErrorMode() const        
+       {
+               return true;
+       }
+       
+       /// Loads a package
+    void InterpreterBBS::LoadPackage(const std::string &name )
+       {
+       }
+       
+    /// Unloads a package
+    void InterpreterBBS::UnLoadPackage(const std::string &name )
+       {
+       }
+       
+    /// Starts a package block 
+    void InterpreterBBS::BeginPackage (const std::string &name )
+       {
+       }
+       
+    /// Ends a package block
+    void InterpreterBBS::EndPackage ()
+       {
+       }
+       
+    /// Starts the definition of a new ComplexBlackBox in package pack
+    /// scriptfilename is the file from which the def is read
+    void InterpreterBBS::Define (const std::string &name,
+                                                const std::string& pack,
+                                                const std::string &scriptfilename)
+       {
+       }
+       
+    /// Sets the file name to use for the current definition
+    /// (Used to set it after the Define command)
+    void InterpreterBBS::SetCurrentFileName (const std::string &name )
+       {
+       }
+       
+    /// End the definition of a ComplexBlackBox
+    void InterpreterBBS::EndDefine ()
+       {
+       }
+       
+    /// Sets the kind of the currently defined ComplexBlackBox
+    void InterpreterBBS::Kind(const std::string& kind)
+       {
+       }
+       
+    /// Creates a new black box in current complex box
+    void InterpreterBBS::Create ( const std::string& boxType, const std::string& boxName)
+       {
+               std::string packagename = _factory->GetPackageNameOfaBlackBox(boxType);
+//             int idBox                               = _sceneManager->createGBlackBox( 0,0, packagename ,boxType);
+//             _sceneManager->configGBlackBox(idBox, _xGeneral,_yGeneral,_zGeneral,boxName, false , _xGeneral+100, _yGeneral-10 , _zGeneral );
+               _yGeneral = _yGeneral + 30;
+               printf("EED InterpreterBBS::Create  packagename=%s    boxtype=%s   boxname=%s \n", packagename.c_str(), boxType.c_str(), boxName.c_str() );     
+       }
+       
+    /// Destroys a black box
+    void InterpreterBBS::Destroy (const std::string &boxName)
+       {
+       }
+       
+    /// Clears the currently defined ComplexBlackBox
+    void InterpreterBBS::Clear()
+       {
+       }
+       
+    /// Connects the output boxOutput to the input boxInput
+    void InterpreterBBS::Connect (const std::string &boxfrom,
+                                                 const std::string &output,
+                                                 const std::string &boxto,
+                                                 const std::string &input)
+       {
+               printf("EED InterpreterBBS::Connect\n");
+       }
+       
+    /// Executes the box 
+    void InterpreterBBS::Execute (const std::string &box)
+       {
+       }
+       
+    /// Defines an input of the current complex box
+    void InterpreterBBS::DefineInput (const std::string &name,
+                                                         const std::string &box,
+                                                         const std::string &input,
+                                                         const std::string &help)
+       {
+       }
+       
+    /// Defines an output of the current complex box
+    void InterpreterBBS::DefineOutput (const std::string &name,
+                                                          const std::string &box,
+                                                          const std::string &output,
+                                                          const std::string &help)
+       {
+       }
+       
+    /// sets the input of the box with the value
+    void InterpreterBBS::Set (const std::string &box, 
+                                         const std::string &input, 
+                                         const std::string &value)
+       {
+               printf("EED InterpreterBBS::Set\n");
+       }
+       
+    /// gets the output of the box
+    std::string InterpreterBBS::Get (const std::string &box, 
+                                                        const std::string &output)
+       {
+               return "";
+       }
+       
+    /// changes the workspace name
+    void InterpreterBBS::SetWorkspaceName( const std::string& n )
+       {
+       }
+       
+    ///Adds the authorName to the Box author list
+    void InterpreterBBS::Author(const std::string &authorName)
+       {
+       }
+       
+    ///Adds the categories to the Box categoris list
+    void InterpreterBBS::Category(const std::string &categories)
+       {
+       }
+       
+    /// The description string which explains what does the ComplexBox
+    void InterpreterBBS::Description(const std::string &d)
+       {
+       }
+       
+    /// prints the list of the boxes of the current box
+    void InterpreterBBS::PrintHelpListBoxes()
+       {
+       }
+       
+       /// Generate a HTML file with a gif file with the actual pipeline (Graphviz-dot needed). Returns the file path
+    std::string InterpreterBBS::ShowGraph(const std::string &nameblackbox, 
+                                                                 const std::string &detailStr, 
+                                                                 const std::string &levelStr,
+                                                                 const std::string &output_file,
+                                                                 const std::string &custom_header,
+                                                                 const std::string &custom_title,
+                                                                 bool system_display)
+       {
+               return "";
+       }
+       
+       /// Generate a HTML with a gif file with the actual pipeline (Graphviz-dot needed). Returns the file path
+    std::string InterpreterBBS::ShowGraphInstances(const std::string &nameblackbox, int detail, int level, bool system_display)
+       {
+               return "";
+       }
+       
+    /// Prints help on a black box
+    void InterpreterBBS::PrintHelpBlackBox(const std::string &nameblackbox, const std::string &detailStr, const std::string &levelStr)
+       {
+       }
+       
+    void InterpreterBBS::Reset()
+       {
+       }
+       
+    /// Sets the level of message for kind
+    void InterpreterBBS::SetMessageLevel(const std::string &kind, int level)
+       {
+       }
+       
+    /// Prints help on the messages
+    void InterpreterBBS::HelpMessages()
+       {
+       }
+       
+    /// Prints the string ... MORE : TO EXPLAIN 
+    void InterpreterBBS::Print(const std::string & message)
+       {
+       }
+       
+//--EED
+*/
+
+}  // EO namespace bbtk
+
+// EOF
+
diff --git a/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.h b/lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/InterpreterBBS.h
new file mode 100644 (file)
index 0000000..ab55c54
--- /dev/null
@@ -0,0 +1,240 @@
+/*=========================================================================                                                                               
+Program:   bbtk
+Module:    $RCSfile$
+Language:  C++
+Date:      $Date$
+Version:   $Revision$
+=========================================================================*/
+
+/* ---------------------------------------------------------------------
+
+* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
+* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
+*
+*  This software is governed by the CeCILL-B license under French law and 
+*  abiding by the rules of distribution of free software. You can  use, 
+*  modify and/ or redistribute the software under the terms of the CeCILL-B 
+*  license as circulated by CEA, CNRS and INRIA at the following URL 
+*  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
+*  or in the file LICENSE.txt.
+*
+*  As a counterpart to the access to the source code and  rights to copy,
+*  modify and redistribute granted by the license, users are provided only
+*  with a limited warranty  and the software's author,  the holder of the
+*  economic rights,  and the successive licensors  have only  limited
+*  liability. 
+*
+*  The fact that you are presently reading this means that you have had
+*  knowledge of the CeCILL-B license and that you accept its terms.
+* ------------------------------------------------------------------------ */                                                                         
+
+
+/****
+* Design and Developpement of BBTK GEditor
+* Ricardo A Corredor J <eduardo.davila@creatis.insa-lyon.fr>
+* RaC - 2010
+****/
+
+#ifndef __ExecuterBBSG_h__
+#define __ExecuterBBSG_h__
+
+//Includes same project
+#include "wxVtkSceneManager.h"
+
+//Includes bbtk
+#include "bbtkInterpreter.h"
+
+//Includes std
+#include <iostream>
+
+
+//#include "bbtkSystem.h"
+//#include "bbtkComplexBlackBox.h"
+#include "bbtkFactory.h"
+
+
+
+namespace bbtk
+{
+
+       class InterpreterBBS : public Interpreter 
+       {
+               public:
+               static Pointer New( wxVtkSceneManager* sceneManager, Factory::Pointer factory );
+               InterpreterBBS( wxVtkSceneManager* sceneManager, Factory::Pointer factory );
+               ~InterpreterBBS();
+               
+               //Public methods
+
+               
+               void InterpreterBBS::commandNew( const std::string& boxType, const std::string& boxName);
+               void InterpreterBBS::commandConnect (const std::string &boxfrom,
+                                                                                        const std::string &output,
+                                                                                        const std::string &boxto,
+                                                                                        const std::string &input);
+               void InterpreterBBS::commandSet (const std::string &box, 
+                                                                                const std::string &input, 
+                                                                                const std::string &value);
+               void InterpreterBBS::commandLoad(const std::string &name );
+               void InterpreterBBS::commandInclude(const std::string &name );
+               
+               
+               
+               /*
+//--EED
+               
+               /// Sets the inputs of the workspace : 
+               virtual void SetInputs(const std::map<std::string,std::string>& m);
+               
+               /// Puts the executer in "no exec" mode, 
+               /// which creates but does not execute pipelines 
+               virtual void SetNoExecMode(bool b);
+               
+               virtual bool GetNoExecMode() const;
+               
+               /// Sets the mode of dialog of the executer for Root inputs 
+               virtual void SetDialogMode(DialogModeType t);
+               
+               /// Puts the executer in "no error" mode, 
+               /// Errors do not stop execution (but warnings are produced)
+               virtual void SetNoErrorMode(bool b) ;
+               virtual bool GetNoErrorMode() const ;
+               //=================================================================
+               /// Loads a package
+               virtual void LoadPackage(const std::string &name ) ;
+               
+               /// Unloads a package
+               virtual void UnLoadPackage(const std::string &name );
+               
+               /// Starts a package block      
+               virtual void BeginPackage (const std::string &name );
+               
+               /// Ends a package block
+               virtual void EndPackage ();
+               
+               /// Starts the definition of a new ComplexBlackBox in package pack
+               /// scriptfilename is the file from which the def is read
+               virtual void Define (const std::string &name,
+                                                        const std::string& pack,
+                                                        const std::string &scriptfilename);
+               
+               /// Sets the file name to use for the current definition
+               /// (Used to set it after the Define command)
+               virtual void SetCurrentFileName (const std::string &name );
+               
+               /// End the definition of a ComplexBlackBox
+               virtual void EndDefine () ;
+               
+               /// Sets the kind of the currently defined ComplexBlackBox
+               virtual void Kind(const std::string& kind);
+               
+               /// Creates a new black box in current complex box
+               virtual void Create ( const std::string& boxType, const std::string&
+                                                        boxName);
+               
+               /// Destroys a black box
+               virtual void Destroy (const std::string &boxName);
+               
+               /// Clears the currently defined ComplexBlackBox
+               virtual void Clear() ;
+               
+               /// Connects the output boxOutput to the input boxInput
+               virtual void Connect (const std::string &boxfrom,
+                                                         const std::string &output,
+                                                         const std::string &boxto,
+                                                         const std::string &input) ;
+               
+               /// Executes the box 
+               virtual void Execute (const std::string &box) ;
+               
+               /// Defines an input of the current complex box
+               virtual void DefineInput (const std::string &name,
+                                                                 const std::string &box,
+                                                                 const std::string &input,
+                                                                 const std::string &help) ;
+               
+               /// Defines an output of the current complex box
+               virtual void DefineOutput (const std::string &name,
+                                                                  const std::string &box,
+                                                                  const std::string &output,
+                                                                  const std::string &help);
+               
+               /// sets the input of the box with the value
+               virtual void Set (const std::string &box, 
+                                                 const std::string &input, 
+                                                 const std::string &value);
+               
+               /// gets the output of the box
+               virtual std::string Get (const std::string &box, 
+                                                                const std::string &output) ;
+               
+               /// changes the workspace name
+               virtual void SetWorkspaceName( const std::string& n );
+               
+               ///Adds the authorName to the Box author list
+               virtual void Author(const std::string &authorName);
+               
+               ///Adds the categories to the Box categoris list
+               virtual void Category(const std::string &categories);
+               
+               /// The description string which explains what does the ComplexBox
+               virtual void Description(const std::string &d);
+               
+               /// prints the list of the boxes of the current box
+               virtual void PrintHelpListBoxes();
+               
+               /// Generate a HTML file with a gif file with the actual pipeline (Graphviz-dot needed). Returns the file path
+               virtual std::string ShowGraph(const std::string &nameblackbox, 
+                                                                         const std::string &detailStr, 
+                                                                         const std::string &levelStr,
+                                                                         const std::string &output_file,
+                                                                         const std::string &custom_header,
+                                                                         const std::string &custom_title,
+                                                                         bool system_display = true);
+               
+               /// Generate a HTML with a gif file with the actual pipeline (Graphviz-dot needed). Returns the file path
+               virtual std::string ShowGraphInstances(const std::string &nameblackbox, int detail, int level, bool system_display=true) ;
+               
+               /// Prints help on a black box
+               virtual void PrintHelpBlackBox(const std::string &nameblackbox, const std::string &detailStr, const std::string &levelStr);
+               
+               virtual void Reset();
+               
+               /// Sets the level of message for kind
+               virtual void SetMessageLevel(const std::string &kind, int level);
+               
+               /// Prints help on the messages
+               virtual void HelpMessages();
+               
+               /// Prints the string ... MORE : TO EXPLAIN 
+               virtual void Print(const std::string & message);
+               
+//--EED                
+*/
+               
+               double                          _xGeneral;
+               double                          _yGeneral;
+               double                          _zGeneral;
+               wxVtkSceneManager       *_sceneManager;
+               Factory::Pointer        _factory;
+               
+       private:
+
+               //Private Attributes
+
+
+               //Private Methods
+
+       protected:
+
+               //Protected Attributes
+
+               //Protected methods
+               
+       };
+
+
+}
+// namespace bbtk
+#endif
+