]> Creatis software - bbtk.git/blobdiff - packages/wx/src/bbwxLayoutLine.cxx
LayoutLine
[bbtk.git] / packages / wx / src / bbwxLayoutLine.cxx
diff --git a/packages/wx/src/bbwxLayoutLine.cxx b/packages/wx/src/bbwxLayoutLine.cxx
new file mode 100644 (file)
index 0000000..977404c
--- /dev/null
@@ -0,0 +1,92 @@
+/*=========================================================================
+                                                                                
+  Program:   bbtk
+  Module:    $RCSfile: bbwxLayoutLine.cxx,v $
+  Language:  C++
+  Date:      $Date: 2008/02/15 12:19:58 $
+  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 "bbwxLayoutLine.h"
+#include "bbwxPackage.h"
+#include "bbtkUtilities.h"
+
+
+namespace bbwx
+{
+  BBTK_ADD_BLACK_BOX_TO_PACKAGE(wx, LayoutLine);
+  BBTK_USER_BLACK_BOX_IMPLEMENTATION(LayoutLine,bbtk::WxBlackBox);
+
+       void LayoutLine::bbUserConstructor()
+       {
+               bbSetInputOrientation("VERTICAL");
+               bbSetInputWidget1(NULL);
+               bbSetInputWidget2(NULL);
+               bbSetInputWidget3(NULL);
+               bbSetInputWidget4(NULL);
+               bbSetInputWidget5(NULL);
+               bbSetInputWidget6(NULL);
+               bbSetInputWidget7(NULL);
+               bbSetInputWidget8(NULL);
+               bbSetInputWidget9(NULL);
+       }
+
+         void LayoutLine::Process()
+         {
+         }
+
+       void LayoutLine::TryInsertWindow(wxWindow *parent, wxWindow *w,wxBoxSizer *sizer)
+       {
+                 if (w!=NULL)
+                 {
+                         w->Reparent(parent);
+                         sizer->Add(w, 1, wxEXPAND, 0);
+                 }
+       }
+
+         void LayoutLine::CreateWidget()
+         {
+         wxBoxSizer *sizer;
+         wxPanel *w=new wxPanel(bbGetWxParent(), -1);
+         w->SetName( bbtk::std2wx( bbGetInputWinTitle() ) );
+
+         int style=0;
+      if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|H|HORIZONTAL")==true)  { style=wxHORIZONTAL; }
+         if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|V|VERTICAL")==true)        { style=wxVERTICAL;   }
+
+         sizer = new wxBoxSizer(style);
+
+         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);
+
+         w     -> SetSizer(sizer);
+         bbSetOutputWidget( w );
+  }
+
+}//namespace bbwx
+
+#endif // _USE_WXWIDGETS_
+