GObjectsMVCFactory.h

Go to the documentation of this file.
00001 /*=========================================================================                                                                               
00002 Program:   bbtk
00003 Module:    $RCSfile: GObjectsMVCFactory.h,v $
00004 Language:  C++
00005 Date:      $Date: 2012/05/22 15:13:36 $
00006 Version:   $Revision: 1.4 $
00007 =========================================================================*/
00008 
00009 /* ---------------------------------------------------------------------
00010 
00011 * Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
00012 * Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
00013 *
00014 *  This software is governed by the CeCILL-B license under French law and 
00015 *  abiding by the rules of distribution of free software. You can  use, 
00016 *  modify and/ or redistribute the software under the terms of the CeCILL-B 
00017 *  license as circulated by CEA, CNRS and INRIA at the following URL 
00018 *  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
00019 *  or in the file LICENSE.txt.
00020 *
00021 *  As a counterpart to the access to the source code and  rights to copy,
00022 *  modify and redistribute granted by the license, users are provided only
00023 *  with a limited warranty  and the software's author,  the holder of the
00024 *  economic rights,  and the successive licensors  have only  limited
00025 *  liability. 
00026 *
00027 *  The fact that you are presently reading this means that you have had
00028 *  knowledge of the CeCILL-B license and that you accept its terms.
00029 * ------------------------------------------------------------------------ */                                                                         
00030 
00031 
00032 
00038 /****
00039 * Design and Developpement of BBTK GEditor
00040 * Ricardo A Corredor J <ra.corredor67@uniandes.edu.co>
00041 * RaC - 2010
00042 ****/
00043 
00044 #ifndef __GObjectsMVCFactory_h__
00045 #define __GObjectsMVCFactory_h__
00046 
00047 //Includes same project
00048 #include "GlobalConstants.h"
00049 
00050 #include "GObjectController.h"
00051 #include "GObjectModel.h"
00052 #include "vtkGObjectView.h"
00053 
00054 #include "GBlackBoxController.h"
00055 #include "vtkGBlackBoxView.h"
00056 #include "GBlackBoxModel.h"
00057 
00058 #include "GPortController.h"
00059 #include "vtkGPortView.h"
00060 #include "GPortModel.h"
00061 
00062 #include "GBoxController.h"
00063 #include "vtkGComplexBoxPortView.h"
00064 #include "GComplexBoxPortModel.h"
00065 
00066 
00067 //Includes creaMaracasVisu
00068 
00069 //Includes std
00070 #include <iostream>
00071 
00072 //Includes bbtk
00073 #include <bbtkInterpreter.h>
00074 #include <bbtkFactory.h>
00075 #include <bbtkPackage.h>
00076 namespace bbtk
00077 {
00078 
00079         class GObjectsMVCFactory 
00080         {
00081 
00082         public: 
00083 
00084                 //Constructors
00085                 GObjectsMVCFactory();
00086                 ~GObjectsMVCFactory();
00087                 
00088                 //Public methods
00089 
00090                 // Singleton to access to the Factory
00091                 static GObjectsMVCFactory* getInstance();
00092                 static void destroyInstance();
00093 
00094                 // Access to the BBTK library to get the descriptor of a box with the package and box names
00095                 BlackBoxDescriptor::Pointer getBlackBoxDescriptor(std::string packageName, std::string boxName);
00096 
00097                 // Creates the MVC of the graphical objects depending on the object type
00098                 vtkGObjectView* createGObjectView(int type);
00099                 GObjectController* createGObjectController(int type);
00100                 GObjectModel* createGObjectModel(int type);
00101 
00102                 //Public attributes
00103                 Interpreter::Pointer _interpreter;
00104 
00105         private:
00106 
00107                 //Private Methods
00108 
00109                 //Private Attributes
00110                 static GObjectsMVCFactory* instance;
00111 
00112 
00113         protected:
00114 
00115         };
00116 
00117 
00118 }
00119 // namespace bbtk
00120 #endif
00121 

Generated on Thu May 31 15:12:19 2012 for bbtkGEditor by  doxygen 1.5.7.1