00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: YIntField.h 00014 00015 Author: Stefan Hundhammer <sh@suse.de> 00016 00017 /-*/ 00018 00019 #ifndef YIntField_h 00020 #define YIntField_h 00021 00022 #include "YWidget.h" 00023 #include <ycp/YCPString.h> 00024 #include <ycp/YCPInteger.h> 00025 00029 class YIntField : public YWidget 00030 { 00031 public: 00032 00036 YIntField( const YWidgetOpt & opt, 00037 const YCPString & label, 00038 int minValue, 00039 int maxValue, 00040 int initialValue ); 00041 00046 virtual char *widgetClass() { return "YIntField"; } 00047 00051 YCPValue changeWidget( const YCPSymbol & property, 00052 const YCPValue & newValue ); 00053 00057 YCPValue queryWidget( const YCPSymbol & property ); 00058 00065 virtual void setLabel( const YCPString & label ); 00066 00073 virtual void setValue( int newValue ); 00074 00075 virtual int value() { return _value; } 00076 int minValue() { return _minValue; } 00077 int maxValue() { return _maxValue; } 00078 YCPString label() { return _label; } 00079 00084 const char *shortcutProperty() { return YUIProperty_Label; } 00085 00090 const char *userInputProperty() { return YUIProperty_Value; } 00091 00092 00093 private: 00094 00100 virtual void saveUserInput( YMacroRecorder *macroRecorder ); 00101 00102 YCPString _label; 00103 int _minValue; 00104 int _maxValue; 00105 int _value; 00106 }; 00107 00108 00109 #endif // YIntField_h