]> Creatis software - bbtk.git/blobdiff - packages/toolsbbtk/bbs/appli/GUICreateBlackBox.bbs
#3011 BBTK Bug New Normal - change MetaImageReader vtk package xml -> cxx
[bbtk.git] / packages / toolsbbtk / bbs / appli / GUICreateBlackBox.bbs
index 43ac0e4f6081aa94025cd6ca589073ae15c0629d..898c4b078d52cf542527e733353481d72f5ccf23 100644 (file)
@@ -1,23 +1,49 @@
-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
 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
 
 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)"
 
 new InputText namePackage
     set namePackage.Title "Package name         (1 word)"
-    set namePackage.In "__PACKAGE__"
+    set namePackage.In "PACKAGE_NAME"
 
 
 new InputText author
 
 
 new InputText author
@@ -25,24 +51,25 @@ new InputText author
     set author.In "_author_"
 
 new InputText description
     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 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"
 
 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
 
 #---------------------------------------------------------------------
   connect  typeBlackbox.Out stringselectorType.In
 
 #---------------------------------------------------------------------
@@ -63,110 +90,151 @@ new StringSelect stringselectorFormat
 new OutputText dirOutput
   connect dir.Out dirOutput.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
 
 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"
 
     set createButton.Label "Run"
 
-new LayoutLine buttons
-    set buttons.Orientation Horizontal
+new LayoutLine layoutButtons
+    set layoutButtons.Orientation Horizontal
 #    connect cancelButton.Widget buttons.Widget1
 #    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.WinTitle "Create new black box"
-    set main.WinDialog true
-    set main.WinWidth 35
-    set main.WinHeight 52
+#    set main.WinDialog true
+    set main.WinWidth 70
+    set main.WinHeight 60
 
 #---------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------
 
-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 " "
 new ConcatStrings dirStr
  set dirStr.In1 " "
- connect ascii.Out dirStr.In2
+ connect dquote.Out dirStr.In2
  connect dir.Out dirStr.In3
  connect dir.Out dirStr.In3
- connect ascii.Out dirStr.In4
+ connect dquote.Out dirStr.In4
  set dirStr.In5 " "
 
  set dirStr.In5 " "
 
+# package name
 new ConcatStrings packageNameStr
 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
 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
 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
 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 "' "
 
 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 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
 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
-
-/*
-LG : bug on linux 
-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
 new ExecSystemCommand command
-//    connect concatStr2.Out command.In
     connect concatStr.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
 
 exec dir
 exec main