1 /*=========================================================================
3 Module: $RCSfile: bbtkQtBlackBox.h,v $
5 Date: $Date: 2009/05/28 14:22:10 $
6 Version: $Revision: 1.2 $
7 ========================================================================*/
10 /* ---------------------------------------------------------------------
12 * Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
13 * Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
15 * This software is governed by the CeCILL-B license under French law and
16 * abiding by the rules of distribution of free software. You can use,
17 * modify and/ or redistribute the software under the terms of the CeCILL-B
18 * license as circulated by CEA, CNRS and INRIA at the following URL
19 * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
20 * or in the file LICENSE.txt.
22 * As a counterpart to the access to the source code and rights to copy,
23 * modify and redistribute granted by the license, users are provided only
24 * with a limited warranty and the software's author, the holder of the
25 * economic rights, and the successive licensors have only limited
28 * The fact that you are presently reading this means that you have had
29 * knowledge of the CeCILL-B license and that you accept its terms.
30 * ------------------------------------------------------------------------ */
32 * \brief Short description in one line
34 * Long description which
35 * can span multiple lines
45 #ifndef __bbtkQtBlackBox_h_INCLUDED__
46 #define __bbtkQtBlackBox_h_INCLUDED__
52 #include "bbtkWidgetBlackBox.h"
58 //==================================================================
60 //==================================================================
70 //==================================================================
71 /// Widget black boxes
72 class BBTK_EXPORT QtBlackBox : public bbtk::WidgetBlackBox<QWidget>
74 BBTK_BLACK_BOX_INTERFACE(QtBlackBox,bbtk::WidgetBlackBox<QWidget>);
76 //==================================================================
77 /// Callback for creating a Dialog window (modal)
78 /// ** Must be defined ** in toolkit specific descendants
79 virtual void bbCreateDialogWindow();
80 //==================================================================
82 //==================================================================
83 /// Callback for creating a Frame window
84 /// ** Must be defined ** in toolkit specific descendants
85 virtual void bbCreateFrameWindow();
86 //==================================================================
88 //==================================================================
89 QWidget* bbGetWindow() { return bbmWindow; }
90 void bbSetWindow(QWidget*) ;
91 bool bbWindowIsCreated() { return (bbGetWindow() != 0); }
92 //==================================================================
95 //==================================================================
96 virtual void bbShowWindow();
97 //==================================================================
99 //==================================================================
100 virtual void bbDestroyWindow();
101 //==================================================================
107 //==================================================================
108 // virtual void InitWindowManagerIfNeeded();
109 virtual void IncNbWindowsAlive();
110 virtual void DecNbWindowsAlive();
111 virtual int GetNbWindowsAlive();
112 virtual bool IsSomeWindowAlive();
114 virtual void IncNbWindowsShown();
115 virtual void DecNbWindowsShown();
116 virtual int GetNbWindowsShown();
117 virtual bool IsSomeWindowShown();
118 //==================================================================
121 //=================================================================
124 //=================================================================
125 // QtBlackBoxDescriptor declaration
127 class QtBlackBoxDescriptor : public WidgetBlackBoxDescriptor<QWidget>
128 BBTK_BEGIN_DESCRIBE_BLACK_BOX_BODY(QtBlackBox);
129 BBTK_NAME("QtBlackBox");
130 BBTK_END_DESCRIBE_BLACK_BOX(QtBlackBox);
131 //=================================================================
140 #endif //__bbtkQtBlackBox_h__