]> Creatis software - bbtk.git/blobdiff - packages/kw/src/bbkwLayoutSplit.cxx
*** empty log message ***
[bbtk.git] / packages / kw / src / bbkwLayoutSplit.cxx
index b35f7f1d8a10ea465cb16406965b322066734ae7..10a2097d1e41e0a058598805eb16c679e5ac69b4 100644 (file)
@@ -2,8 +2,8 @@
   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 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -60,36 +60,73 @@ namespace bbkw
   }
 
 
-  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);
   
-    */
+
+
   }