X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fwx%2Fsrc%2FbbwxLayoutTab.cxx;h=2e8b86bcb89964961d2a23947953b494e7d14bf6;hb=b7dd1ccf2db9c018dabadd835739aba15f3664ba;hp=d6cd1de8874e7a7db40800aa3cbc3dd3dc1bc007;hpb=4ad5b5ee44357ad873bc8c43230defb6d0a79879;p=bbtk.git diff --git a/packages/wx/src/bbwxLayoutTab.cxx b/packages/wx/src/bbwxLayoutTab.cxx index d6cd1de..2e8b86b 100644 --- a/packages/wx/src/bbwxLayoutTab.cxx +++ b/packages/wx/src/bbwxLayoutTab.cxx @@ -1,20 +1,33 @@ -/*========================================================================= - +/*========================================================================= Program: bbtk Module: $RCSfile: bbwxLayoutTab.cxx,v $ Language: C++ - Date: $Date: 2008/04/18 12:59:53 $ - Version: $Revision: 1.2 $ - - Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de - l'Image). All rights reserved. See Doc/License.txt or - http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the above copyright notices for more information. - + Date: $Date: 2009/05/28 08:12:17 $ + Version: $Revision: 1.11 $ =========================================================================*/ + +/* --------------------------------------------------------------------- + +* 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 * \brief @@ -38,8 +51,9 @@ namespace bbwx BBTK_BLACK_BOX_IMPLEMENTATION(LayoutTab,bbtk::WxBlackBox); - void LayoutTab::bbUserConstructor() - { + //----------------------------------------------------------------- + void LayoutTab::bbUserSetDefaultValues() + { bbSetInputOrientation("TOP"); bbSetInputWidget1(NULL); bbSetInputWidget2(NULL); @@ -51,46 +65,81 @@ namespace bbwx bbSetInputWidget8(NULL); bbSetInputWidget9(NULL); } - - void LayoutTab::TryInsertWindow(wxNotebook *book, wxWindow *widgetchild ) + + //----------------------------------------------------------------- + void LayoutTab::bbUserInitializeProcessing() { - if (widgetchild!=NULL) - { - widgetchild->Reparent(book); - book->AddPage(widgetchild, widgetchild->GetName() ); - } - } - - - void LayoutTab::Process() - { } - - - void LayoutTab::CreateWidget() - { - long style = wxNB_TOP; - if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|T|TOP")==true) { style=wxNB_TOP; } - if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|R|RIGHT")==true) { style=wxNB_RIGHT; } - if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"2|B|BOTTOM")==true) { style=wxNB_BOTTOM; } - if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"3|L|LEFT")==true) { style=wxNB_LEFT; } - wxNotebook *w = new wxNotebook(bbGetWxParent(), -1, wxDefaultPosition,wxDefaultSize,style ); - w->SetName( bbtk::std2wx( bbGetInputWinTitle() ) ); - - TryInsertWindow(w,bbGetInputWidget1()); - TryInsertWindow(w,bbGetInputWidget2()); - TryInsertWindow(w,bbGetInputWidget3()); - TryInsertWindow(w,bbGetInputWidget4()); - TryInsertWindow(w,bbGetInputWidget5()); - TryInsertWindow(w,bbGetInputWidget6()); - TryInsertWindow(w,bbGetInputWidget7()); - TryInsertWindow(w,bbGetInputWidget8()); - TryInsertWindow(w,bbGetInputWidget9()); - - bbSetOutputWidget( w ); + + //----------------------------------------------------------------- + void LayoutTab::bbUserFinalizeProcessing() + { } + + + //----------------------------------------------------------------- + void LayoutTab::TryInsertWindow(wxNotebook *book, const std::string& input ) + { + wxWindow* w = bbCreateWidgetOfInput(input,book); //panel); + if (w!=NULL) + { + book->AddPage(w,w->GetName()); + } + } + + void LayoutTab::Process() + { + } - + + void LayoutTab::CreateWidget(wxWindow* parent) + { + long style = wxNB_TOP; + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|T|TOP")==true) + { style=wxNB_TOP; } + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|R|RIGHT")==true) + { style=wxNB_RIGHT; } + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"2|B|BOTTOM")==true) + { style=wxNB_BOTTOM; } + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"3|L|LEFT")==true) + { style=wxNB_LEFT; } + wxNotebook *w = new wxNotebook(parent, //bbGetWxParent(), + -1, + wxDefaultPosition, + wxDefaultSize, + style ); + w->SetName( bbtk::std2wx( bbGetInputWinTitle() ) ); + + TryInsertWindow(w,"Widget1"); + TryInsertWindow(w,"Widget2"); + TryInsertWindow(w,"Widget3"); + TryInsertWindow(w,"Widget4"); + TryInsertWindow(w,"Widget5"); + TryInsertWindow(w,"Widget6"); + TryInsertWindow(w,"Widget7"); + TryInsertWindow(w,"Widget8"); + TryInsertWindow(w,"Widget9"); + + bbSetOutputWidget( w ); + } + + + // This callback is necessary to get actual processing of the view + // when window is shown + void LayoutTab::OnShowWidget() + { + wxNotebook* w = (wxNotebook*)bbGetOutputWidget(); + if (w) + { + if (w->GetPageCount()>0) + { + w->SetSelection(0); + for (unsigned int i=0; iGetPageCount(); ++i) w->AdvanceSelection(); + } + } + + + } }//namespace bbwx