From acec0f7b93efd8318c826ff6b006fde051993c5a Mon Sep 17 00:00:00 2001 From: Eduardo Davila Date: Fri, 8 Feb 2008 14:58:31 +0000 Subject: [PATCH] key word -> HORIZONTAL VERTICAL TOP RIGHT BOTTM LEFT in (wx) Notebook Sizer Slider Split bbtkUtilities.cxx --- kernel/src/bbtkUtilities.cxx | 21 ++++++++++++++ kernel/src/bbtkUtilities.h | 16 +++++++++-- packages/wx/bbs/appli/testNotebook2.bbs | 1 + packages/wx/src/bbwxNotebook.cxx | 22 ++++++-------- packages/wx/src/bbwxNotebook.h | 30 +++++++++---------- packages/wx/src/bbwxSizer.cxx | 22 +++++++------- packages/wx/src/bbwxSizer.h | 10 +++---- packages/wx/src/bbwxSlider.cxx | 13 ++++++--- packages/wx/src/bbwxSlider.h | 8 +++--- packages/wx/src/bbwxSplit.cxx | 14 ++++++--- packages/wx/src/bbwxSplit.h | 38 +++---------------------- 11 files changed, 100 insertions(+), 95 deletions(-) diff --git a/kernel/src/bbtkUtilities.cxx b/kernel/src/bbtkUtilities.cxx index f15e708..9a6b028 100644 --- a/kernel/src/bbtkUtilities.cxx +++ b/kernel/src/bbtkUtilities.cxx @@ -4,4 +4,25 @@ namespace bbtk { + +bool Utilities::loosematch(std::string stdLine,std::string stdOptions) +{ + bool result=false; + char charTmp; + std::vector tokens; + SplitString ( stdOptions,"|", tokens); + int j,sizeStdLineTmp; + int i,size=tokens.size(); + for (i=0; i #endif +#include // std::toupper //#include "bbtkMessageManager.h" namespace bbtk @@ -534,10 +535,21 @@ static int Explore(std::string const &dirpath, bool recursive, std::vector", ">" ); } + + + //======================================================================== + // Usefull functions OPTIONS string //======================================================================== + + static bool loosematch(std::string stdLine,std::string stdOptions); + + + + }; + } // namespace bbtk #endif //#ifndef __bbtkUtilities_h_INCLUDED__ diff --git a/packages/wx/bbs/appli/testNotebook2.bbs b/packages/wx/bbs/appli/testNotebook2.bbs index e22dc32..e02f292 100644 --- a/packages/wx/bbs/appli/testNotebook2.bbs +++ b/packages/wx/bbs/appli/testNotebook2.bbs @@ -13,6 +13,7 @@ new Notebook main new Slider sA new Slider sB new Notebook notebook + set notebook.Orientation "L" connect slider2.Widget sizer.Widget1 connect slider3.Widget sizer.Widget2 diff --git a/packages/wx/src/bbwxNotebook.cxx b/packages/wx/src/bbwxNotebook.cxx index 384224a..d4aa4ff 100644 --- a/packages/wx/src/bbwxNotebook.cxx +++ b/packages/wx/src/bbwxNotebook.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxNotebook.cxx,v $ Language: C++ - Date: $Date: 2008/02/05 18:05:32 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/02/08 14:58:31 $ + 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 @@ -26,7 +26,7 @@ #include "bbwxNotebook.h" #include "bbwxPackage.h" - +#include "bbtkUtilities.h" @@ -40,8 +40,7 @@ namespace bbwx void Notebook::bbUserConstructor() { - bbSetInputWinTitle("Notebook"); - bbSetInputOrientation(0); + bbSetInputOrientation("TOP"); bbSetInputWidget1(NULL); bbSetInputWidget2(NULL); bbSetInputWidget3(NULL); @@ -51,7 +50,6 @@ namespace bbwx bbSetInputWidget7(NULL); bbSetInputWidget8(NULL); bbSetInputWidget9(NULL); - bbSetInputWidget10(NULL); } void Notebook::TryInsertWindow(wxNotebook *book, wxWindow *widgetchild ) @@ -72,14 +70,13 @@ namespace bbwx void Notebook::CreateWidget() { long style = wxNB_TOP; - if (bbGetInputOrientation()==0) { style=wxNB_TOP; } - if (bbGetInputOrientation()==1) { style=wxNB_LEFT; } - if (bbGetInputOrientation()==2) { style=wxNB_RIGHT; } - if (bbGetInputOrientation()==3) { style=wxNB_BOTTOM; } + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|T|TOP")==true) { style=wxNB_TOP; } + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|R|RIGHT")==true) { style=wxNB_RIGHT; } + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"2|B|BOTTOM")==true) { style=wxNB_BOTTOM; } + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"3|L|LEFT")==true) { style=wxNB_LEFT; } wxNotebook *w = new wxNotebook(bbGetWxParent(), -1, wxDefaultPosition,wxDefaultSize,style ); w->SetName( bbtk::std2wx( bbGetInputWinTitle() ) ); - - + TryInsertWindow(w,bbGetInputWidget1()); TryInsertWindow(w,bbGetInputWidget2()); TryInsertWindow(w,bbGetInputWidget3()); @@ -89,7 +86,6 @@ namespace bbwx TryInsertWindow(w,bbGetInputWidget7()); TryInsertWindow(w,bbGetInputWidget8()); TryInsertWindow(w,bbGetInputWidget9()); - TryInsertWindow(w,bbGetInputWidget10()); bbSetOutputWidget( w ); } diff --git a/packages/wx/src/bbwxNotebook.h b/packages/wx/src/bbwxNotebook.h index ec3f51b..1a77078 100644 --- a/packages/wx/src/bbwxNotebook.h +++ b/packages/wx/src/bbwxNotebook.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxNotebook.h,v $ Language: C++ - Date: $Date: 2008/02/07 07:58:56 $ - Version: $Revision: 1.4 $ + Date: $Date: 2008/02/08 14:58:31 $ + Version: $Revision: 1.5 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -59,8 +59,7 @@ namespace bbwx BBTK_DECLARE_INPUT(Widget7,wxWindow*); BBTK_DECLARE_INPUT(Widget8,wxWindow*); BBTK_DECLARE_INPUT(Widget9,wxWindow*); - BBTK_DECLARE_INPUT(Widget10,wxWindow*); - BBTK_DECLARE_INPUT(Orientation,int); + BBTK_DECLARE_INPUT(Orientation,std::string); BBTK_PROCESS(Process); BBTK_CREATE_WIDGET(CreateWidget); @@ -80,18 +79,17 @@ namespace bbwx BBTK_NAME("Notebook"); BBTK_AUTHOR("eduardo.davila@creatis.insa-lyon.fr"); BBTK_DESCRIPTION("Notebook widget (wxNotebook)"); - // Already inserted for any WxBlackBox 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); + // Already inserted for any WxBlackBox 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,Orientation,"Orientation (default T), 0=T=TOP , 1=R=RIGHT , 2=B=BOTTON , 3=L=LEFT " ,std::string); BBTK_END_DESCRIBE_BLACK_BOX(Notebook); //================================================================= diff --git a/packages/wx/src/bbwxSizer.cxx b/packages/wx/src/bbwxSizer.cxx index e30cb22..86736a9 100644 --- a/packages/wx/src/bbwxSizer.cxx +++ b/packages/wx/src/bbwxSizer.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxSizer.cxx,v $ Language: C++ - Date: $Date: 2008/02/05 18:05:32 $ - Version: $Revision: 1.3 $ + Date: $Date: 2008/02/08 14:58:31 $ + Version: $Revision: 1.4 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -26,6 +26,7 @@ #include "bbwxSizer.h" #include "bbwxPackage.h" +#include "bbtkUtilities.h" @@ -40,8 +41,7 @@ namespace bbwx void Sizer::bbUserConstructor() { - bbSetInputWinTitle("Sizer"); - bbSetInputOrientation(1); + bbSetInputOrientation("VERTICAL"); bbSetInputWidget1(NULL); bbSetInputWidget2(NULL); bbSetInputWidget3(NULL); @@ -51,7 +51,6 @@ namespace bbwx bbSetInputWidget7(NULL); bbSetInputWidget8(NULL); bbSetInputWidget9(NULL); - bbSetInputWidget10(NULL); } void Sizer::TryInsertWindow(wxWindow *parent, wxWindow *w,wxBoxSizer *sizer) @@ -74,12 +73,12 @@ namespace bbwx wxBoxSizer *sizer; wxPanel *w=new wxPanel(bbGetWxParent(), -1); w->SetName( bbtk::std2wx( bbGetInputWinTitle() ) ); - if (bbGetInputOrientation()==0) - { - sizer = new wxBoxSizer(wxHORIZONTAL); - } else { - sizer = new wxBoxSizer(wxVERTICAL); - } + + int style=0; + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|H|HORIZONTAL")==true) { style=wxHORIZONTAL; } + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|V|VERTICAL")==true) { style=wxVERTICAL; } + + sizer = new wxBoxSizer(style); TryInsertWindow(w,bbGetInputWidget1(),sizer); TryInsertWindow(w,bbGetInputWidget2(),sizer); @@ -90,7 +89,6 @@ namespace bbwx TryInsertWindow(w,bbGetInputWidget7(),sizer); TryInsertWindow(w,bbGetInputWidget8(),sizer); TryInsertWindow(w,bbGetInputWidget9(),sizer); - TryInsertWindow(w,bbGetInputWidget10(),sizer); w -> SetSizer(sizer); bbSetOutputWidget( w ); diff --git a/packages/wx/src/bbwxSizer.h b/packages/wx/src/bbwxSizer.h index d348919..863deb4 100644 --- a/packages/wx/src/bbwxSizer.h +++ b/packages/wx/src/bbwxSizer.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxSizer.h,v $ Language: C++ - Date: $Date: 2008/02/07 07:58:56 $ - Version: $Revision: 1.4 $ + Date: $Date: 2008/02/08 14:58:31 $ + Version: $Revision: 1.5 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -59,8 +59,7 @@ namespace bbwx BBTK_DECLARE_INPUT(Widget7,wxWindow*); BBTK_DECLARE_INPUT(Widget8,wxWindow*); BBTK_DECLARE_INPUT(Widget9,wxWindow*); - BBTK_DECLARE_INPUT(Widget10,wxWindow*); - BBTK_DECLARE_INPUT(Orientation,int); + BBTK_DECLARE_INPUT(Orientation,std::string); BBTK_PROCESS(Process); BBTK_CREATE_WIDGET(CreateWidget); @@ -91,8 +90,7 @@ namespace bbwx 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_INPUT(Sizer,Orientation,"Orientation (default V), 0=H=HORIZONTAL , 1=V=VERTICAL",std::string); BBTK_END_DESCRIBE_BLACK_BOX(Sizer); //================================================================= diff --git a/packages/wx/src/bbwxSlider.cxx b/packages/wx/src/bbwxSlider.cxx index c718521..ca2409a 100644 --- a/packages/wx/src/bbwxSlider.cxx +++ b/packages/wx/src/bbwxSlider.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxSlider.cxx,v $ Language: C++ - Date: $Date: 2008/02/06 11:31:40 $ - Version: $Revision: 1.4 $ + Date: $Date: 2008/02/08 14:58:31 $ + Version: $Revision: 1.5 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -31,6 +31,7 @@ #include "bbwxSlider.h" #include "bbwxPackage.h" +#include "bbtkUtilities.h" @@ -345,7 +346,7 @@ namespace bbwx bbSetInputMin(0); bbSetInputMax(500); bbSetOutputOut(0); - bbSetInputOrientation(0); + bbSetInputOrientation("HORIZONTAL"); bbSetInputChangeResolution(false); bbSetInputLabel(true); bbSetInputReactiveOnTrack(0); @@ -360,10 +361,14 @@ namespace bbwx void Slider::CreateWidget() { + + int orientation=0; + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|H|HORIZONTAL")==true) { orientation=0; } + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|V|VERTICAL")==true) { orientation=1; } SliderWidget *w = new SliderWidget(this, bbGetWxParent(), - bbGetInputOrientation() , + orientation , bbGetInputChangeResolution(), bbGetInputLabel(), bbtk::std2wx( bbGetInputTitle() ), diff --git a/packages/wx/src/bbwxSlider.h b/packages/wx/src/bbwxSlider.h index b61f5b9..693df80 100644 --- a/packages/wx/src/bbwxSlider.h +++ b/packages/wx/src/bbwxSlider.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxSlider.h,v $ Language: C++ - Date: $Date: 2008/02/06 14:14:24 $ - Version: $Revision: 1.6 $ + Date: $Date: 2008/02/08 14:58:31 $ + Version: $Revision: 1.7 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -128,7 +128,7 @@ namespace bbwx BBTK_DECLARE_INPUT(Max,int); BBTK_DECLARE_INPUT(Label,bool); BBTK_DECLARE_INPUT(Title,std::string); - BBTK_DECLARE_INPUT(Orientation,int); + BBTK_DECLARE_INPUT(Orientation,std::string); BBTK_DECLARE_INPUT(ChangeResolution,bool); BBTK_DECLARE_INPUT(ReactiveOnTrack,int); BBTK_DECLARE_OUTPUT(Out,int); @@ -156,7 +156,7 @@ namespace bbwx BBTK_INPUT(Slider,Title,"Title shown above the slider (default '') ", std::string); BBTK_INPUT(Slider,Orientation, - "Orientation : 0=Horizontal / 1=Vertical (default 0)",int); + "Orientation : (default H) 0=H=HORIZONTAL, 1=V=VERTICAL ",std::string); BBTK_INPUT(Slider,ChangeResolution, "Can the user change the resolution of the slider ? (default FALSE) ",bool); BBTK_INPUT(Slider,ReactiveOnTrack, diff --git a/packages/wx/src/bbwxSplit.cxx b/packages/wx/src/bbwxSplit.cxx index e780ec1..8d05e10 100644 --- a/packages/wx/src/bbwxSplit.cxx +++ b/packages/wx/src/bbwxSplit.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxSplit.cxx,v $ Language: C++ - Date: $Date: 2008/02/05 18:05:32 $ - Version: $Revision: 1.4 $ + Date: $Date: 2008/02/08 14:58:31 $ + Version: $Revision: 1.5 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -25,6 +25,8 @@ #include "bbwxSplit.h" #include "bbwxPackage.h" +#include "bbtkUtilities.h" + //#include "bbtk @@ -39,7 +41,7 @@ namespace bbwx void Split::bbUserConstructor() { bbSetInputWinTitle("Split"); - bbSetInputOrientation(0); + bbSetInputOrientation("HORIZONTAL"); bbSetInputProportion(50); } @@ -62,7 +64,11 @@ namespace bbwx w1->Reparent(w); w2->Reparent(w); - w->SplitHorizontally( w1, w2, 100); + int orientation=0; + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|H|HORIZONTAL")==true) { orientation=0; } + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|V|VERTICAL")==true) { orientation=1; } + if (orientation==0) { w->SplitHorizontally( w1, w2, 100); } + if (orientation==1) { w->SplitVertically( w1, w2, 100); } bbSetOutputWidget( w ); diff --git a/packages/wx/src/bbwxSplit.h b/packages/wx/src/bbwxSplit.h index 1400deb..4edb28e 100644 --- a/packages/wx/src/bbwxSplit.h +++ b/packages/wx/src/bbwxSplit.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxSplit.h,v $ Language: C++ - Date: $Date: 2008/02/07 07:58:56 $ - Version: $Revision: 1.7 $ + Date: $Date: 2008/02/08 14:58:31 $ + Version: $Revision: 1.8 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -41,36 +41,6 @@ namespace bbwx { - /* - - class Split; - - //-------------------------------------------------------------------------- - class SplitWidget : public bbtk::WxBlackBoxWidgetPanel - { - public: - - SplitWidget(Split* bbtksplit, wxWindow *parent, int orientation); - ~SplitWidget(); - - void SetChilds(wxWindow* child1, - wxWindow* child2, - int proportion); - - wxSplitterWindow *GetWxSplitterWindow(); - // void SetProportion(int prop); - - private: - int mOrientation; - wxSplitterWindow *mwxSplitterWindow; - }; - - //------------------------------------------------------------------------ - //------------------------------------------------------------------------ - //------------------------------------------------------------------------ - - - */ class Split : public bbtk::WxBlackBox @@ -79,7 +49,7 @@ namespace bbwx BBTK_USER_BLACK_BOX_INTERFACE(Split,bbtk::WxBlackBox); BBTK_DECLARE_INPUT(Widget1,wxWindow*); BBTK_DECLARE_INPUT(Widget2,wxWindow*); - BBTK_DECLARE_INPUT(Orientation,int); + BBTK_DECLARE_INPUT(Orientation,std::string); BBTK_DECLARE_INPUT(Proportion,int); BBTK_PROCESS(Process); BBTK_CREATE_WIDGET(CreateWidget); @@ -102,7 +72,7 @@ namespace bbwx // Already inserted for any WxBlackBox BBTK_CATEGORY("widget"); BBTK_INPUT(Split,Widget1,"Upper or left widget",wxWindow*); BBTK_INPUT(Split,Widget2,"Lower or right widget",wxWindow*); - BBTK_INPUT(Split,Orientation,"Orientation (default 0), 0=Horizontal , 1=Vertical",int); + BBTK_INPUT(Split,Orientation,"Orientation (default H), 0=H=HORIZONTAL , 1=V=VERTICAL",std::string); BBTK_INPUT(Split,Proportion,"Proportion (in percent) of the first children in the window",int); BBTK_END_DESCRIBE_BLACK_BOX(Split); //================================================================= -- 2.45.1