From: eduardo.davila@creatis.insa-lyon.fr Date: Sun, 12 Jan 2025 20:03:45 +0000 (+0100) Subject: #3530 Bug Refresh wxWidgets: Layout X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=2a0997fb512460803a7fa3ff39840c03f0331ee0;p=bbtk.git #3530 Bug Refresh wxWidgets: Layout --- diff --git a/packages/kw/src/bbkwLayoutSplit.h b/packages/kw/src/bbkwLayoutSplit.h index e1dc48f..d45e7da 100644 --- a/packages/kw/src/bbkwLayoutSplit.h +++ b/packages/kw/src/bbkwLayoutSplit.h @@ -57,13 +57,8 @@ namespace bbkw { - - - - class LayoutSplit : public bbtk::KWBlackBox { - BBTK_BLACK_BOX_INTERFACE(LayoutSplit,bbtk::KWBlackBox); BBTK_DECLARE_INPUT(Widget1,vtkKWWidget*); BBTK_DECLARE_INPUT(Widget2,vtkKWWidget*); @@ -71,15 +66,12 @@ namespace bbkw BBTK_DECLARE_INPUT(Proportion,int); BBTK_PROCESS(Process); BBTK_CREATE_KWWIDGET(CreateWidget); - void CreateWidget(vtkKWFrame*); - - void Process(); + void CreateWidget(vtkKWFrame*); + void Process(); protected: - virtual void bbUserConstructor(); - + virtual void bbUserConstructor(); }; - //================================================================= // BlackBox description BBTK_BEGIN_DESCRIBE_BLACK_BOX(LayoutSplit,bbtk::KWBlackBox); @@ -90,7 +82,7 @@ namespace bbkw BBTK_INPUT(LayoutSplit,Widget1,"Upper or left widget",vtkKWWidget*,""); BBTK_INPUT(LayoutSplit,Widget2,"Lower or right widget",vtkKWWidget*,""); BBTK_INPUT(LayoutSplit,Orientation,"Orientation (default H), 0=H=HORIZONTAL , 1=V=VERTICAL",std::string,""); - BBTK_INPUT(LayoutSplit,Proportion,"Proportion (in percent) of the first children in the window",int,""); + BBTK_INPUT(LayoutSplit,Proportion,"Proportion (in percent) of the first children in the window",int,""); BBTK_END_DESCRIBE_BLACK_BOX(LayoutSplit); //================================================================= } diff --git a/packages/wx/src/bbwxLayoutLine.cxx b/packages/wx/src/bbwxLayoutLine.cxx index cde7ad8..af131a2 100644 --- a/packages/wx/src/bbwxLayoutLine.cxx +++ b/packages/wx/src/bbwxLayoutLine.cxx @@ -98,7 +98,7 @@ void LayoutLine::Process() void LayoutLine::CreateWidget(wxWindow* parent) { wxBoxSizer *sizer; - wxPanel *w=new wxPanel(parent, -1, wxDefaultPosition, wxSize(40,40) ); + wxPanel *w = new wxPanel(parent, -1, wxDefaultPosition, wxSize(40,40) ); w->SetName( bbtk::std2wx( bbGetInputWinTitle() ) ); int style=0; @@ -110,9 +110,7 @@ void LayoutLine::Process() { style=wxVERTICAL; } // if - sizer = new wxBoxSizer(style); - wxWindow* cw; // @@ -160,6 +158,10 @@ void LayoutLine::Process() // when window is shown void LayoutLine::OnShowWidget() { + if (bbGetOutputWidget()!=NULL) + { + bbGetOutputWidget()->Layout(); + } // if bbGetOutputWidget } }//namespace bbwx diff --git a/packages/wx/src/bbwxLayoutSplit.cxx b/packages/wx/src/bbwxLayoutSplit.cxx index 6c10752..f1a9c78 100644 --- a/packages/wx/src/bbwxLayoutSplit.cxx +++ b/packages/wx/src/bbwxLayoutSplit.cxx @@ -106,11 +106,15 @@ namespace bbwx if (w1==NULL) { w1=new wxPanel(splitterWindowPanel); } if (w2==NULL) { w2=new wxPanel(splitterWindowPanel); } int orientation=0; - if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|H|h|horizontal|Horizontal|HORIZONTAL")==true) { orientation=0; } - if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|V|v|vertical|Vertical|VERTICAL")==true) { orientation=1; } - - - if (orientation==1) + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|H|h|horizontal|Horizontal|HORIZONTAL")==true) + { + orientation=0; + } + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|V|v|vertical|Vertical|VERTICAL")==true) + { + orientation=1; + } // ig + if (orientation==1) { w->SplitHorizontally( w1, w2, 100); } else { @@ -160,6 +164,7 @@ namespace bbwx //RaC Nov2012 Correctly resize internal panels with the window resize event w->SetSashGravity(0.5); } + }//namespace bbwx #endif // _USE_WXWIDGETS_ diff --git a/packages/wx/src/bbwxLayoutTab.cxx b/packages/wx/src/bbwxLayoutTab.cxx index e96c281..8b1e792 100644 --- a/packages/wx/src/bbwxLayoutTab.cxx +++ b/packages/wx/src/bbwxLayoutTab.cxx @@ -229,21 +229,22 @@ void LayoutTab::SetTitleTabs() TryInsertWindow(w,"Widget7"); TryInsertWindow(w,"Widget8"); TryInsertWindow(w,"Widget9"); + w->SetAutoLayout(true); w->Layout(); + tabwidget->Layout(); //EED2020-04-06 // bbSetOutputWidget( w ); bbSetOutputWidget( tabwidget ); - } - - - // This callback is necessary to get actual processing of the view +} + +// This callback is necessary to get actual processing of the view // when window is shown void LayoutTab::OnShowWidget() { //EED2020-04-06 // wxNotebook* w = (wxNotebook*)bbGetOutputWidget(); wxNotebook* w = ((TabWidget*)bbGetOutputWidget())->GetmwxNotebook(); - if (w) + if (w!=NULL) { if (w->GetPageCount()>0) { @@ -253,10 +254,13 @@ void LayoutTab::OnShowWidget() w->AdvanceSelection(); } // for } // if PageCount - } // if w + } // if w + if (bbGetOutputWidget()!=NULL) + { + bbGetOutputWidget()->Layout(); + } // if bbGetOutputWidget } - }//namespace bbwx #endif