Program: bbtk
Module: $RCSfile: bbkwLayoutSplit.cxx,v $
Language: C++
- Date: $Date: 2008/12/02 10:21:42 $
- Version: $Revision: 1.2 $
+ Date: $Date: 2008/12/02 13:37:56 $
+ Version: $Revision: 1.3 $
=========================================================================*/
/* ---------------------------------------------------------------------
}
- void LayoutSplit::CreateWidget(vtkKWWidget* parent)
+ void LayoutSplit::CreateWidget(vtkKWFrame* parent)
{
vtkKWSplitFrame *splitframe = vtkKWSplitFrame::New();
bbSetOutputWidget(splitframe);
splitframe->SetParent(parent);
splitframe->Create();
-
splitframe->SetFrame1MinimumSize(5);
splitframe->SetFrame2MinimumSize(5);
+ splitframe->SetExpandableFrameToBothFrames();
+
+
+ int width = parent->GetWidth();
+ int height = parent->GetHeight();
+ int orientation = 0;
+ if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|H|HORIZONTAL")==true)
+ {
+ orientation = 0;
+ }
+ else if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|V|VERTICAL")==true)
+ {
+ orientation = 1;
+ }
+ else
+ {
+ bbtkWarning("Unrecognized value '"<<bbGetInputOrientation()<<"' for input 'Orientation' of LayoutSplit "<<bbGetName()<<std::endl);
+ }
+
+ if (orientation==0)
+ {
+ splitframe->SetOrientationToHorizontal ();
+ width = width / 2;
+ }
+ else
+ {
+ splitframe->SetOrientationToVertical ();
+ height = height / 2 ;
+ }
+
+ width = width - 5;
+ height = height - 5 ;
+
+ bbGetOutputWidget()->GetApplication()->Script("place %s -x 0 -y 0 -width %d -height %d",
+ bbGetOutputWidget()->GetWidgetName(),
+ parent->GetWidth(),
+ parent->GetHeight() );
- splitframe->GetApplication()->Script("pack %s -side top -expand y",
- splitframe->GetWidgetName());
- /*
splitframe->SetReliefToGroove();
splitframe->SetBorderWidth(2);
- splitframe->SetExpandableFrameToBothFrames();
- */
- bbCreateWidgetOfInput("Widget1",splitframe->GetFrame1());
- bbCreateWidgetOfInput("Widget2",splitframe->GetFrame2());
-
- /*
- 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==1) { w->SplitHorizontally( w1, w2, 100); }
- else { w->SplitVertically( w1, w2, 100); }
+
+ vtkKWWidget* w1 = bbCreateWidgetOfInput("Widget1",splitframe->GetFrame1());
+
+ vtkKWWidget* w2 = bbCreateWidgetOfInput("Widget2",splitframe->GetFrame2());
+
+
+ splitframe->GetApplication()->Script("place %s -x 0 -y 0 -width %d -height %d",
+ w1->GetWidgetName(),
+ width,
+ height);
+
+ splitframe->GetApplication()->Script("place %s -x 0 -y 0 -width %d -height %d",
+ w2->GetWidgetName(),
+ width,
+ height);
- */
+
+
}