]> Creatis software - bbtk.git/blob - packages/qt/src/bbqtLayoutLine.cxx
*** empty log message ***
[bbtk.git] / packages / qt / src / bbqtLayoutLine.cxx
1 /*=========================================================================                                                                               
2   Program:   bbtk
3   Module:    $RCSfile: bbqtLayoutLine.cxx,v $
4   Language:  C++
5   Date:      $Date: 2009/04/08 08:35:59 $
6   Version:   $Revision: 1.1 $
7 =========================================================================*/
8
9 /* ---------------------------------------------------------------------
10
11 * Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
12 * Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
13 *
14 *  This software is governed by the CeCILL-B license under French law and 
15 *  abiding by the rules of distribution of free software. You can  use, 
16 *  modify and/ or redistribute the software under the terms of the CeCILL-B 
17 *  license as circulated by CEA, CNRS and INRIA at the following URL 
18 *  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
19 *  or in the file LICENSE.txt.
20 *
21 *  As a counterpart to the access to the source code and  rights to copy,
22 *  modify and redistribute granted by the license, users are provided only
23 *  with a limited warranty  and the software's author,  the holder of the
24 *  economic rights,  and the successive licensors  have only  limited
25 *  liability. 
26 *
27 *  The fact that you are presently reading this means that you have had
28 *  knowledge of the CeCILL-B license and that you accept its terms.
29 * ------------------------------------------------------------------------ */                                                                         
30     
31
32 /**
33  *  \file
34  *  \brief
35  */
36
37
38 #ifdef USE_QT
39
40 #include "bbqtLayoutLine.h"
41 #include "bbqtPackage.h"
42 #include "bbtkUtilities.h"
43
44 #include <QBoxLayout>
45
46 namespace bbqt
47 {
48   BBTK_ADD_BLACK_BOX_TO_PACKAGE(qt, LayoutLine);
49   BBTK_BLACK_BOX_IMPLEMENTATION(LayoutLine,bbtk::QtBlackBox);
50   
51   void LayoutLine::bbUserConstructor()
52   {
53     bbSetInputOrientation("VERTICAL");
54     bbSetInputWidget1(NULL);
55     bbSetInputWidget2(NULL);
56     bbSetInputWidget3(NULL);
57     bbSetInputWidget4(NULL);
58     bbSetInputWidget5(NULL);
59     bbSetInputWidget6(NULL);
60     bbSetInputWidget7(NULL);
61     bbSetInputWidget8(NULL);
62     bbSetInputWidget9(NULL);
63   }
64   
65   void LayoutLine::Process()
66   {
67   }
68   
69
70         
71   void LayoutLine::CreateWidget(QWidget* parent)
72   {
73     QWidget *w = new QWidget(parent);
74     QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
75     sizePolicy.setHorizontalStretch(1);
76     sizePolicy.setVerticalStretch(1);
77     sizePolicy.setHeightForWidth(parent->sizePolicy().hasHeightForWidth());
78     w->setSizePolicy(sizePolicy);
79
80     QBoxLayout::Direction dir;
81     if (bbtk::Utilities::loosematch(bbGetInputOrientation(),
82                                     "0|H|HORIZONTAL")==true)  
83       { dir = QBoxLayout::LeftToRight; }
84     if (bbtk::Utilities::loosematch(bbGetInputOrientation(),
85                                     "1|V|VERTICAL")==true)      
86       {  dir = QBoxLayout::TopToBottom; }
87     QBoxLayout* l = new QBoxLayout(dir);
88     
89     QWidget* cw;
90     if ((cw=bbCreateWidgetOfInput("Widget1",w)) != 0) l->addWidget(cw);
91     if ((cw=bbCreateWidgetOfInput("Widget2",w)) != 0) l->addWidget(cw);
92     if ((cw=bbCreateWidgetOfInput("Widget3",w)) != 0) l->addWidget(cw);
93     if ((cw=bbCreateWidgetOfInput("Widget4",w)) != 0) l->addWidget(cw);
94     if ((cw=bbCreateWidgetOfInput("Widget5",w)) != 0) l->addWidget(cw);
95     if ((cw=bbCreateWidgetOfInput("Widget6",w)) != 0) l->addWidget(cw);
96     if ((cw=bbCreateWidgetOfInput("Widget7",w)) != 0) l->addWidget(cw);
97     if ((cw=bbCreateWidgetOfInput("Widget8",w)) != 0) l->addWidget(cw);
98     if ((cw=bbCreateWidgetOfInput("Widget9",w)) != 0) l->addWidget(cw);
99     
100  
101     w->setLayout(l);
102
103     
104     bbSetOutputWidget( w );
105   }
106   
107   // This callback is necessary to get actual processing of the view 
108   // when window is shown
109   void  LayoutLine::OnShowWidget()
110   {
111     bbUserOnShowWidget("Widget1");
112     bbUserOnShowWidget("Widget2");
113     bbUserOnShowWidget("Widget3");
114     bbUserOnShowWidget("Widget4");
115     bbUserOnShowWidget("Widget5");
116     bbUserOnShowWidget("Widget6");
117     bbUserOnShowWidget("Widget7");
118     bbUserOnShowWidget("Widget8");
119     bbUserOnShowWidget("Widget9");
120   }
121
122 }//namespace bbqt
123
124 #endif // USE_QT
125