X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fkw%2Fsrc%2FbbkwLayoutSplit.cxx;h=938ef982f0f268b5cd6ca5f0cc4aaac66d100ab8;hb=5d024530691d33ec9a25933c68b09bec211a7ef5;hp=243b53e39f9ee8a8ff541f8f960df90d4d2023ab;hpb=26a8c332dda10ace9e3e088b2ca8544d188c9743;p=bbtk.git diff --git a/packages/kw/src/bbkwLayoutSplit.cxx b/packages/kw/src/bbkwLayoutSplit.cxx index 243b53e..938ef98 100644 --- a/packages/kw/src/bbkwLayoutSplit.cxx +++ b/packages/kw/src/bbkwLayoutSplit.cxx @@ -1,32 +1,39 @@ -/*========================================================================= +/* +# --------------------------------------------------------------------- +# +# 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 @@ -60,57 +67,88 @@ 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->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 '"<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 ); */ + }