Program: bbtk
Module: $RCSfile: bbwxLayoutSplit.cxx,v $
Language: C++
- Date: $Date: 2008/10/21 08:37:09 $
- Version: $Revision: 1.6 $
+ Date: $Date: 2010/04/08 14:38:00 $
+ Version: $Revision: 1.13 $
=========================================================================*/
/* ---------------------------------------------------------------------
BBTK_ADD_BLACK_BOX_TO_PACKAGE(wx,LayoutSplit);
BBTK_BLACK_BOX_IMPLEMENTATION(LayoutSplit,bbtk::WxBlackBox);
- void LayoutSplit::bbUserConstructor()
- {
- bbSetInputOrientation("VERTICAL");
- bbSetInputProportion(50);
- bbSetInputWidget1(NULL);
- bbSetInputWidget2(NULL);
- }
-
+ //-----------------------------------------------------------------
+ void LayoutSplit::bbUserSetDefaultValues()
+ {
+ bbSetInputOrientation("VERTICAL");
+ bbSetInputProportion(50);
+ bbSetInputWidget1(NULL);
+ bbSetInputWidget2(NULL);
+ }
+
+ //-----------------------------------------------------------------
+ void LayoutSplit::bbUserInitializeProcessing()
+ {
+ }
+
+ //-----------------------------------------------------------------
+ void LayoutSplit::bbUserFinalizeProcessing()
+ {
+ }
+
void LayoutSplit::Process()
{
}
- void LayoutSplit::CreateWidget()
+ void LayoutSplit::CreateWidget(wxWindow* parent)
{
- wxSplitterWindow* w = new wxSplitterWindow(bbGetWxParent(),
+ wxSplitterWindow* w = new wxSplitterWindow(parent, //bbGetWxParent(),
-1,
wxDefaultPosition,
wxDefaultSize,
wxSP_3D |
wxSP_LIVE_UPDATE );
w->SetName( bbtk::std2wx( bbGetInputWinTitle() ) );
- wxWindow* w1 = bbGetInputWidget1();
+ w->SetMinimumPaneSize(2);
+/*
+ wxWindow* w1 = bbGetInputWidget1();
wxWindow* w2 = bbGetInputWidget2();
if (w1==NULL) { w1=new wxPanel(bbGetWxParent()); }
if (w2==NULL) { w2=new wxPanel(bbGetWxParent()); }
w1->Reparent(w);
w2->Reparent(w);
- int orientation=0;
+ */
+
+ wxWindow* w1 = bbCreateWidgetOfInput("Widget1",w);
+ wxWindow* w2 = bbCreateWidgetOfInput("Widget2",w);
+ if (w1==NULL) { w1=new wxPanel(parent); }
+ if (w2==NULL) { w2=new wxPanel(parent); }
+
+ 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 (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|V|VERTICAL")==true) { orientation=1; }
+
if (orientation==1) { w->SplitHorizontally( w1, w2, 100); }
else { w->SplitVertically( w1, w2, 100); }
-
+
bbSetOutputWidget( w );
}
// This callback is necessary to get actual processing of the view
// when window is shown
- void LayoutSplit::bbUserOnShow()
+ void LayoutSplit::OnShowWidget()
{
+ // std::cout << "LayoutSplit::OnShowWidget()" << std::endl;
+ if (bbGetOutputWidget()==0)
+ {
+ return;
+ //bbtkError("LayoutSplit::OnShowWidget() : Output Widget == 0 !");
+ }
wxSplitterWindow* win = (wxSplitterWindow*)bbGetOutputWidget();
int w,h;
+ if (win==0)
+ {
+ return;
+ // bbtkError("LayoutSplit::OnShowWidget() : win == 0 !");
+ }
win->GetClientSize(&w,&h);
int pos = 100;
if (bbtk::Utilities::loosematch(bbGetInputOrientation(),
// std::cout << "pos = "<<pos<<std::endl;
win->SetSashPosition(pos,true);
- bbUserOnShowWidget("Widget1");
- bbUserOnShowWidget("Widget2");
+
}