////////////////////////////////////////////////////////////////////////////////
//
// DocumentFrameEvent  -     
//
////////////////////////////////////////////////////////////////////////////////
#ifndef _DOCUMENTFRAMEEVENT_H
#define _DOCUMENTFRAMEEVENT_H

#ifndef _BASEEVENT_H
#include "BaseEvent.h"
#endif

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000  

/*
  typedef enum 
  {
    [helpstring("  ."),                   helpcontext(290)] frBeginPaint          = 1,
    [helpstring("  ."),                    helpcontext(290)] frClosePaint          = 2,
    [helpstring("  ."),                          helpcontext(290)] frMouseDown           = 3,
    [helpstring("  ."),                       helpcontext(290)] frMouseUp             = 4,
    [helpstring("   ."),                     helpcontext(290)] frMouseDblClick       = 5,
    [helpstring("     OpenGL."),     helpcontext(290)] frBeginPaintGL        = 6,
    [helpstring("     OpenGL."),  helpcontext(290)] frClosePaintGL        = 7,
    [helpstring("  ."),              helpcontext(290)] frAddGabarit          = 8,
    [helpstring("  ."),                     helpcontext(290)] frBeginCurrentProcess = 9,
    [helpstring("  ."),                  helpcontext(290)] frStopCurrentProcess  = 10,
    [helpstring(" ."),                        helpcontext(290)] frActivate            = 11,
    [helpstring(" ."),                      helpcontext(290)] frDeactivate          = 12,
    [helpstring(" ."),                                helpcontext(290)] frCloseFrame          = 13,
  }
  ksDocumentFrameNotifyEnum;
*/

////////////////////////////////////////////////////////////////////////////////
//
// DocumentFrameEvent  -     
//
////////////////////////////////////////////////////////////////////////////////
class DocumentFrameEvent : public BaseEvent
{
public:
	DocumentFrameEvent( LPUNKNOWN pObject, 
                      LPDISPATCH doc, 
                      bool m_selfAdvise = true );           
  virtual ~DocumentFrameEvent();

protected:
  // frBeginPaint          -   
  afx_msg VARIANT_BOOL BeginPaint( LPDISPATCH paintObj );
  // frClosePaint          -   
  afx_msg VARIANT_BOOL ClosePaint( LPDISPATCH paintObj );
  // frMouseDown           -   
  afx_msg VARIANT_BOOL MouseDown( short nButton, short nShiftState, long x, long y );
  // frMouseUp             -   
  afx_msg VARIANT_BOOL MouseUp( short nButton, short nShiftState, long x, long y );
  // frMouseDblClick       -    
  afx_msg VARIANT_BOOL MouseDblClick( short nButton, short nShiftState, long x, long y );
  // frBeginPaintGL        -      OpenGL
  afx_msg VARIANT_BOOL BeginPaintGL( LPDISPATCH glObj, long drawMode );
  // frClosePaintGL        -      OpenGL
  afx_msg VARIANT_BOOL ClosePaintGL( LPDISPATCH glObj, long drawMode );
  // frAddGabarit          -   
  afx_msg VARIANT_BOOL AddGabarit( LPDISPATCH gabObj );
  // frBeginCurrentProcess -   
  afx_msg VARIANT_BOOL BeginCurrentProcess( long id );
  // frStopCurrentProcess  -   
  afx_msg VARIANT_BOOL StopCurrentProcess( long id );
  // frActivate            -  
  afx_msg VARIANT_BOOL Activate();
  // frDeactivate          -  
  afx_msg VARIANT_BOOL Deactivate();
  // frCloseFrame          -  
  afx_msg VARIANT_BOOL CloseFrame();

	DECLARE_EVENTSINK_MAP()
};

/////////////////////////////////////////////////////////////////////////////

#endif 
