bool mGeneric;
   std::string mAuthor;
   std::string mDescription;
+  std::string mCategory;
   std::string mPackage;
   bool mIsInNamespace;
   std::string mNamespace;
       mDescription += val;
     }
   
+  // Category
+  for (i=0,j=0; i<BB.nChildNode("category"); i++) 
+    {
+      std::string val;
+      GetTextOrClear(BB.getChildNode("category",&j),val);
+      mCategory += val;
+    }
+
   // Namespace
   mIsInNamespace = false;
   if (BB.nChildNode("namespace"))
   // Description
   mFile << "BBTK_DESCRIPTION(\""<<mDescription<< "\");\n"; 
   
+  // Category
+  mFile << "BBTK_CATEGORY(\""<<mCategory<< "\");\n"; 
+  
   // Inputs
   for (ioi=mInput.begin(); ioi!=mInput.end(); ++ioi) 
     {
 
 adaptor
+application ? cf. itk/appli/ImageCrop.bbs
 demo
 filter
 image
 
                   ") into a typed itk image ("+
                   bbtk::HumanTypeName<T>()+"*)");
   BBTK_DEFAULT_ADAPTOR();
-  BBTK_CATEGORY("adaptor;image");
+  BBTK_CATEGORY("adaptor");
   BBTK_TEMPLATE_INPUT(AnyImageToTypedImage,In,
                      "Input generic image",anyImagePointer);
   BBTK_TEMPLATE_OUTPUT(AnyImageToTypedImage,Out,
                   bbtk::TypeName<anyImagePointer>()+
                   ") into a typed itk image ("+
                   bbtk::TypeName<T2>()+"*)");
+  BBTK_CATEGORY("adaptor");
   BBTK_DEFAULT_ADAPTOR();
   BBTK_TEMPLATE2_INPUT(AnyImageToConstTypedImage,In,
                      "Input generic image",anyImagePointer);
 
   BBTK_NAME("ImageRegion");
   BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
   BBTK_DESCRIPTION("Creates a generic ImageRegion ("+bbtk::TypeName<anyImageRegion>()+") from two vectors providing the index and size of the region. The dimension D of the actual itk::ImageRegion<D> created is the max of the sizes of Index and Size (the smallest vector is padded by zeros).");
+  BBTK_CATEGORY("image");
        typedef std::vector<long> vectoroflong;
   BBTK_INPUT(ImageRegionCreator,Index,"Vector of region indices",
             vectoroflong);
 
   BBTK_DESCRIPTION("Transforms a typed itk image ("+bbtk::HumanTypeName<T>()+
                   ") into a generic itk image ("+
                   bbtk::HumanTypeName<anyImagePointer>()+")");
-  BBTK_CATEGORY("adaptor;image");
+  BBTK_CATEGORY("adaptor");
   BBTK_DEFAULT_ADAPTOR();
   BBTK_TEMPLATE_INPUT(TypedImageToAnyImage,In,
                      "Input typed image",T);
 
 define PrependDataPath
   author "jpr@creatis.insa-lyon.fr"
   description "Prepends the input string file 'last name' with the default DataPath found in bbtk_config_xml"
+  category "misc"
 
   # For getting default Data Path
   new Configuration c
 
 
   <author>laurent.guigues@creatis.insa-lyon.fr</author>
   <description>This box has multiple Void inputs and one Void output. Hence it relays any input modification to its output. It is usefull to plug different BoxChange outputs into the same BoxExecute.</description>
+  <category>misc</category>
 
   <parentblackbox>bbtk::UserBlackBox</parentblackbox>
   <package>std</package>
 
   BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
   BBTK_CATEGORY("misc");
   BBTK_DESCRIPTION("Relays a "+bbtk::TypeName<T>());
-     BBTK_TEMPLATE_INPUT(Relay,In,"Input",T);
-     BBTK_TEMPLATE_OUTPUT(Relay,Out,"Output",T);
+  BBTK_TEMPLATE_INPUT(Relay,In,"Input",T);
+  BBTK_TEMPLATE_OUTPUT(Relay,Out,"Output",T);
   BBTK_END_DESCRIBE_TEMPLATE_BLACK_BOX(Relay);
 }
 // namespace bbstd
 
 description "Simple test of wx::Slider widget"
 author "laurent.guigues@creatis.insa-lyon.fr"
-category "test;wx"
+category "test;widget"
 
 load wx
 new Slider slider
 
 description "Simple test of wx::Split widget"
 author "laurent.guigues@creatis.insa-lyon.fr"
-category "test"
+category "test;widget"
 
 load wx
 
 
 define DoubleSlider
  description "test object"
- category "box;wx;slider"
+ category "widget"     
  author "laurent.guigues at creatis.insa-lyon.fr"
-new Slider slider1
-new Slider slider2
-new Split main
+ 
+ new Slider slider1
+ new Slider slider2
+ new Split main
 
-connect slider1.Widget main.Widget1
-connect slider2.Widget main.Widget2
+ connect slider1.Widget main.Widget1
+ connect slider2.Widget main.Widget2
 
-exec main
-output Widget main.Widget "Widget"
+ exec main
+ output Widget main.Widget "Widget"
 endefine
 
   Program:   bbtk
   Module:    $RCSfile: bbwxNotebook.h,v $
   Language:  C++
