description "Creates the XML or C++ code for a new black box" author "eduardo.davila at creatis.insa-lyon.fr" category "toolsbbtk" load std load wx new OutputText windowTitle set windowTitle.In "Black box informations" new DirectorySelector dir set dir.Message "Select the location of your new black box" new InputText nameBlackbox set nameBlackbox.Title "Blackbox 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 blackbox :" set typeBlackbox.In0 "std-template" set typeBlackbox.In1 "VTK_PolyDataAlgorithm-template" set typeBlackbox.In2 "VTK_ImageAlgorithm-template" set typeBlackbox.In3 "widget-template " new StringSelect stringselectorType set stringselectorType.In0 "std" set stringselectorType.In1 "VTK_PolyDataAlgorithm" set stringselectorType.In2 "VTK_ImageAlgorithm" set stringselectorType.In3 "widget" 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 layoutHor set layoutHor.Orientation H connect typeBlackbox.Widget layoutHor.Widget1 connect formatBlackbox.Widget layoutHor.Widget2 #new CommandButton cancelButton # set cancelButton.In "quit" # set cancelButton.Label "Cancel" new CommandButton createButton set createButton.In "print $concatStr.Out$; exec command; " set createButton.Label "Run" new LayoutLine buttons set buttons.Orientation Horizontal # connect cancelButton.Widget buttons.Widget1 connect createButton.Widget buttons.Widget2 new LayoutLine main connect windowTitle.Widget main.Widget1 connect dirOutput.Widget main.Widget2 connect nameBlackbox.Widget main.Widget3 connect namePackage.Widget main.Widget4 connect author.Widget main.Widget5 connect description.Widget main.Widget6 connect layoutHor.Widget main.Widget7 connect buttons.Widget main.Widget8 set main.WinTitle "Create new black box" set main.WinDialog true set main.WinWidth 350 set main.WinHeight 520 #--------------------------------------------------------------------- #----------------------------------------------------------------------------- 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 " " connect dquote.Out concatStrCommand.In2 connect conf.BinPath concatStrCommand.In3 connect conf.FileSeparator concatStrCommand.In4 set concatStrCommand.In5 "bbCreateBlackBox" 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 connect dquote.Out concatStr.In1 connect concatStrCommand.Out concatStr.In2 connect concatStrParam.Out concatStr.In3 connect dquote.Out concatStr.In4 # Box which executes the command new ExecSystemCommand command connect concatStr.Out command.In exec dir exec main