// ApplicationEvent.h : header file
//
#ifndef _APPLICATIONEVENT_H
#define _APPLICATIONEVENT_H

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

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


////////////////////////////////////////////////////////////////////////////////
//
// ApplicationEvent  -    
//
////////////////////////////////////////////////////////////////////////////////
class ApplicationEvent : public BaseEvent
{
// Attributes
public:
	ApplicationEvent();           
  virtual ~ApplicationEvent();

// Operations
public:
  void ShowEventName( LPCTSTR eventName, reference pDoc );
  virtual   CString   EventCaption();
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(ApplicationEvent)
	//}}AFX_VIRTUAL
  virtual   LPUNKNOWN GetUnknown();
// Implementation
	BEGIN_INTERFACE_PART(KompasObjectNotify, IKompasObjectNotify)
		INIT_INTERFACE_PART(ApplicationEvent, KompasObjectNotify)
    // koCreateDocument      -    
    STDMETHOD_(VARIANT_BOOL, CreateDocument)(THIS_ long pDoc, int docType );
  
    // koOpenDocumenBegin    -     
    STDMETHOD_(VARIANT_BOOL, BeginOpenDocument)( THIS_ LPSTR docName );

    // koOpenDocumen         -    
    STDMETHOD_(VARIANT_BOOL, OpenDocument)( THIS_ long pDoc, int docType);

    // koActiveDocument      -       
    STDMETHOD_(VARIANT_BOOL, ChangeActiveDocument)( THIS_ long pDoc, int docType);

    // koApplicatinDestroy   -    
    STDMETHOD_(VARIANT_BOOL, ApplicationDestroy)( THIS_ );

    // koBeginCreate         -     
    STDMETHOD_(VARIANT_BOOL, BeginCreate)( THIS_ long type );

    // koBeginOpenFile       -     
    STDMETHOD_(VARIANT_BOOL, BeginOpenFile)( THIS_);

    // koBeginCloseAllDocument -   
    STDMETHOD_(VARIANT_BOOL, BeginCloseAllDocument)( THIS_ );

    //       notifyType
    STDMETHOD_(VARIANT_BOOL, IsNotifyProcess)( THIS_ int notifyType );

    // koKeyDown -  . (   )
    STDMETHOD_(VARIANT_BOOL, KeyDown )( THIS_ long * key,
                                            long flags,
                                            VARIANT_BOOL sysKey );
    // koKeyUp -  . (   )
    STDMETHOD_(VARIANT_BOOL, KeyUp )( THIS_ long * key,
                                            long flags,
                                            VARIANT_BOOL sysKey );
    // koKeyUp -  . (      )
    STDMETHOD_(VARIANT_BOOL, KeyPress )( THIS_ long * key,
                                               VARIANT_BOOL sysKey );

    STDMETHOD_(VARIANT_BOOL, BeginRequestFiles) ( THIS_ long requestID,
                                                  VARIANT * files );

	END_INTERFACE_PART(KompasObjectNotify)
};

BaseEvent* NewApplicationEvent();
/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif 
