# --------------------------------------------------------------------- # # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image # pour la SantÈ) # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton # Previous Authors : Laurent Guigues, Jean-Pierre Roux # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil # # 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. # ------------------------------------------------------------------------ */ description "Creates the XML or C++ code for a new black box (interface for bbCreateBlackBox)" author "eduardo.davila@creatis.insa-lyon.fr" category "toolsbbtk" load std load wx new OutputText windowTitle set windowTitle.In "Create new black box in folder :" new DirectorySelector dir set dir.Message "Select the location of your new black box" new InputText nameBlackbox set nameBlackbox.Title "Black box name (1 word)" set nameBlackbox.In "BLACKBOX_NAME" new InputText namePackage set namePackage.Title "Package name (1 word)" set namePackage.In "PACKAGE_NAME" new InputText author set author.Title "Author(s) (caracters '<', '>' not accepted...)" set author.In "_author_" new InputText description set description.Title "Description (caracters '<', '>' not accepted...)" set description.In "_description_" #--------------------------------------------------------------------- new RadioButton typeBlackbox set typeBlackbox.Title "Type of the black box :" set typeBlackbox.In0 "Basic (inherits AtomicBlackBox, no particular Input/Output)" set typeBlackbox.In1 "Widget (inherits WxBlackBox, has output 'Widget' of type 'wxWindow*')" set typeBlackbox.In2 "VTK PolyDataAlgorithm (inherits AtomicBlackBox and a vtkPolyDataAlgorithm, has standard vtk I/O)" set typeBlackbox.In3 "VTK ImageAlgorithm (inherits AtomicBlackBox and a vtkImageAlgorithm, has standard vtk I/O)" new StringSelect stringselectorType set stringselectorType.In0 "std" set stringselectorType.In1 "widget" set stringselectorType.In2 "VTK_PolyDataAlgorithm" set stringselectorType.In3 "VTK_ImageAlgorithm" connect typeBlackbox.Out stringselectorType.In #--------------------------------------------------------------------- new RadioButton formatBlackbox set formatBlackbox.Title "Format of the output file :" set formatBlackbox.In 0 set formatBlackbox.In0 "C++" set formatBlackbox.In1 "XML" new StringSelect stringselectorFormat set stringselectorFormat.In0 "C++" set stringselectorFormat.In1 "XML" connect formatBlackbox.Out stringselectorFormat.In #--------------------------------------------------------------------- new OutputText dirOutput connect dir.Out dirOutput.In new LayoutLine layoutTop connect windowTitle.Widget layoutTop.Widget1 connect dirOutput.Widget layoutTop.Widget2 connect nameBlackbox.Widget layoutTop.Widget3 connect namePackage.Widget layoutTop.Widget4 connect author.Widget layoutTop.Widget5 connect description.Widget layoutTop.Widget6 new LayoutSplit layoutTypeFormat connect typeBlackbox.Widget layoutTypeFormat.Widget1 connect formatBlackbox.Widget layoutTypeFormat.Widget2 set layoutTypeFormat.Proportion 60 new CommandButton createButton set createButton.In "print $concatStr.Out$; exec command; exec Box02;" set createButton.Label "Run" new LayoutLine layoutButtons set layoutButtons.Orientation Horizontal # connect cancelButton.Widget buttons.Widget1 connect createButton.Widget layoutButtons.Widget2 new LayoutSplit layoutBot connect layoutTypeFormat.Widget layoutBot.Widget1 connect layoutButtons.Widget layoutBot.Widget2 set layoutBot.Proportion 70 new LayoutSplit main connect layoutTop.Widget main.Widget1 connect layoutBot.Widget main.Widget2 set main.Proportion 50 set main.WinTitle "Create new black box" # set main.WinDialog true set main.WinWidth 700 set main.WinHeight 600 #--------------------------------------------------------------------- #----------------------------------------------------------------------------- new Configuration conf # on windows : enclose paths between double quotes # if system==0 (Linux) dquote=space (ascci code 32) # if system==1 (Win) dquote==" (ascii code 34) new StringSelect onsystem set onsystem.In0 "32" set onsystem.In1 "34" new ASCII dquote connect conf.SystemType onsystem.In connect onsystem.Out dquote.In #set dquote.In 34 # directory new ConcatStrings dirStr set dirStr.In1 " " connect dquote.Out dirStr.In2 connect dir.Out dirStr.In3 connect dquote.Out dirStr.In4 set dirStr.In5 " " # package name new ConcatStrings packageNameStr set packageNameStr.In1 " " connect namePackage.Out packageNameStr.In2 set packageNameStr.In3 " " # black box name new ConcatStrings blackboxNameStr set blackboxNameStr.In1 " " connect nameBlackbox.Out blackboxNameStr.In2 set blackboxNameStr.In3 " " # type of black box new ConcatStrings typeStr set typeStr.In1 " " connect stringselectorType.Out typeStr.In2 set typeStr.In3 " " # format of output new ConcatStrings formatStr set formatStr.In1 " " connect stringselectorFormat.Out formatStr.In2 set formatStr.In3 " " # author new ConcatStrings authorStr set authorStr.In1 " '" connect author.Out authorStr.In2 set authorStr.In3 "' " # description new ConcatStrings descriptionStr set descriptionStr.In1 " '" connect description.Out descriptionStr.In2 set descriptionStr.In3 "' " # Command string creation new ConcatStrings concatStrCommand set concatStrCommand.In1 " " #EED-20-02-2012 connect dquote.Out concatStrCommand.In2 #EED-20-02-2012 connect conf.BinPath concatStrCommand.In3 #EED-20-02-2012 connect conf.FileSeparator concatStrCommand.In4 set concatStrCommand.In5 "bbCreateBlackBox" #EED-20-02-2012 connect dquote.Out concatStrCommand.In6 set concatStrCommand.In7 " " # Params string creation new ConcatStrings concatStrParam connect dirStr.Out concatStrParam.In1 connect packageNameStr.Out concatStrParam.In2 connect blackboxNameStr.Out concatStrParam.In3 connect typeStr.Out concatStrParam.In4 connect formatStr.Out concatStrParam.In5 connect authorStr.Out concatStrParam.In6 connect descriptionStr.Out concatStrParam.In7 # Command + parameters string creation new ConcatStrings concatStr #EED-20-02-2012 connect dquote.Out concatStr.In1 connect concatStrCommand.Out concatStr.In2 connect concatStrParam.Out concatStr.In3 #EED-20-02-2012 connect dquote.Out concatStr.In4 # Box which executes the command new ExecSystemCommand command connect concatStr.Out command.In ## ------------------------------------------------ new OutputText Box01 set Box01.In " OK... Box created..." set Box01.WinDialog true set Box01.WinHeight 100 set Box01.WinTitle Confirmation set Box01.WinWidth 400 new LayoutLine Box02 set Box02.WinDialog true set Box02.WinHeight 200 set Box02.WinTitle Confirmation set Box02.WinWidth 400 connect Box01.Widget Box02.Widget2 new OutputText Box03 connect Box03.Widget Box02.Widget1 exec dir exec main