GME  13
AnnotatorTextPart.h
Go to the documentation of this file.
00001 //################################################################################################
00002 //
00003 // Annotator text part class
00004 //      AnnotatorTextPart.h
00005 //
00006 //################################################################################################
00007 
00008 #ifndef __ANNOTATORTEXTPART_H_
00009 #define __ANNOTATORTEXTPART_H_
00010 
00011 
00012 #include "StdAfx.h"
00013 #include "TextPart.h"
00014 
00015 
00016 namespace AnnotatorDecor {
00017 
00018 //################################################################################################
00019 //
00020 // CLASS : AnnotatorTextPart
00021 //
00022 //################################################################################################
00023 
00024 class AnnotatorTextPart: public DecoratorSDK::TextPart
00025 {
00026 protected:
00027         CComPtr<IMgaRegNode>    m_regRoot;
00028         CString                                 m_strName;
00029         LOGFONT                                 m_logFont;
00030 
00031 public:
00032         AnnotatorTextPart(DecoratorSDK::PartBase* pPart, CComPtr<IMgaCommonDecoratorEvents>& eventSink);
00033         virtual ~AnnotatorTextPart();
00034 
00035 // =============== resembles IMgaElementDecorator
00036 public:
00037         virtual void    SetParam                                        (const CString& strName, VARIANT vValue);
00038         virtual bool    GetParam                                        (const CString& strName, VARIANT* pvValue);
00039         virtual CSize   GetPreferredSize                        (void) const;
00040         virtual void    Draw                                            (CDC* pDC, Gdiplus::Graphics* gdip);
00041         virtual void    InitializeEx                            (CComPtr<IMgaProject>& pProject, CComPtr<IMgaMetaPart>& pPart,
00042                                                                                                  CComPtr<IMgaFCO>& pFCO, HWND parentWnd, DecoratorSDK::PreferenceMap& preferences);
00043 
00044         virtual CPoint  GetTextPosition                         (CDC* pDC, Gdiplus::Graphics* gdip) const;
00045         virtual void    SetTextRelYPosition                     (long relYPosition) {}; // This doesn't make sense in case of annotator decorator
00046         virtual CRect   GetTextLocation                         (CDC* pDC, Gdiplus::Graphics* gdip) const;
00047         virtual void    ExecuteOperation                        (const CString& newString);
00048 
00049 protected:
00050         void                    ReadPreferences                         (void);
00051 };
00052 
00053 }; // namespace AnnotatorDecor
00054 
00055 #endif //__ANNOTATORTEXTPART_H_