-  Date:      $Date: 2008/02/05 18:05:32 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2008/02/06 07:30:09 $
+  Version:   $Revision: 1.2 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
   BBTK_BEGIN_DESCRIBE_BLACK_BOX(Notebook,bbtk::WxBlackBox);
   BBTK_NAME("Notebook");
   BBTK_AUTHOR("eduardo.davila@creatis.insa-lyon.fr");
-
   BBTK_DESCRIPTION("Notebook widget (wxNotebook)");
-    BBTK_INPUT(Notebook,Widget1,"widget 1",wxWindow*);
-    BBTK_INPUT(Notebook,Widget2,"widget 2",wxWindow*);
-    BBTK_INPUT(Notebook,Widget3,"widget 3",wxWindow*);
-    BBTK_INPUT(Notebook,Widget4,"widget 4",wxWindow*);
-    BBTK_INPUT(Notebook,Widget5,"widget 5",wxWindow*);
-    BBTK_INPUT(Notebook,Widget6,"widget 6",wxWindow*);
-    BBTK_INPUT(Notebook,Widget7,"widget 7",wxWindow*);
-    BBTK_INPUT(Notebook,Widget8,"widget 8",wxWindow*);
-    BBTK_INPUT(Notebook,Widget9,"widget 9",wxWindow*);
-    BBTK_INPUT(Notebook,Widget10,"widget 10",wxWindow*);
-    BBTK_INPUT(Notebook,Orientation,"Orientation (default 0), 0=Top , 1=Left , 2=Right , 3=Botton",int);
+  BBTK_CATEGORY("widget");
+  BBTK_INPUT(Notebook,Widget1,"widget 1",wxWindow*);
+  BBTK_INPUT(Notebook,Widget2,"widget 2",wxWindow*);
+  BBTK_INPUT(Notebook,Widget3,"widget 3",wxWindow*);
+  BBTK_INPUT(Notebook,Widget4,"widget 4",wxWindow*);
+  BBTK_INPUT(Notebook,Widget5,"widget 5",wxWindow*);
+  BBTK_INPUT(Notebook,Widget6,"widget 6",wxWindow*);
+  BBTK_INPUT(Notebook,Widget7,"widget 7",wxWindow*);
+  BBTK_INPUT(Notebook,Widget8,"widget 8",wxWindow*);
+  BBTK_INPUT(Notebook,Widget9,"widget 9",wxWindow*);
+  BBTK_INPUT(Notebook,Widget10,"widget 10",wxWindow*);
+  BBTK_INPUT(Notebook,Orientation,"Orientation (default 0), 0=Top , 1=Left , 2=Right , 3=Botton",int);
   BBTK_END_DESCRIBE_BLACK_BOX(Notebook);
   //=================================================================
 
 
   Program:   bbtk
   Module:    $RCSfile: bbwxSizer.h,v $
   Language:  C++
-  Date:      $Date: 2008/02/04 16:42:10 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2008/02/06 07:30:09 $
+  Version:   $Revision: 1.2 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
   BBTK_BEGIN_DESCRIBE_BLACK_BOX(Sizer,bbtk::WxBlackBox);
   BBTK_NAME("Sizer");
   BBTK_AUTHOR("eduardo.davila@creatis.insa-lyon.fr");
-
   BBTK_DESCRIPTION("Sizer widget (wxSizer)");
-    BBTK_INPUT(Sizer,Widget1,"widget 1",wxWindow*);
-    BBTK_INPUT(Sizer,Widget2,"widget 2",wxWindow*);
-    BBTK_INPUT(Sizer,Widget3,"widget 3",wxWindow*);
-    BBTK_INPUT(Sizer,Widget4,"widget 4",wxWindow*);
-    BBTK_INPUT(Sizer,Widget5,"widget 5",wxWindow*);
-    BBTK_INPUT(Sizer,Widget6,"widget 6",wxWindow*);
-    BBTK_INPUT(Sizer,Widget7,"widget 7",wxWindow*);
-    BBTK_INPUT(Sizer,Widget8,"widget 8",wxWindow*);
-    BBTK_INPUT(Sizer,Widget9,"widget 9",wxWindow*);
-    BBTK_INPUT(Sizer,Widget10,"widget 10",wxWindow*);
-    BBTK_INPUT(Sizer,Orientation,"Orientation (default 1), 0=Horizontal , 1=Vertical",int);
+  BBTK_CATEGORY("widget");
+  
+  BBTK_INPUT(Sizer,Widget1,"widget 1",wxWindow*);
+  BBTK_INPUT(Sizer,Widget2,"widget 2",wxWindow*);
+  BBTK_INPUT(Sizer,Widget3,"widget 3",wxWindow*);
+  BBTK_INPUT(Sizer,Widget4,"widget 4",wxWindow*);
+  BBTK_INPUT(Sizer,Widget5,"widget 5",wxWindow*);
+  BBTK_INPUT(Sizer,Widget6,"widget 6",wxWindow*);
+  BBTK_INPUT(Sizer,Widget7,"widget 7",wxWindow*);
+  BBTK_INPUT(Sizer,Widget8,"widget 8",wxWindow*);
+  BBTK_INPUT(Sizer,Widget9,"widget 9",wxWindow*);
+  BBTK_INPUT(Sizer,Widget10,"widget 10",wxWindow*);
+  BBTK_INPUT(Sizer,Orientation,"Orientation (default 1), 0=Horizontal , 1=Vertical",int);
   BBTK_END_DESCRIBE_BLACK_BOX(Sizer);
   //=================================================================
-
+  
 
 
 }