/*========================================================================= Program: bbtk Module: $RCSfile: bbwxSizer.cxx,v $ Language: C++ Date: $Date: 2008/02/04 16:42:10 $ Version: $Revision: 1.1 $ 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. =========================================================================*/ /** * \file * \brief */ #ifdef _USE_WXWIDGETS_ #include "bbwxSizer.h" #include "bbwxPackage.h" namespace bbwx { BBTK_ADD_BLACK_BOX_TO_PACKAGE(wx , Sizer); /* wxWidgetSizer::wxWidgetSizer(wxWindow *parent,int orientation) : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL) { wxPanel *panel = this; if (orientation==0) { mwxSizer = new wxBoxSizer(wxHORIZONTAL); } else { mwxSizer = new wxBoxSizer(wxVERTICAL); } panel -> SetSizer(mwxSizer); panel -> SetAutoLayout(true); panel -> Layout(); mbbtkSizer=NULL; } //------------------------------------------------------------------------- void wxWidgetSizer::AddChild(wxWindow* child) { mwxSizer->Add(child, 1, wxEXPAND, 0); } wxWidgetSizer::~wxWidgetSizer() { } //------------------------------------------------------------------------- void wxWidgetSizer::SetSizer(Sizer* bbtksizer) { mbbtkSizer = bbtksizer; } //-------------------------------------------------------------------------- //------------------------------------------------------------------------- //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- */ BBTK_USER_BLACK_BOX_IMPLEMENTATION(Sizer,bbtk::WxBlackBox); void Sizer::bbUserConstructor() { bbSetInputOrientation(1); bbSetInputWidget1(NULL); bbSetInputWidget2(NULL); bbSetInputWidget3(NULL); bbSetInputWidget4(NULL); bbSetInputWidget5(NULL); bbSetInputWidget6(NULL); bbSetInputWidget7(NULL); bbSetInputWidget8(NULL); bbSetInputWidget9(NULL); bbSetInputWidget10(NULL); } void Sizer::TryInsertWindow(wxWindow *parent, wxWindow *w,wxBoxSizer *sizer) { if (w!=NULL) { w->Reparent(parent); sizer->Add(w, 1, wxEXPAND, 0); } } void Sizer::Process() { } void Sizer::CreateWidget() { wxBoxSizer *sizer; wxPanel *w=new wxPanel(bbGetWxParent(), -1); if (bbGetInputOrientation()==0) { sizer = new wxBoxSizer(wxHORIZONTAL); } else { sizer = new wxBoxSizer(wxVERTICAL); } TryInsertWindow(w,bbGetInputWidget1(),sizer); TryInsertWindow(w,bbGetInputWidget2(),sizer); TryInsertWindow(w,bbGetInputWidget3(),sizer); TryInsertWindow(w,bbGetInputWidget4(),sizer); TryInsertWindow(w,bbGetInputWidget5(),sizer); TryInsertWindow(w,bbGetInputWidget6(),sizer); TryInsertWindow(w,bbGetInputWidget7(),sizer); TryInsertWindow(w,bbGetInputWidget8(),sizer); TryInsertWindow(w,bbGetInputWidget9(),sizer); TryInsertWindow(w,bbGetInputWidget10(),sizer); w -> SetSizer(sizer); // w -> SetAutoLayout(true); // w -> Layout(); bbSetOutputWidget( w ); } /* wxWindow *Sizer::CreateWxWindow(wxWindow *parent) { bbtkDebugMessageInc("Core",9,"Sizer::CreateWxWindow("<first=="Child") { const std::vector& C = i->second->GetConnectionVector(); std::vector::const_iterator j; for (j=C.begin(); j!=C.end(); ++j) { // WxBlackBox* to = ((WxBlackBox*)((*j)->GetBlackBoxTo())); // wxWindow* cw = ((WxBlackBox*)((*j)->GetBlackBoxTo()))->GetWxWindow(wxwidgetsizer); wxPanel *cw = new wxPanel(wxwidgetsizer,-1); cw->SetName( wxString( (*j)->GetBlackBoxTo()->bbGetName().c_str(), wxConvUTF8 ) ); wxwidgetsizer->AddChild(cw); } // for j break; } // if Child } // for i // wxwidgetsizer->SetSizer(this); bbtkDebugDecTab("Core",9); Setmwxcontainer(wxwidgetsizer); return wxwidgetsizer; } void Sizer::AddWxBBChild(WxBlackBox *wxblackbox) // virtual { wxWindow *subparent = GetSubParent( wxString(wxblackbox->bbGetName().c_str(),wxConvUTF8 ) ); wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL); sizer -> Add( wxblackbox->GetWxWindow( subparent ) , 1, wxALL|wxEXPAND, 2); subparent -> SetAutoLayout(true); subparent -> SetSizer(sizer); subparent -> Layout(); } */ }//namespace bbwx #endif