00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: YMultiLineEdit.h 00014 00015 Author: Stefan Hundhammer <sh@suse.de> 00016 00017 /-*/ 00018 00019 #ifndef YMultiLineEdit_h 00020 #define YMultiLineEdit_h 00021 00022 #include "YWidget.h" 00023 #include <ycp/YCPString.h> 00024 #include <deque> 00025 00026 00027 class YMacroRecorder; 00028 00032 class YMultiLineEdit : public YWidget 00033 { 00034 public: 00038 YMultiLineEdit( const YWidgetOpt & opt, 00039 const YCPString & label ); 00040 00045 virtual char *widgetClass() { return "YMultiLineEdit"; } 00046 00047 00052 YCPValue changeWidget( const YCPSymbol & property, const YCPValue & newvalue ); 00053 00057 YCPValue queryWidget( const YCPSymbol & property ); 00058 00059 00064 virtual void setLabel( const YCPString & newLabel ); 00065 00069 virtual void setText( const YCPString & text ) = 0; 00070 00074 virtual YCPString text() = 0; 00075 00079 YCPString label() const { return _label; } 00080 00085 const char *shortcutProperty() { return YUIProperty_Label; } 00086 00087 00088 private: 00089 00095 virtual void saveUserInput( YMacroRecorder *macroRecorder ); 00096 00097 00098 // Data members 00099 00100 YCPString _label; 00101 }; 00102 00103 00104 #endif // YMultiLineEdit_h