home *** CD-ROM | disk | FTP | other *** search
- //
- // $VER: String.h 1.0 (16 Jun 1996)
- //
- // c 1996 Thomas Wilhelmi
- //
- //
- // Address : Taunusstrasse 14
- // 61138 Niederdorfelden
- // Germany
- //
- // E-Mail : willi@twi.rhein-main.de
- //
- // Phone : +49 (0)6101 531060
- // Fax : +49 (0)6101 531061
- //
- //
- // $HISTORY:
- //
- // 16 Jun 1996 : 1.0 : first public Release
- //
-
- #ifndef CPP_TWIMUI_STRING_H
- #define CPP_TWIMUI_STRING_H
-
- #ifndef CPP_TWIMUI_GADGET_H
- #include <classes/twimui/gadget.h>
- #endif
-
- #ifndef CPP_TWIMUI_LABEL_H
- #include <classes/twimui/label.h>
- #endif
-
- #ifndef UTILITY_HOOKS_H
- #include <utility/hooks.h>
- #endif
-
- class MUIStringEditHook
- {
- private:
- struct Hook edithook;
- static void EditHookEntry(register __a0 struct Hook *, register __a2 struct SGWork *, register __a1 Msg);
- virtual void EditHookFunc(struct Hook *, struct SGWork *, Msg);
- protected:
- MUIStringEditHook();
- MUIStringEditHook(const MUIStringEditHook &p);
- ~MUIStringEditHook();
- MUIStringEditHook &operator= (const MUIStringEditHook &);
- public:
- struct Hook *edit() { return(&edithook); };
- };
-
- class MUIString
- : public MUIGadget,
- public MUIStringEditHook
- {
- public:
- MUIString(const struct TagItem *t)
- : MUIGadget(MUIC_String),
- MUIStringEditHook()
- {
- init(t);
- };
- MUIString(const Tag, ...);
- MUIString(const STRPTR cont, const ULONG len)
- : MUIGadget(MUIC_String),
- MUIStringEditHook()
- {
- init(MUIA_String_Contents, cont,
- MUIA_String_MaxLen, len,
- MUIA_Frame, MUIV_Frame_String,
- TAG_DONE);
- };
- MUIString(const STRPTR cont, const ULONG len, const UBYTE cc)
- : MUIGadget(MUIC_String),
- MUIStringEditHook()
- {
- init(MUIA_String_Contents, cont,
- MUIA_String_MaxLen, len,
- MUIA_ControlChar, cc,
- MUIA_Frame, MUIV_Frame_String,
- TAG_DONE);
- };
- MUIString(const ULONG cont, const ULONG len)
- : MUIGadget(MUIC_String),
- MUIStringEditHook()
- {
- init(MUIA_String_Integer, cont,
- MUIA_String_Accept,"1234567890-+",
- MUIA_String_MaxLen, len,
- MUIA_Frame, MUIV_Frame_String,
- TAG_DONE);
- };
- MUIString(const ULONG len)
- : MUIGadget(MUIC_String),
- MUIStringEditHook()
- {
- init(MUIA_String_Accept,"1234567890-+",
- MUIA_String_MaxLen, len,
- MUIA_Frame, MUIV_Frame_String,
- TAG_DONE);
- };
- MUIString(const ULONG cont, const ULONG len, const UBYTE cc)
- : MUIGadget(MUIC_String),
- MUIStringEditHook()
- {
- init(MUIA_String_Integer, cont,
- MUIA_String_Accept,"1234567890-+",
- MUIA_String_MaxLen, len,
- MUIA_ControlChar, cc,
- MUIA_Frame, MUIV_Frame_String,
- TAG_DONE);
- };
- MUIString(const ULONG len, const UBYTE cc)
- : MUIGadget(MUIC_String),
- MUIStringEditHook()
- {
- init(MUIA_String_Accept,"1234567890-+",
- MUIA_String_MaxLen, len,
- MUIA_ControlChar, cc,
- MUIA_Frame, MUIV_Frame_String,
- TAG_DONE);
- };
- MUIString()
- : MUIGadget(MUIC_String),
- MUIStringEditHook()
- { };
- MUIString(MUIString &p)
- : MUIGadget(p),
- MUIStringEditHook(p)
- { };
- virtual ~MUIString();
- MUIString &operator= (MUIString &);
- void Accept(const STRPTR p) { set(MUIA_String_Accept,(ULONG)p); };
- STRPTR Accept() const { return((STRPTR)get(MUIA_String_Accept,NULL)); };
- STRPTR Acknowledge() const { return((STRPTR)get(MUIA_String_Acknowledge,NULL)); };
- void AdvanceOnCR(const BOOL p) { set(MUIA_String_AdvanceOnCR,(ULONG)p); };
- BOOL AdvanceOnCR() const { return((BOOL)get(MUIA_String_AdvanceOnCR,FALSE)); };
- void BufferPos(const LONG p) { set(MUIA_String_BufferPos,(ULONG)p); };
- void Contents(const STRPTR p) { set(MUIA_String_Contents,(ULONG)p); };
- STRPTR Contents() const { return((STRPTR)get(MUIA_String_Contents,NULL)); };
- void DisplayPos(const LONG p) { set(MUIA_String_DisplayPos,(ULONG)p); };
- void EditHook(const struct Hook *p) { set(MUIA_String_EditHook,(ULONG)p); };
- struct Hook *EditHook() const { return((struct Hook *)get(MUIA_String_EditHook)); };
- LONG Format() const { return((LONG)get(MUIA_String_Format,0L)); };
- void Integer(const ULONG p) { set(MUIA_String_Integer,p); };
- ULONG Integer() const { return(get(MUIA_String_Integer,0L)); };
- void LonelyEditHook(const BOOL p) { set(MUIA_String_LonelyEditHook,(ULONG)p); };
- BOOL LonelyEditHook() const { return((BOOL)get(MUIA_String_LonelyEditHook,FALSE)); };
- LONG MaxLen() const { return((LONG)get(MUIA_String_MaxLen,0L)); };
- void Reject(const STRPTR p) { set(MUIA_String_Reject,(ULONG)p); };
- STRPTR Reject() const { return((STRPTR)get(MUIA_String_Reject,NULL)); };
- BOOL Secret() const { return((BOOL)get(MUIA_String_Secret,FALSE)); };
- };
-
- class MUILabString
- : public MUILabelHelp,
- public MUIString
- {
- private:
- MUIKeyLabel2 MUILab;
- public:
- MUILabString(const STRPTR lab, const STRPTR cont, const ULONG len)
- : MUILabelHelp(lab),
- MUIString(cont,len,MUILabelHelp::gCC()),
- MUILab(MUILabelHelp::gLab(),MUILabelHelp::gCC())
- {
- };
- MUILabString(const STRPTR lab, const ULONG cont, const ULONG len)
- : MUILabelHelp(lab),
- MUIString(cont,len,MUILabelHelp::gCC()),
- MUILab(MUILabelHelp::gLab(),MUILabelHelp::gCC())
- {
- };
- MUILabString(MUILabString &p)
- : MUILabelHelp(p),
- MUIString(p),
- MUILab(p.MUILab)
- { };
- virtual ~MUILabString();
- MUILabString &operator= (MUILabString &);
- Object *label() { return(MUILab); };
- };
-
- #endif
-