////////////////////////////////////////////////////////////////////////////////
//
//      
//
////////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"

#include "resource.h"
#include "cPropMen.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

extern int LibMessage( LPCTSTR str, int flags = MB_OK );
extern void ClosePropertyManager( bool mes );                       //   

////////////////////////////////////////////////////////////////////////////////
//
// PropertyManagerEvent -    
//
////////////////////////////////////////////////////////////////////////////////
//-------------------------------------------------------------------------------
//
// ---
PropertyManagerEvent::PropertyManagerEvent( LPDISPATCH manager ):
  ABaseEvent( manager, DIID_ksPropertyManagerNotify )
{
  Advise();
}


//-------------------------------------------------------------------------------
//
// ---
PropertyManagerEvent::~PropertyManagerEvent()
{
}


//-------------------------------------------------------------------------------
//  
// ---
BEGIN_EVENTSINK_MAP(PropertyManagerEvent, ABaseEvent)
  // 1 - prButtonClick        -  .
  ON_EVENT (PropertyManagerEvent, (unsigned int)-1,  prButtonClick,        ButtonClick,        VTS_I4 )
  // 2 - prChangeControlValue -    
  ON_EVENT (PropertyManagerEvent, (unsigned int)-1,  prChangeControlValue, ChangeControlValue, VTS_DISPATCH )
  // 3 - prControlCommand     -   
  ON_EVENT (PropertyManagerEvent, (unsigned int)-1,  prControlCommand,     ControlCommand,     VTS_DISPATCH VTS_I4 )
  // 4 - prButtonUpdate       -    
  ON_EVENT (PropertyManagerEvent, (unsigned int)-1, prButtonUpdate,        ButtonUpdate,       VTS_I4 VTS_PI4 VTS_PBOOL )
  // 5 - prProcessActivate    -  
  ON_EVENT (PropertyManagerEvent, (unsigned int)-1, prProcessActivate,     ProcessActivate,    VTS_NONE )  
  // 6 - prProcessDeactivate  -  
  ON_EVENT (PropertyManagerEvent, (unsigned int)-1, prProcessDeactivate,   ProcessDeactivate,  VTS_NONE )  
  // 7 - prCommandHelp -  
  ON_EVENT ( PropertyManagerEvent, (unsigned int)-1, prCommandHelp,        CommandHelp,        VTS_I4  )
//    // 8 - prSelectItem -    
//    ON_EVENT ( PropertyManagerEvent, (unsigned int)-1, prSelectItem,         SelectItem
//    // 9 - prCheckItem -    
//    ON_EVENT ( PropertyManagerEvent, (unsigned int)-1, prCheckItem,          CheckItem
END_EVENTSINK_MAP()


//-----------------------------------------------------------------------------
// prChangeControlValue -     
// ---
afx_msg BOOL PropertyManagerEvent::ChangeControlValue(LPDISPATCH  iCtrl)
{
  LibMessage( _T("PropertyManagerEvent::ChangeControlValue") );
  return TRUE;
}


//-------------------------------------------------------------------------------
//   
// ---
void OpenHelp( int Id ) 
{
//  char gaykaHlp[260] = "";
//  if ( GetFullName( LIB_HELP, gaykaHlp, 260 ) )
//    ksOpenHelpFile( gaykaHlp, HELP_CONTEXT,  Id );
}


//-----------------------------------------------------------------------------
// prChangeControlValue -     
// ---
afx_msg BOOL PropertyManagerEvent::ButtonClick(long buttonID)
{
  if ( buttonID == pbHelp ) 
    OpenHelp( 1 );
  if ( buttonID == pbEnter || buttonID == pbEsc )
    ClosePropertyManager( false );
  return TRUE;
}

//-----------------------------------------------------------------------------
// prControlCommand   
// ---
afx_msg BOOL PropertyManagerEvent::ControlCommand(LPDISPATCH ctrl, long buttonID ) {
  LibMessage( _T("PropertyManagerEvent::ControlCommand") );
  return TRUE;
}


//-----------------------------------------------------------------------------
// prButtonUpdate        -    .
// ---
afx_msg BOOL PropertyManagerEvent::ButtonUpdate( long buttonID, long* check, VARIANT_BOOL* _enable) {
  if ( check )
    *check = false;
  if ( _enable )
    *_enable = TRUE; 
  return TRUE;
}

//-----------------------------------------------------------------------------
// prProcessActibate     -  .
// ---
afx_msg BOOL PropertyManagerEvent::ProcessActivate() {
  return TRUE;
}


//-----------------------------------------------------------------------------
// prProcessDeactivate   -  .
// ---
afx_msg BOOL PropertyManagerEvent::ProcessDeactivate() {
  return TRUE;
}


//-----------------------------------------------------------------------------
//
// ---
afx_msg BOOL PropertyManagerEvent::CommandHelp( long buttonID )
{
  OpenHelp( 1 ); 
  return TRUE;
}


