////////////////////////////////////////////////////////////////////////////////
//
// ApplicationEvent.h
// ApplicationEvent -     (COM)
//
////////////////////////////////////////////////////////////////////////////////

#ifndef _APPLICATIONEVENT_H
#define _APPLICATIONEVENT_H

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

//---------------------------------------------------------------------------
// ApplicationEvent -     (TEventsDispatcher)
// ---
class ApplicationEvent : public TBaseEvent<IKompasObjectNotify, & IID_IKompasObjectNotify>
{
public:
  ApplicationEvent();

protected:
  //  
  //     notifyType?
  virtual VARIANT_BOOL STDMETHODCALLTYPE IsNotifyProcess( int notifyType );
  //  
  virtual VARIANT_BOOL STDMETHODCALLTYPE CreateDocument( long pDoc, int docType );
  //   
  virtual VARIANT_BOOL STDMETHODCALLTYPE BeginOpenDocument( LPCSTR docName );
  //  
  virtual VARIANT_BOOL STDMETHODCALLTYPE OpenDocument( long pDoc, int docType);
  //     
  virtual VARIANT_BOOL STDMETHODCALLTYPE ChangeActiveDocument( long pDoc, int docType);
  //  
  virtual VARIANT_BOOL STDMETHODCALLTYPE ApplicationDestroy( void );
  //koBeginCreate -   
  virtual VARIANT_BOOL STDMETHODCALLTYPE BeginCreate( long type );
  //koBeginOpenFile -   
  virtual VARIANT_BOOL STDMETHODCALLTYPE BeginOpenFile(void);
  //koBeginCloseAllDocument -   
  virtual VARIANT_BOOL STDMETHODCALLTYPE BeginCloseAllDocument(void);

  virtual VARIANT_BOOL STDMETHODCALLTYPE KeyDown( long __RPC_FAR *key,
                                                  long flags,
                                                  VARIANT_BOOL sysKey);

  virtual VARIANT_BOOL STDMETHODCALLTYPE KeyUp( long __RPC_FAR *key,
                                                long flags,
                                                VARIANT_BOOL sysKey);

  virtual VARIANT_BOOL STDMETHODCALLTYPE KeyPress( long __RPC_FAR *key,
                                                   VARIANT_BOOL sysKey);

  virtual VARIANT_BOOL STDMETHODCALLTYPE BeginRequestFiles(  long requestID, VARIANT __RPC_FAR *files );

};
#endif

