-/*=========================================================================
+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la SantÈ)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+# This software is governed by the CeCILL-B license under French law and
+# abiding by the rules of distribution of free software. You can use,
+# modify and/ or redistribute the software under the terms of the CeCILL-B
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+# or in the file LICENSE.txt.
+#
+# As a counterpart to the access to the source code and rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty and the software's author, the holder of the
+# economic rights, and the successive licensors have only limited
+# liability.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */
+
+
+/*=========================================================================
Program: bbtk
Module: $RCSfile: bbkwLayoutSplit.cxx,v $
Language: C++
- Date: $Date: 2008/11/29 21:41:58 $
- Version: $Revision: 1.1 $
+ Date: $Date: 2012/11/16 08:51:05 $
+ Version: $Revision: 1.5 $
=========================================================================*/
-/* ---------------------------------------------------------------------
-
-* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
-* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
-*
-* This software is governed by the CeCILL-B license under French law and
-* abiding by the rules of distribution of free software. You can use,
-* modify and/ or redistribute the software under the terms of the CeCILL-B
-* license as circulated by CEA, CNRS and INRIA at the following URL
-* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-* or in the file LICENSE.txt.
-*
-* As a counterpart to the access to the source code and rights to copy,
-* modify and redistribute granted by the license, users are provided only
-* with a limited warranty and the software's author, the holder of the
-* economic rights, and the successive licensors have only limited
-* liability.
-*
-* The fact that you are presently reading this means that you have had
-* knowledge of the CeCILL-B license and that you accept its terms.
-* ------------------------------------------------------------------------ */
+
/**
* \file
}
- 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->GetApplication()->Script("pack %s -side left -anchor c -expand y",
- splitframe->GetWidgetName());
- /*
- splitframe->SetParent(parent);
- splitframe->Create();
- splitframe->SetWidth(400);
- splitframe->SetHeight(200);
- splitframe->SetReliefToGroove();
- splitframe->SetBorderWidth(2);
splitframe->SetExpandableFrameToBothFrames();
- w->SetName( bbtk::std2kw( bbGetInputWinTitle() ) );
- */
- bbCreateWidgetOfInput("Widget1",splitframe);
- bbCreateWidgetOfInput("Widget2",splitframe);
- /*
- vtkKWWidget* w1 = bbGetInputWidget1();
- if (w1)
+
+ int width = parent->GetWidth();
+ int height = parent->GetHeight();
+ int orientation = 0;
+ if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|H|HORIZONTAL")==true)
{
- w1->SetParent(splitframe);
- w1->Create();
+ orientation = 0;
+ }
+ else if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|V|VERTICAL")==true)
+ {
+ orientation = 1;
}
- vtkKWWidget* w2 = bbGetInputWidget2();
- if (w2)
+ else
{
- w2->SetParent(splitframe);
- w2->Create();
+ bbtkWarning("Unrecognized value '"<<bbGetInputOrientation()<<"' for input 'Orientation' of LayoutSplit "<<bbGetName()<<std::endl);
}
- */
- /*
- 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)
+ {
+ 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() );
+ */
+ bbGetOutputWidget()->GetApplication()->Script
+ ("pack %s -expand yes -fill both",
+ bbGetOutputWidget()->GetWidgetName());
+
+ splitframe->SetReliefToGroove();
+ splitframe->SetBorderWidth(2);
+
+
+ vtkKWWidget* w1 = bbCreateWidgetOfInput("Widget1",splitframe->GetFrame1());
+ vtkKWWidget* w2 = bbCreateWidgetOfInput("Widget2",splitframe->GetFrame2());
+
+ splitframe->GetApplication()->Script
+ ("pack %s -expand yes -fill both",
+ w1->GetWidgetName()) ;
+ splitframe->GetApplication()->Script
+ ("pack %s -expand yes -fill both",
+ w2->GetWidgetName()) ;
- if (orientation==1) { w->SplitHorizontally( w1, w2, 100); }
- else { w->SplitVertically( w1, w2, 100); }
+ /*
+ splitframe->GetApplication()->Script("pack %s -expand yes -fill x -fill y", w2->GetWidgetName());
+ */
+ /*
+ 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);
- bbSetOutputWidget( w );
*/
+
}