libyui
|
00001 /************************************************************************** 00002 Copyright (C) 2000 - 2010 Novell, Inc. 00003 All Rights Reserved. 00004 00005 This program is free software; you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation; either version 2 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License along 00016 with this program; if not, write to the Free Software Foundation, Inc., 00017 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00018 00019 **************************************************************************/ 00020 00021 00022 /*---------------------------------------------------------------------\ 00023 | | 00024 | __ __ ____ _____ ____ | 00025 | \ \ / /_ _/ ___|_ _|___ \ | 00026 | \ V / _` \___ \ | | __) | | 00027 | | | (_| |___) || | / __/ | 00028 | |_|\__,_|____/ |_| |_____| | 00029 | | 00030 | core system | 00031 | (C) SuSE GmbH | 00032 \----------------------------------------------------------------------/ 00033 00034 File: YLabel.h 00035 00036 Author: Stefan Hundhammer <sh@suse.de> 00037 00038 /-*/ 00039 00040 #ifndef YLabel_h 00041 #define YLabel_h 00042 00043 #include "YWidget.h" 00044 #include <string> 00045 #include "ImplPtr.h" 00046 00047 using std::string; 00048 00049 class YLabelPrivate; 00050 00054 class YLabel : public YWidget 00055 { 00056 public: 00057 00069 YLabel( YWidget * parent, 00070 const string & text, 00071 bool isHeading = false, 00072 bool isOutputField = false ); 00073 00077 virtual ~YLabel(); 00078 00085 virtual const char * widgetClass() const; 00086 00090 string text() const; 00091 00095 string value() const { return text(); } 00096 string label() const { return text(); } 00097 00104 virtual void setText( const string & newText ); 00105 00109 void setValue( const string & newValue ) { setText( newValue ); } 00110 void setLabel( const string & newLabel ) { setText( newLabel ); } 00111 00118 bool isHeading() const; 00119 00126 bool isOutputField() const; 00127 00131 bool useBoldFont() const; 00132 00139 virtual void setUseBoldFont( bool bold = true ); 00140 00154 virtual bool setProperty( const string & propertyName, 00155 const YPropertyValue & val ); 00156 00164 virtual YPropertyValue getProperty( const std::string & propertyName ); 00165 00172 virtual const YPropertySet & propertySet(); 00173 00180 virtual string debugLabel() const; 00181 00182 private: 00183 00184 ImplPtr<YLabelPrivate> priv; 00185 }; 00186 00187 00188 typedef YLabel YHeading; 00189 typedef YLabel YOutputField; 00190 00191 00192 #endif // YLabel_h