-description "Creates the XML or C++ code for a new black box"
-author "eduardo.davila at creatis.insa-lyon.fr"
+# ---------------------------------------------------------------------
+#
+# 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 "Black box informations"
+ 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 "Blackbox name (1 word)"
- set nameBlackbox.In "NEW_BLACKBOX"
+ 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__"
+ set namePackage.In "PACKAGE_NAME"
new InputText author
set author.In "_author_"
new InputText description
- set description.Title "Description (caracters '<', '>' not accepted...)"
+ 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 "
+ 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 "VTK_PolyDataAlgorithm"
- set stringselectorType.In2 "VTK_ImageAlgorithm"
- set stringselectorType.In3 "widget"
+ set stringselectorType.In1 "widget"
+ set stringselectorType.In2 "VTK_PolyDataAlgorithm"
+ set stringselectorType.In3 "VTK_ImageAlgorithm"
connect typeBlackbox.Out stringselectorType.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 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 CommandButton cancelButton
-# set cancelButton.In "quit"
-# set cancelButton.Label "Cancel"
+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; "
+ set createButton.In "print $concatStr.Out$; exec command; exec Box02;"
set createButton.Label "Run"
-new LayoutLine buttons
- set buttons.Orientation Horizontal
+new LayoutLine layoutButtons
+ set layoutButtons.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
+ 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 350
- set main.WinHeight 520
+# set main.WinDialog true
+ set main.WinWidth 700
+ set main.WinHeight 600
#---------------------------------------------------------------------
-new ASCII ascii
- set ascii.In 34
+#-----------------------------------------------------------------------------
+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 ascii.Out dirStr.In2
+ connect dquote.Out dirStr.In2
connect dir.Out dirStr.In3
- connect ascii.Out dirStr.In4
+ connect dquote.Out dirStr.In4
set dirStr.In5 " "
+# package name
new ConcatStrings packageNameStr
- connect namePackage.Out packageNameStr.In1
- set packageNameStr.In2 " "
+ set packageNameStr.In1 " "
+ connect namePackage.Out packageNameStr.In2
+ set packageNameStr.In3 " "
+# black box name
new ConcatStrings blackboxNameStr
- connect nameBlackbox.Out blackboxNameStr.In1
- set blackboxNameStr.In2 " "
+ set blackboxNameStr.In1 " "
+ connect nameBlackbox.Out blackboxNameStr.In2
+ set blackboxNameStr.In3 " "
+# type of black box
new ConcatStrings typeStr
- connect stringselectorType.Out typeStr.In1
- set typeStr.In2 " "
+ set typeStr.In1 " "
+ connect stringselectorType.Out typeStr.In2
+ set typeStr.In3 " "
+# format of output
new ConcatStrings formatStr
- connect stringselectorFormat.Out formatStr.In1
- set formatStr.In2 " "
+ 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 "' "
-new Configuration conf
-
-new ConcatStrings commandStr
- set commandStr.In1 " "
- connect ascii.Out commandStr.In2
- connect conf.BinPath commandStr.In3
- connect conf.FileSeparator commandStr.In4
- set commandStr.In5 "bbCreateBlackBox"
- connect ascii.Out commandStr.In6
- set commandStr.In7 " "
-
-
+# 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
- connect commandStr.Out concatStr.In1
- connect dirStr.Out concatStr.In2
- connect packageNameStr.Out concatStr.In3
- connect blackboxNameStr.Out concatStr.In4
- connect typeStr.Out concatStr.In5
- connect formatStr.Out concatStr.In6
- connect authorStr.Out concatStr.In7
- connect descriptionStr.Out concatStr.In8
-
-new ConcatStrings concatStr2
- connect ascii.Out concatStr2.In1
- connect concatStr.Out concatStr2.In2
- connect ascii.Out concatStr2.In3
+#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 concatStr2.Out command.In
+ 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