home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-12-17 | 3.2 KB | 120 lines | [TEXT/CWIE] |
- // =================================================================================
- //
- // CTextEditControl.h ©1996 Microsoft Corporation All rights reserved.
- //
- // =================================================================================
-
- #ifndef _H_CTextEditControl
- #define _H_CTextEditControl
- #pragma once
-
- #include "CBaseControl.h"
- #include "IPlatformControl.h"
-
- class CTextEditControl;
- class CTextEditBSC;
-
- class CTextEditContextInfo :
- public CBaseContextInfo
-
- {
- public:
- // *** CTextEditContextInfo ***
- CTextEditContextInfo(CTextEditControl* inControlP, Uint32 ContextID);
- virtual ~CTextEditContextInfo(void);
-
- // *** CBaseContextInfo methods ***
- virtual ErrorCode Update(Boolean8 Acquired);
- virtual ErrorCode Activate(Boolean8 Acquired);
- virtual ErrorCode Deactivate(Boolean8 Acquired);
-
- // *** CTextEditContextInfo methods ***
- TEHandle GetTEHandle(void) { return mTextEditH; };
-
- private:
- TEHandle mTextEditH;
- };
-
-
- typedef enum
- {
- EmptyControlPropertyType = 0x00,
- TextControlProperty = 0x01,
- ScrollControlProperty = 0x02,
- SelectionControlProperty = 0x04,
- PadControlPropertyType = 0xffffffff
- }
- ControlPropertyType;
-
-
- typedef struct
- {
- Str255 Name;
- IConnectionPoint* ConnectionPoint;
- IUnknown* Unknown;
- Uint32 Cookie;
- }
- PlatformControlInfo;
-
-
- class CTextEditControl :
- public CBaseControl,
- public IPlatformControlListener
- {
- public:
- friend class CTextEditContextInfo;
-
- // *** CTextEditControl methods ***
- CTextEditControl(void);
- ~CTextEditControl(void);
-
- // *** IUnknown methods ***
- STDMETHOD (QueryInterface)(REFIID inRefID, void** outObj);
- STDMETHOD_ (Uint32,AddRef)(THIS) {return CBaseControl::AddRef();}
- STDMETHOD_ (Uint32,Release)(THIS) {return CBaseControl::Release();}
-
- // *** IControl methods ***
- STDMETHOD (Draw) (THIS_ DrawContext* inContext);
- STDMETHOD (OnContextChange)(THIS_ UInt32 inContextID, ContextCommand inCommand);
- STDMETHOD (GetID)(THIS_ Int32 inBufferSize, Char8* outID);
- STDMETHOD (DoMouse)(THIS_ MouseEventType inMouseET, PlatformEvent* inEvent);
- STDMETHOD (DoKey)(THIS_ KeyEventType inKeyET, Char8 inChar, PlatformEvent* inEvent);
- STDMETHOD (DoIdle)(THIS_ Uint32 IdleRefCon) ;
- STDMETHOD (SetFocus)(THIS_ FocusCommand inCommand, FocusSet inFocus);
-
- // *** IPersistPropertyBag methods ***
- STDMETHOD (Load)(THIS_ IPropertyBag* PropBag, IErrorLog* ErrorLog);
-
- // *** IPlatformControlListener methods ***
- STDMETHOD (OnControlValueChange)(THIS_ IUnknown* inSource, Int32 ControlValue);
-
- protected:
- // *** protected methods ***
- virtual CBaseContextInfo* NewContext(Uint32 inContextID);
- void TouchAllContexts(ControlPropertyType PropertyType);
- void BeginAttachPlatformControls(void);
- void ReleaseAllPlatformControls(void);
- void AttachPlatformControl(PlatformControlInfo* inPCInfo);
- void ReleasePlatformControl(PlatformControlInfo* inPCInfo);
-
- // *** protected data members ***
- Str255 mID;
- PlatformControlInfo mScrollBarInfo;
- PlatformControlInfo mPostButtonInfo;
-
- Handle mNewText;
- Int16 mScrollLines;
- Int16 mOldScrollPosition;
-
- FocusSet mOwnedFoci;
- Int16 mStartSelection;
- Int16 mEndSelection;
- Int16 mFont;
- Int16 mSize;
- Int16 mFace;
- Str255 mPostUrl;
- CTextEditBSC* mPostStream;
- };
-
- #endif
-