GME  13
DecoratorEventSink.h
Go to the documentation of this file.
00001 //################################################################################################
00002 //
00003 // Decorator Event Sink implementation
00004 //      DecoratorEventSink.h
00005 //
00006 //################################################################################################
00007 
00008 #if !defined(AFX_DECORATOREVENTSINK_H__EB95C56D_04BC_47c9_A71B_305184F5FC44__INCLUDED_)
00009 #define AFX_DECORATOREVENTSINK_H__EB95C56D_04BC_47c9_A71B_305184F5FC44__INCLUDED_
00010 
00011 #if _MSC_VER > 1000
00012 #pragma once
00013 #endif // _MSC_VER > 1000
00014 
00015 #include "StdAfx.h"
00016 #include "mga.h"
00017 #include "GmeLib.h"
00018 #include "resource.h"
00019 
00020 
00021 class CGMEView;
00022 class CGuiObject;
00023 
00024 //################################################################################################
00025 //
00026 // CLASS : CDecoratorEventSink
00027 //
00028 //################################################################################################
00029 
00030 class ATL_NO_VTABLE CDecoratorEventSink :
00031         public CComObjectRootEx<CComSingleThreadModel>,
00032         public CComCoClass<CDecoratorEventSink, &__uuidof(DecoratorEventSink)>,
00033         public ISupportErrorInfoImpl<&__uuidof(IMgaElementDecoratorEvents)>,
00034         public IMgaElementDecoratorEvents
00035 {
00036 protected:
00037         CDecoratorEventSink();                  // protected constructor used by dynamic creation
00038 
00039 public:
00040 DECLARE_REGISTRY_RESOURCEID(IDR_DECORATOREVENTSINK)
00041 DECLARE_NOT_AGGREGATABLE(CDecoratorEventSink)
00042 
00043 BEGIN_COM_MAP(CDecoratorEventSink)
00044         COM_INTERFACE_ENTRY(IMgaElementDecoratorEvents)
00045         COM_INTERFACE_ENTRY(IMgaCommonDecoratorEvents)
00046         COM_INTERFACE_ENTRY(ISupportErrorInfo)
00047 END_COM_MAP()
00048 
00049 // Attributes
00050 public:
00051 
00052 // Operations
00053 public:
00054         void SetView(CGMEView* view);
00055         void SetGuiObject(CGuiObject* guiObject);
00056 
00057 // Overrides
00058 public:
00059 // Implementation
00060 
00061 public:
00062         ~CDecoratorEventSink();
00063 
00064 protected:
00065         CGMEView*                                       m_view;
00066         CGuiObject*                                     m_guiObject;
00067         void*                                           m_operationData;
00068 
00069 public:
00070         STDMETHOD( Refresh )                                            ( /*[in]*/ refresh_mode_enum refreshMode );
00071         STDMETHOD( OperationCanceled )                          ( void );
00072         STDMETHOD( CursorChanged )                                      ( /*[in]*/ LONG newCursorID );
00073         STDMETHOD( CursorRestored )                                     ( void );
00074 
00075         STDMETHOD( LabelEditingStarted )                        ( /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00076         STDMETHOD( LabelEditingFinished )                       ( /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00077         STDMETHOD( LabelChanged )                                       ( /*[in]*/ BSTR newLabel );
00078         STDMETHOD( LabelMovingStarted )                         ( /*[in]*/ LONG nFlags, /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00079         STDMETHOD( LabelMoving )                                        ( /*[in]*/ LONG nFlags, /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00080         STDMETHOD( LabelMovingFinished )                        ( /*[in]*/ LONG nFlags, /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00081         STDMETHOD( LabelMoved )                                         ( /*[in]*/ LONG nFlags, /*[in]*/ LONG x, /*[in]*/ LONG y );
00082         STDMETHOD( LabelResizingStarted )                       ( /*[in]*/ LONG nFlags, /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00083         STDMETHOD( LabelResizing )                                      ( /*[in]*/ LONG nFlags, /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00084         STDMETHOD( LabelResizingFinished )                      ( /*[in]*/ LONG nFlags, /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00085         STDMETHOD( LabelResized )                                       ( /*[in]*/ LONG nFlags, /*[in]*/ LONG cx, /*[in]*/ LONG cy );
00086 
00087         STDMETHOD( GeneralOperationStarted )            ( /*[in]*/ ULONGLONG operationData );
00088         STDMETHOD( GeneralOperationFinished )           ( /*[out]*/ ULONGLONG* operationData );
00089 
00090         STDMETHOD( WindowMovingStarted )                        ( /*[in]*/ LONG nFlags, /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00091         STDMETHOD( WindowMoving )                                       ( /*[in]*/ LONG nFlags, /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00092         STDMETHOD( WindowMovingFinished )                       ( /*[in]*/ LONG nFlags, /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00093         STDMETHOD( WindowMoved )                                        ( /*[in]*/ LONG nFlags, /*[in]*/ LONG x, /*[in]*/ LONG y );
00094 
00095         STDMETHOD( WindowResizingStarted )                      ( /*[in]*/ LONG nFlags, /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00096         STDMETHOD( WindowResizing )                                     ( /*[in]*/ LONG nFlags, /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00097         STDMETHOD( WindowResizingFinished )                     ( /*[in]*/ LONG nFlags, /*[in]*/ LONG left, /*[in]*/ LONG top, /*[in]*/ LONG right, /*[in]*/ LONG bottom );
00098         STDMETHOD( WindowResized )                                      ( /*[in]*/ LONG nFlags, /*[in]*/ LONG cx, /*[in]*/ LONG cy );
00099 };
00100 
00101 OBJECT_ENTRY_AUTO(__uuidof(DecoratorEventSink), CDecoratorEventSink) 
00102 
00103 
00104 
00105 //{{AFX_INSERT_LOCATION}}
00106 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
00107 
00108 #endif // !defined(AFX_DECORATOREVENTSINK_H__EB95C56D_04BC_47c9_A71B_305184F5FC44__INCLUDED_)