#include <stdio.h>
-#include "bbtkInterpreter.h"
-#include "bbtkInterpreterPy.h"
#include "bbtkUtilities.h"
+#include "bbtkInterpreter.h"
+#include "bbtkInterpreterJavaScript.h"
+#include "bbtkInterpreterPython.h"
int main(int argc, char* argv[])
{
if (argc<3)
{
- printf("bbs2 <filename.bbs> <cxx|py>\n");
+ printf("bbs2 <filename.bbs> <cxx|py|js>\n");
return 1;
}
- std::string file,path;
+ std::string fileBase,file,path;
std::string extention( argv[2] );
- file = bbtk::Utilities::ExtractScriptName(argv[1],path);
- file += std::string(".")+extention;
+ fileBase = bbtk::Utilities::ExtractScriptName(argv[1],path);
+ file = fileBase + std::string(".") + extention;
if ( extention.compare("cxx")==0)
{
if ( extention.compare("py")==0)
{
printf("bbs -> py\n");
- bbtk::InterpreterPy::Pointer I = bbtk::InterpreterPy::New();
+ bbtk::InterpreterPython::Pointer I = bbtk::InterpreterPython::New();
I->SetThrow(true);
try
{
I->InterpretFile(argv[1]);
- std::vector<std::string> pythonBBTK= ((bbtk::InterpreterPy*)(I.get()))->pythonBBTK ;
+ std::vector<std::string> pythonBBTK= ((bbtk::InterpreterPython*)(I.get()))->pythonBBTK ;
FILE *ff=fopen(file.c_str(),"w+");
fprintf(ff,"from bbtk.bbtkBlackBox import *\n" );
- fprintf(ff,"class appliTest02:\n" );
+ fprintf(ff,"class %s:\n",fileBase.c_str() );
fprintf(ff," def Run(self):\n" );
- fprintf(ff," mCB = ComplexBlackBox('appliTest02')\n");
+ fprintf(ff," mCBpy = ComplexBlackBox('%s')\n",fileBase.c_str());
int i,size=pythonBBTK.size();
for (i=0; i<size;i++)
{
- fprintf(ff," mCB.%s\n", pythonBBTK[i].c_str() );
+ fprintf(ff," mCBpy.%s\n", pythonBBTK[i].c_str() );
}// for i
- fprintf(ff," mCB.Execute()\n" );
+ fprintf(ff," mCBpy.Execute()\n" );
fclose(ff);
} catch (bbtk::Exception e) {
e.Print();
} // try
- } // py
+ } // if py
+
+ if ( extention.compare("js")==0)
+ {
+ printf("bbs -> js\n");
+ bbtk::InterpreterJavaScript::Pointer I = bbtk::InterpreterJavaScript::New();
+ I->SetThrow(true);
+ try
+ {
+ I->InterpretFile(argv[1]);
+ std::vector<std::string> javascriptBBTK= ((bbtk::InterpreterJavaScript*)(I.get()))->javascriptBBTK ;
+ FILE *ff=fopen(file.c_str(),"w+");
+ fprintf(ff,"import * as bbtk from './bbtk.js' \n" );
+ fprintf(ff,"export class %s{\n",fileBase.c_str() );
+ fprintf(ff," Run(){\n" );
+ fprintf(ff," let mCBjs = new bbtk.ComplexBlackBox('%s')\n",fileBase.c_str());
+ int i,size=javascriptBBTK.size();
+ for (i=0; i<size;i++)
+ {
+ fprintf(ff," mCBjs.%s\n", javascriptBBTK[i].c_str() );
+ }// for i
+ fprintf(ff," mCBjs.Execute()\n" );
+ fprintf(ff," } \n" );
+ fprintf(ff,"} \n" );
+ fclose(ff);
+ } catch (bbtk::Exception e) {
+ e.Print();
+ } // try
+ } // if js
return 0;
}
--- /dev/null
+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*=========================================================================
+Program: bbtk
+Module: $RCSfile$
+Language: C++
+Date: $Date$
+Version: $Revision$
+=========================================================================*/
+
+
+/**
+ * \file
+ * \brief Class bbtk::BBPInterpreter
+ */
+
+
+#include "bbtkInterpreterJavaScript.h"
+
+#include "bbtkExecuter.h"
+#include "bbtkMessageManager.h"
+#include "bbtkFactory.h"
+#include "bbtkUtilities.h"
+
+namespace bbtk
+{
+
+ //=========================================================================
+ InterpreterJavaScript::Pointer InterpreterJavaScript::New()
+ {
+ return MakePointer( new InterpreterJavaScript() );
+ }
+ //=========================================================================
+
+
+
+ //=========================================================================
+ InterpreterJavaScript::InterpreterJavaScript()
+ {
+ bbtk::InterpreterVirtual::Init();
+ }
+ //=========================================================================
+
+ //=========================================================================
+ InterpreterJavaScript::~InterpreterJavaScript()
+ {
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ /// Creates a new black box in current complex box
+ void InterpreterJavaScript::commandNew( const std::string& boxType, const std::string& boxName) // virtual
+ {
+ int pos = boxType.find( std::string(":") );
+ std::string boxTypeTmp=boxType;
+ boxTypeTmp.replace(pos,1,"_");
+ // ex: mCB.New( bbtkBlackBox.std_ConcatString("Box10") )
+ std::string code("New( new bbtk."+boxTypeTmp+"('"+boxName+"') )");
+ this->javascriptBBTK.push_back(code);
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ /// Connects the output boxOutput to the input boxInput
+ void InterpreterJavaScript::commandConnection (const std::string &boxfrom,
+ const std::string &output,
+ const std::string &boxto,
+ const std::string &input) // virtual
+ {
+ //ex: mCB.Connection( "Box10" , "Out", "Box11", "In")
+ std::string code("Connection('"+boxfrom+"','"+output+"','"+boxto+"','"+input+"')");
+ this->javascriptBBTK.push_back(code);
+ }
+ //=========================================================================
+
+ //=========================================================================
+ void InterpreterJavaScript::commandInput(const std::string &name,const std::string &box,const std::string &input,const std::string &help)
+ {
+ }
+ //=========================================================================
+
+ //=========================================================================
+ void InterpreterJavaScript::commandOutput(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 InterpreterJavaScript::commandSet(const std::string &box,const std::string &input,const std::string &value) // virtual
+ {
+ //ex: mCB.Set("Box10","In2","/hola.mhd")
+ std::string code("Set('"+box+"','"+input+"','"+value+"')");
+ this->javascriptBBTK.push_back(code);
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ void InterpreterJavaScript::commandDefine(const std::string &name,const std::string &pack,const std::string &scriptfilename) // virtual
+ {
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ void InterpreterJavaScript::commandEndDefine() // virtual
+ {
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ void InterpreterJavaScript::commandExec(const std::string &word) // virtual
+ {
+ //Ex: mCB.AddToExecutableLst("Box13")
+ std::string code("AddToExecutableLst('"+word+"')");
+ this->javascriptBBTK.push_back(code);
+ }
+ //=========================================================================
+
+
+ //=========================================================================
+ void InterpreterJavaScript::commandAuthor(const std::string &author) // virtual
+ {
+ }
+ //=========================================================================
+
+ //=========================================================================
+ void InterpreterJavaScript::commandCategory(const std::string &categorytype) // virtual
+ {
+ }
+ //=========================================================================
+
+ //=========================================================================
+ void InterpreterJavaScript::commandDescription(const std::string &description) // virtual
+ {
+ }
+ //=========================================================================
+
+} // EO namespace bbtk
+
+// EOF
+
--- /dev/null
+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+#
+# 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.
+# ------------------------------------------------------------------------
+*/
+
+/*=========================================================================
+Program: bbtk
+Module: $RCSfile$
+Language: C++
+Date: $Date$
+Version: $Revision$
+=========================================================================*/
+
+
+#ifndef __bbtkBBPInterpreterJavaScript_h__
+#define __bbtkBBPInterpreterJavaScript_h__
+
+//Includes bbtk
+#include "bbtkInterpreterVirtual.h"
+
+//Includes std
+#include <iostream>
+#include <set>
+
+
+//#include "bbtkSystem.h"
+//#include "bbtkComplexBlackBox.h"
+
+namespace bbtk
+{
+ class BBTK_EXPORT InterpreterJavaScript : public InterpreterVirtual
+ {
+ public:
+ static Pointer New();
+ InterpreterJavaScript();
+ ~InterpreterJavaScript();
+
+ //Public methods
+
+ virtual void commandNew( const std::string& boxType, const std::string& boxName);
+
+ virtual void commandConnection (const std::string &boxfrom,
+ const std::string &output,
+ const std::string &boxto,
+ const std::string &input);
+ virtual void commandSet(const std::string &box,const std::string &input,const std::string &value);
+
+
+ virtual void commandDefine(const std::string &name,const std::string &pack,const std::string &scriptfilename);
+ virtual void commandEndDefine();
+
+ virtual void commandExec(const std::string &word);
+
+ virtual void commandAuthor(const std::string &author);
+ virtual void commandCategory(const std::string &categorytype);
+ virtual void commandDescription(const std::string &description);
+
+ 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);
+
+ std::vector<std::string> javascriptBBTK;
+
+ private:
+
+ //Private Attributes
+
+ //Private Methods
+
+ protected:
+
+ //Protected Attributes
+
+ //Protected methods
+
+ };
+}
+// namespace bbtk
+#endif
+
*/
-#include "bbtkInterpreterPy.h"
+#include "bbtkInterpreterPython.h"
#include "bbtkExecuter.h"
#include "bbtkMessageManager.h"
{
//=========================================================================
- InterpreterPy::Pointer InterpreterPy::New()
+ InterpreterPython::Pointer InterpreterPython::New()
{
- return MakePointer( new InterpreterPy() );
+ return MakePointer( new InterpreterPython() );
}
//=========================================================================
//=========================================================================
- InterpreterPy::InterpreterPy()
+ InterpreterPython::InterpreterPython()
{
bbtk::InterpreterVirtual::Init();
}
//=========================================================================
//=========================================================================
- InterpreterPy::~InterpreterPy()
+ InterpreterPython::~InterpreterPython()
{
}
//=========================================================================
//=========================================================================
/// Creates a new black box in current complex box
- void InterpreterPy::commandNew( const std::string& boxType, const std::string& boxName) // virtual
+ void InterpreterPython::commandNew( const std::string& boxType, const std::string& boxName) // virtual
{
int pos = boxType.find( std::string(":") );
std::string boxTypeTmp=boxType;
//=========================================================================
/// Connects the output boxOutput to the input boxInput
- void InterpreterPy::commandConnection (const std::string &boxfrom,
+ void InterpreterPython::commandConnection (const std::string &boxfrom,
const std::string &output,
const std::string &boxto,
const std::string &input) // virtual
//=========================================================================
//=========================================================================
- void InterpreterPy::commandInput(const std::string &name,const std::string &box,const std::string &input,const std::string &help)
+ void InterpreterPython::commandInput(const std::string &name,const std::string &box,const std::string &input,const std::string &help)
{
}
//=========================================================================
//=========================================================================
- void InterpreterPy::commandOutput(const std::string &name,const std::string &box,const std::string &output,const std::string &help)
+ void InterpreterPython::commandOutput(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 InterpreterPy::commandSet(const std::string &box,const std::string &input,const std::string &value) // virtual
+ void InterpreterPython::commandSet(const std::string &box,const std::string &input,const std::string &value) // virtual
{
//ex: mCB.Set("Box10","In2","/hola.mhd")
std::string code("Set('"+box+"','"+input+"','"+value+"')");
//=========================================================================
- void InterpreterPy::commandDefine(const std::string &name,const std::string &pack,const std::string &scriptfilename) // virtual
+ void InterpreterPython::commandDefine(const std::string &name,const std::string &pack,const std::string &scriptfilename) // virtual
{
}
//=========================================================================
//=========================================================================
- void InterpreterPy::commandEndDefine() // virtual
+ void InterpreterPython::commandEndDefine() // virtual
{
}
//=========================================================================
//=========================================================================
- void InterpreterPy::commandExec(const std::string &word) // virtual
+ void InterpreterPython::commandExec(const std::string &word) // virtual
{
//Ex: mCB.AddToExecutableLst("Box13")
std::string code("AddToExecutableLst('"+word+"')");
//=========================================================================
- void InterpreterPy::commandAuthor(const std::string &author) // virtual
+ void InterpreterPython::commandAuthor(const std::string &author) // virtual
{
}
//=========================================================================
//=========================================================================
- void InterpreterPy::commandCategory(const std::string &categorytype) // virtual
+ void InterpreterPython::commandCategory(const std::string &categorytype) // virtual
{
}
//=========================================================================
//=========================================================================
- void InterpreterPy::commandDescription(const std::string &description) // virtual
+ void InterpreterPython::commandDescription(const std::string &description) // virtual
{
}
//=========================================================================
=========================================================================*/
-#ifndef __bbtkBBPInterpreter_h__
-#define __bbtkBBPInterpreter_h__
+#ifndef __bbtkBBPInterpreterPython_h__
+#define __bbtkBBPInterpreterPython_h__
//Includes bbtk
#include "bbtkInterpreterVirtual.h"
namespace bbtk
{
- class BBTK_EXPORT InterpreterPy : public InterpreterVirtual
+ class BBTK_EXPORT InterpreterPython : public InterpreterVirtual
{
public:
static Pointer New();
- InterpreterPy();
- ~InterpreterPy();
+ InterpreterPython();
+ ~InterpreterPython();
//Public methods
--- /dev/null
+# ----------------------------------
+# - BBTKGEditor v 1.5 BBG BlackBox Diagram file
+# - /Users/davila/Creatis/C23/creatools_source/bbtk/packages/wx/bbs/appli/exampleCollapsiblePane.bbg
+# ----------------------------------
+
+APP_START
+CATEGORY:<VOID>
+DESCRIPTION:Description ??
+AUTHOR:Author ??
+COMPLEXBOX:FALSE
+COMPLEXINPUTS:0
+BOXES:24
+BOX
+wx:LayoutLine:Box00
+ISEXEC:FALSE
+-24.139296:-24.408258:-900.000000
+9.180704:-26.908258:-900.000000
+FIN_BOX
+BOX
+wx:CollapsiblePane:Box01
+ISEXEC:FALSE
+-11.498105:13.246355:-900.000000
+10.711895:10.746355:-900.000000
+PORT
+Label:"ups&&2P&&"
+FIN_BOX
+BOX
+wx:OutputText:Box02
+ISEXEC:FALSE
+-45.656217:-0.201721:-900.000000
+-23.986217:-2.701721:-900.000000
+PORT
+In:"hola 1"
+FIN_BOX
+BOX
+wx:OutputText:Box03
+ISEXEC:FALSE
+-8.427356:-0.628557:-900.000000
+13.242644:-3.128557:-900.000000
+PORT
+In:"hola 2"
+FIN_BOX
+BOX
+wx:LayoutLine:Box04
+ISEXEC:FALSE
+-15.787488:5.125875:-900.000000
+17.532512:2.625875:-900.000000
+FIN_BOX
+BOX
+wx:LayoutSplit:Box05
+ISEXEC:TRUE
+9.254966:-44.069344:-900.000000
+32.014966:-46.569344:-900.000000
+PORT
+Orientation:"H"
+FIN_BOX
+BOX
+vtk:LoadHola:Box06
+ISEXEC:FALSE
+55.106180:-16.877335:-900.000000
+76.656180:-19.377335:-900.000000
+FIN_BOX
+BOX
+creaMaracasVisu:ViewerNV:Box07
+ISEXEC:FALSE
+48.651104:-23.870335:-900.000000
+87.251104:-26.370335:-900.000000
+FIN_BOX
+BOX
+wx:OutputText:Box08
+ISEXEC:FALSE
+-2.562097:-6.733170:-900.000000
+19.107903:-9.233170:-900.000000
+PORT
+In:"hola 2"
+FIN_BOX
+BOX
+wx:LayoutLine:Box09
+ISEXEC:FALSE
+4.384626:24.491104:-900.000000
+37.704626:21.991104:-900.000000
+FIN_BOX
+BOX
+wx:OutputText:Box10
+ISEXEC:FALSE
+-59.224773:42.377045:-900.000000
+-37.554773:39.877045:-900.000000
+PORT
+In:"hola 1"
+FIN_BOX
+BOX
+wx:OutputText:Box11
+ISEXEC:FALSE
+-32.718062:42.459892:-900.000000
+-11.048062:39.959892:-900.000000
+PORT
+In:"hola 2"
+FIN_BOX
+BOX
+wx:OutputText:Box12
+ISEXEC:FALSE
+-9.573371:42.408258:-900.000000
+12.096629:39.908258:-900.000000
+PORT
+In:"hola 2"
+FIN_BOX
+BOX
+wx:OutputText:Box14
+ISEXEC:FALSE
+15.157088:43.670219:-900.000000
+36.827088:41.170219:-900.000000
+PORT
+In:"hola 1"
+FIN_BOX
+BOX
+wx:OutputText:Box15
+ISEXEC:FALSE
+41.663798:43.753065:-900.000000
+63.333798:41.253065:-900.000000
+PORT
+In:"hola 2"
+FIN_BOX
+BOX
+wx:OutputText:Box16
+ISEXEC:FALSE
+64.808490:43.701431:-900.000000
+86.478490:41.201431:-900.000000
+PORT
+In:"hola 2"
+FIN_BOX
+BOX
+wx:OutputText:Box17
+ISEXEC:FALSE
+89.418468:43.970393:-900.000000
+111.088468:41.470393:-900.000000
+PORT
+In:"hola 2"
+FIN_BOX
+BOX
+wx:CommandButton:Box19
+ISEXEC:FALSE
+82.302224:33.821911:-900.000000
+104.577224:31.321911:-900.000000
+FIN_BOX
+BOX
+wx:CollapsiblePane:Box20
+ISEXEC:FALSE
+52.457462:9.645773:-900.000000
+74.667462:7.145773:-900.000000
+PORT
+Label:"ups2"
+FIN_BOX
+BOX
+wx:CommandButton:Box21
+ISEXEC:FALSE
+64.453146:15.576375:-900.000000
+86.728146:13.076375:-900.000000
+FIN_BOX
+BOX
+wx:CollapsiblePane:Box22
+ISEXEC:FALSE
+81.427860:9.625070:-900.000000
+103.637860:7.125070:-900.000000
+FIN_BOX
+BOX
+wx:CommandButton:Box23
+ISEXEC:FALSE
+93.423544:15.555671:-900.000000
+115.698544:13.055671:-900.000000
+FIN_BOX
+BOX
+wx:CollapsiblePane:Box24
+ISEXEC:FALSE
+109.584650:9.278923:-900.000000
+131.794650:6.778923:-900.000000
+FIN_BOX
+BOX
+wx:CommandButton:Box25
+ISEXEC:FALSE
+121.580333:15.209524:-900.000000
+143.855333:12.709524:-900.000000
+FIN_BOX
+CONNECTIONS:20
+CONNECTION
+Box01:Widget:Box04:Widget1
+NumberOfControlPoints:0
+CONNECTION
+Box04:Widget:Box00:Widget2
+NumberOfControlPoints:0
+CONNECTION
+Box00:Widget:Box05:Widget1
+NumberOfControlPoints:0
+CONNECTION
+Box06:Out:Box07:In
+NumberOfControlPoints:0
+CONNECTION
+Box07:Widget:Box05:Widget2
+NumberOfControlPoints:0
+CONNECTION
+Box10:Widget:Box09:Widget1
+NumberOfControlPoints:0
+CONNECTION
+Box11:Widget:Box09:Widget3
+NumberOfControlPoints:0
+CONNECTION
+Box12:Widget:Box09:Widget4
+NumberOfControlPoints:0
+CONNECTION
+Box14:Widget:Box09:Widget5
+NumberOfControlPoints:0
+CONNECTION
+Box15:Widget:Box09:Widget6
+NumberOfControlPoints:0
+CONNECTION
+Box16:Widget:Box09:Widget7
+NumberOfControlPoints:0
+CONNECTION
+Box17:Widget:Box09:Widget8
+NumberOfControlPoints:0
+CONNECTION
+Box19:Widget:Box09:Widget9
+NumberOfControlPoints:0
+CONNECTION
+Box21:Widget:Box20:Widget
+NumberOfControlPoints:0
+CONNECTION
+Box23:Widget:Box22:Widget
+NumberOfControlPoints:0
+CONNECTION
+Box25:Widget:Box24:Widget
+NumberOfControlPoints:0
+CONNECTION
+Box20:Widget:Box00:Widget1
+NumberOfControlPoints:0
+CONNECTION
+Box22:Widget:Box00:Widget3
+NumberOfControlPoints:0
+CONNECTION
+Box24:Widget:Box00:Widget4
+NumberOfControlPoints:0
+CONNECTION
+Box09:Widget:Box01:Widget
+NumberOfControlPoints:0
+APP_END
--- /dev/null
+# ----------------------------------
+# - BBTKGEditor v 1.5 BBS BlackBox Script
+# - /Users/davila/Creatis/C23/creatools_source/bbtk/packages/wx/bbs/appli/exampleCollapsiblePane.bbs
+# ----------------------------------
+
+# BBTK GEditor Script
+# ----------------------
+
+include std
+include itkvtk
+include wx
+include vtk
+include creaMaracasVisu
+
+author "Author ??"
+description "Description ??"
+category "<VOID>"
+
+new wx:LayoutLine Box00
+
+new wx:CollapsiblePane Box01
+ set Box01.Label "ups:"
+
+new wx:OutputText Box02
+ set Box02.In "hola 1"
+
+new wx:OutputText Box03
+ set Box03.In "hola 2"
+
+new wx:LayoutLine Box04
+
+new wx:LayoutSplit Box05
+ set Box05.Orientation "H"
+
+new vtk:LoadHola Box06
+
+new creaMaracasVisu:ViewerNV Box07
+
+new wx:OutputText Box08
+ set Box08.In "hola 2"
+
+new wx:LayoutLine Box09
+
+new wx:OutputText Box10
+ set Box10.In "hola 1"
+
+new wx:OutputText Box11
+ set Box11.In "hola 2"
+
+new wx:OutputText Box12
+ set Box12.In "hola 2"
+
+new wx:OutputText Box14
+ set Box14.In "hola 1"
+
+new wx:OutputText Box15
+ set Box15.In "hola 2"
+
+new wx:OutputText Box16
+ set Box16.In "hola 2"
+
+new wx:OutputText Box17
+ set Box17.In "hola 2"
+
+new wx:CommandButton Box19
+
+new wx:CollapsiblePane Box20
+ set Box20.Label "ups2"
+
+new wx:CommandButton Box21
+
+new wx:CollapsiblePane Box22
+
+new wx:CommandButton Box23
+
+new wx:CollapsiblePane Box24
+
+new wx:CommandButton Box25
+
+
+connect Box01.Widget Box04.Widget1
+
+connect Box04.Widget Box00.Widget2
+
+connect Box00.Widget Box05.Widget1
+
+connect Box06.Out Box07.In
+
+connect Box07.Widget Box05.Widget2
+
+connect Box10.Widget Box09.Widget1
+
+connect Box11.Widget Box09.Widget3
+
+connect Box12.Widget Box09.Widget4
+
+connect Box14.Widget Box09.Widget5
+
+connect Box15.Widget Box09.Widget6
+
+connect Box16.Widget Box09.Widget7
+
+connect Box17.Widget Box09.Widget8
+
+connect Box19.Widget Box09.Widget9
+
+connect Box21.Widget Box20.Widget
+
+connect Box23.Widget Box22.Widget
+
+connect Box25.Widget Box24.Widget
+
+connect Box20.Widget Box00.Widget1
+
+connect Box22.Widget Box00.Widget3
+
+connect Box24.Widget Box00.Widget4
+
+connect Box09.Widget Box01.Widget
+
+
+
+# Complex input ports
+exec Box05
--- /dev/null
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+#include "bbwxCollapsiblePane.h"
+#include "bbwxPackage.h"
+
+#include <wx/collpane.h>
+#include <wx/vscroll.h>
+
+namespace bbwx
+{
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(wx,CollapsiblePane)
+BBTK_BLACK_BOX_IMPLEMENTATION(CollapsiblePane,bbtk::WxBlackBox);
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+void CollapsiblePane::Process()
+{
+ printf("CollapsiblePane::CreateWidget EED Somethin is wrong with the wxCollapsiblePane\n");
+}
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+void CollapsiblePane::CreateWidget(wxWindow* parent)
+{
+ printf("CollapsiblePane::CreateWidget EED Somethin is wrong with the wxCollapsiblePane\n");
+ printf("CollapsiblePane::CreateWidget EED Somethin is wrong with the wxCollapsiblePane\n");
+ printf("CollapsiblePane::CreateWidget EED Somethin is wrong with the wxCollapsiblePane\n");
+ printf("CollapsiblePane::CreateWidget EED Somethin is wrong with the wxCollapsiblePane\n");
+ printf("CollapsiblePane::CreateWidget EED Somethin is wrong with the wxCollapsiblePane\n");
+ printf("CollapsiblePane::CreateWidget EED Somethin is wrong with the wxCollapsiblePane\n");
+
+ wxPanel *mainWidget = new wxPanel(parent, -1, wxDefaultPosition, wxSize(40,40) );
+ wxCollapsiblePane *collpane = new wxCollapsiblePane( mainWidget, wxID_ANY, bbtk::std2wx( bbGetInputLabel() ), wxDefaultPosition, wxDefaultSize, wxCP_DEFAULT_STYLE|wxCP_NO_TLW_RESIZE);
+ wxBoxSizer *mainSizer = new wxBoxSizer(wxHORIZONTAL);
+
+ wxWindow *winPane = collpane->GetPane();
+ wxSizer *paneSz = new wxBoxSizer(wxHORIZONTAL);
+
+ wxWindow* cw;
+ if ((cw=bbCreateWidgetOfInput("Widget",winPane)) != 0)
+ {
+ paneSz->Add( cw , 1, wxGROW|wxALL, 2);
+ }
+ winPane->SetSizer(paneSz);
+
+ mainSizer->Add(collpane, 0, wxGROW|wxALL, 5);
+ mainWidget->SetSizer(mainSizer);
+
+
+ bbSetOutputWidget( mainWidget );
+}
+
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+void CollapsiblePane::bbUserSetDefaultValues()
+{
+ bbSetInputLabel("void");
+ bbSetInputWidget(NULL);
+}
+
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+void CollapsiblePane::bbUserInitializeProcessing()
+{
+}
+
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+void CollapsiblePane::bbUserFinalizeProcessing()
+{
+}
+
+}// EO namespace bbwx
+
+
--- /dev/null
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+#ifdef _USE_WXWIDGETS_
+#ifndef __bbwxCollapsiblePane_h_INCLUDED__
+#define __bbwxCollapsiblePane_h_INCLUDED__
+
+#include "bbwx_EXPORT.h"
+#include "bbtkWxBlackBox.h"
+
+namespace bbwx
+{
+
+class bbwx_EXPORT CollapsiblePane
+ :
+ public bbtk::WxBlackBox
+{
+ BBTK_BLACK_BOX_INTERFACE(CollapsiblePane,bbtk::WxBlackBox);
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+ BBTK_DECLARE_INPUT(Label,std::string);
+ BBTK_DECLARE_INPUT(Widget,wxWindow*);
+ BBTK_PROCESS(Process);
+ void Process();
+ BBTK_CREATE_WIDGET(CreateWidget);
+ void CreateWidget(wxWindow*);
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+};
+
+BBTK_BEGIN_DESCRIBE_BLACK_BOX(CollapsiblePane,bbtk::WxBlackBox);
+ BBTK_NAME("CollapsiblePane");
+ BBTK_AUTHOR("InfoDev");
+ BBTK_DESCRIPTION("No Description.");
+ BBTK_CATEGORY("__CategoryBlackBox__");
+ BBTK_INPUT(CollapsiblePane,Label,"(default void) Label",std::string,"");
+ BBTK_INPUT(CollapsiblePane,Widget,"Widget",wxWindow*,"");
+BBTK_END_DESCRIBE_BLACK_BOX(CollapsiblePane);
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+}
+// EO namespace bbwx
+
+#endif // __bbwxCollapsiblePane_h_INCLUDED__
+#endif // _USE_WXWIDGETS_
+
sizer = new wxBoxSizer(style);
wxWindow* cw;
+
+//
+//Borrame
+// , 0, wxGROW|wxALL,
+/*
+ if ((cw=bbCreateWidgetOfInput("Widget1",w)) != 0) sizer->Add(cw, 0, wxGROW|wxALL, 0);
+ if ((cw=bbCreateWidgetOfInput("Widget2",w)) != 0) sizer->Add(cw, 0, wxGROW|wxALL, 0);
+ if ((cw=bbCreateWidgetOfInput("Widget3",w)) != 0) sizer->Add(cw, 0, wxGROW|wxALL, 0);
+ if ((cw=bbCreateWidgetOfInput("Widget4",w)) != 0) sizer->Add(cw, 0, wxGROW|wxALL, 0);
+ if ((cw=bbCreateWidgetOfInput("Widget5",w)) != 0) sizer->Add(cw, 0, wxGROW|wxALL, 0);
+ if ((cw=bbCreateWidgetOfInput("Widget6",w)) != 0) sizer->Add(cw, 0, wxGROW|wxALL, 0);
+ if ((cw=bbCreateWidgetOfInput("Widget7",w)) != 0) sizer->Add(cw, 0, wxGROW|wxALL, 0);
+ if ((cw=bbCreateWidgetOfInput("Widget8",w)) != 0) sizer->Add(cw, 0, wxGROW|wxALL, 0);
+ if ((cw=bbCreateWidgetOfInput("Widget9",w)) != 0) sizer->Add(cw, 0, wxGROW|wxALL, 0);
+*/
if ((cw=bbCreateWidgetOfInput("Widget1",w)) != 0) sizer->Add(cw, 1, wxGROW, 0);
if ((cw=bbCreateWidgetOfInput("Widget2",w)) != 0) sizer->Add(cw, 1, wxGROW, 0);
if ((cw=bbCreateWidgetOfInput("Widget3",w)) != 0) sizer->Add(cw, 1, wxGROW, 0);
if ((cw=bbCreateWidgetOfInput("Widget7",w)) != 0) sizer->Add(cw, 1, wxGROW, 0);
if ((cw=bbCreateWidgetOfInput("Widget8",w)) != 0) sizer->Add(cw, 1, wxGROW, 0);
if ((cw=bbCreateWidgetOfInput("Widget9",w)) != 0) sizer->Add(cw, 1, wxGROW, 0);
+
/*
TryInsertWindow(w,bbGetInputWidget1(),sizer);
TryInsertWindow(w,bbGetInputWidget2(),sizer);