libyui-qt  2.46.13
YQWidgetCaption.h
1 /*
2  Copyright (C) 2000-2012 Novell, Inc
3  This library is free software; you can redistribute it and/or modify
4  it under the terms of the GNU Lesser General Public License as
5  published by the Free Software Foundation; either version 2.1 of the
6  License, or (at your option) version 3.0 of the License. This library
7  is distributed in the hope that it will be useful, but WITHOUT ANY
8  WARRANTY; without even the implied warranty of MERCHANTABILITY or
9  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
10  License for more details. You should have received a copy of the GNU
11  Lesser General Public License along with this library; if not, write
12  to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
13  Floor, Boston, MA 02110-1301 USA
14 */
15 
16 
17 /*-/
18 
19  File: YQWidgetCaption.h
20 
21  Author: Stefan Hundhammer <sh@suse.de>
22 
23 /-*/
24 
25 
26 #ifndef YQWidgetCaption_h
27 #define YQWidgetCaption_h
28 
29 #include <qlabel.h>
30 #include <string>
31 using std::string;
32 
33 
34 /**
35  * Helper class for captions (labels) above a widget: Takes care of hiding
36  * itself when its text is empty and showing when its text becomes non-empty.
37  **/
38 class YQWidgetCaption: public QLabel
39 {
40  Q_OBJECT
41 
42 public:
43 
44  /**
45  * Constuctors.
46  *
47  * If the text is empty, the widget will be created, but hidden right
48  * away. It can later be made visible again with setText() with a non-empty
49  * text.
50  **/
51  YQWidgetCaption( QWidget * parent, const std::string & text );
52  YQWidgetCaption( QWidget * parent, const QString & text );
53 
54  /**
55  * Destructor.
56  **/
57  virtual ~YQWidgetCaption();
58 
59  /**
60  * Change the text and handle visibility:
61  * If the new text is empty, hide this widget.
62  * If the new text is non-empty, show this widget.
63  **/
64  virtual void setText ( const std::string & newText );
65  virtual void setText ( const QString & newText );
66 
67 private:
68 
69  /**
70  * Make the widget visible if the text is non-empty or hide it if it is
71  * empty.
72  **/
73  void handleVisibility( const std::string & text );
74  void handleVisibility( const QString & text );
75  void handleVisibility( bool textIsEmpty );
76 };
77 
78 
79 #endif // YQWidgetCaption_h
virtual void setText(const std::string &newText)
Change the text and handle visibility: If the new text is empty, hide this widget.
virtual ~YQWidgetCaption()
Destructor.
YQWidgetCaption(QWidget *parent, const std::string &text)
Constuctors.
Helper class for captions (labels) above a widget: Takes care of hiding itself when its text is empty...