libyui-ncurses  2.55.0
NCLabel.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: NCLabel.h
20 
21  Author: Michael Andres <ma@suse.de>
22 
23 /-*/
24 
25 #ifndef NCLabel_h
26 #define NCLabel_h
27 
28 #include <iosfwd>
29 
30 #include <yui/YLabel.h>
31 #include "NCWidget.h"
32 #include "NCWordWrapper.h"
33 
34 class NCLabel;
35 
36 
37 class NCLabel : public YLabel, public NCWidget
38 {
39 private:
40 
41  friend std::ostream & operator<<( std::ostream & str, const NCLabel & obj );
42 
43  NCLabel & operator=( const NCLabel & );
44  NCLabel( const NCLabel & );
45 
46 
47  bool heading;
48  NClabel label;
49  NCWordWrapper wrapper;
50 
51 protected:
52 
53  virtual const char * location() const { return "NCLabel"; }
54 
55  virtual void wRedraw();
56 
57 public:
58 
59  NCLabel( YWidget * parent,
60  const std::string & text,
61  bool isHeading = false,
62  bool isOutputField = false );
63 
64  virtual ~NCLabel();
65 
66  virtual int preferredWidth();
67  virtual int preferredHeight();
68 
69  virtual void setSize( int newWidth, int newHeight );
70 
71  virtual void setText( const std::string & nlabel );
72 
73  virtual void setEnabled( bool do_bv );
74  virtual void setAutoWrap( bool autoWrap = true );
75 };
76 
77 
78 #endif // NCLabel_h
NClabel
Definition: NCtext.h:82
NCWidget
Definition: NCWidget.h:46
NCWordWrapper
Helper class to word-wrap text into a specified maximum line width.
Definition: NCWordWrapper.h:39
NCLabel::setEnabled
virtual void setEnabled(bool do_bv)
Pure virtual to make sure every widget implements it.
Definition: NCLabel.cc:132
NCLabel
Definition: NCLabel.h:38