![]() |
The Simons
|
00001 00002 // 00003 // SCL : Simons Component Library 00004 // 00006 // 00007 // Filename: TextInput.h 00008 // Contents: TextInput class 00009 // Author: Anthony J H Simons 00010 // Revised: 5 December 2005 00011 00012 // This software is distributed free in the hope that others will 00013 // find it useful. However, it comes WITHIN ANY WARRANTY. No 00014 // liability can be accepted for software failure, merchantability 00015 // or fitness for a particular purpose. You can redistribute this 00016 // software in its original form, or in a modified form, provided 00017 // that this disclaimer is retained in the file banner. 00018 00019 #ifndef SCL_TEXT_INPUT 00020 #define SCL_TEXT_INPUT 00021 00022 #include "Input.h" // Include my superclass type 00023 #include "TextInputID.h" // Include my pointer type 00024 00025 #include "StringID.h" // Depends on the pointer type 00026 00038 00039 class TextInput : public Input { 00040 protected: 00041 TextInput(const TextInput&); 00042 public: 00043 TextInput(); 00044 virtual ~TextInput(); 00045 TextInput(StringID); 00046 virtual ObjectID clone() const; 00047 virtual InputID get(Boolean&); 00048 virtual InputID get(Character&); 00049 virtual InputID get(Natural&); 00050 virtual InputID get(Integer&); 00051 virtual InputID get(Decimal&); 00052 virtual InputID get(StringID&, Character = '\n'); 00053 virtual InputID get(Character[], Natural, Character = '\n'); 00054 virtual InputID skip(Character = '\n'); 00055 }; 00056 00058 00061 inline TextInputID::TextInputID() {} 00062 00064 inline TextInputID::~TextInputID() {} 00065 00069 inline TextInputID::TextInputID(const Null* null) : 00070 InputID(null) {} 00071 00075 inline TextInputID::TextInputID(const TextInput* stream) : 00076 InputID(stream) {} 00077 00081 inline TextInputID::TextInputID(const TextInputID& pointer) : 00082 InputID(pointer) {} 00083 00087 inline TextInputID& TextInputID::operator=(const TextInput* stream) { 00088 assign(stream); 00089 return *this; 00090 } 00091 00096 inline TextInputID& TextInputID::operator=(const TextInputID& pointer) { 00097 assign(pointer); 00098 return *this; 00099 } 00100 00101 00102 #endif 00103