//------------------------------------------------------------------------------
// $Workfile: ModelEvents.h $
// $Header: /SbjDev/SbjCore/ModelEvents.h 5 11/24/08 10:33a Steve $
//
// Copyright � 2008 SbjCat
// All rights reserved.
//
//
// *** Authors ***
// Steve Johnson
//
// $Revision: 5 $
//
//-----------------------------------------------------------------------------
#pragma once
#include "EventMgr.h"
#include "ModelTypeDefs.h"
#include "ModelDataTypes.h"
#include "ModelController.h"
namespace SbjCore
{
namespace Mvc
{
namespace Model
{
namespace Events
{
DECLARE_EVENT_ID(EVID_ITEM_INSERTING, {7086D497-62D3-4777-8046-E8826A5DD5D8})
DECLARE_EVENT_ID(EVID_ITEM_INSERTED, {2575CFC9-8D3E-4DAA-AB17-13C0A2B48A5C})
struct ItemInsert : public SbjCore::EventMgr::Event
{
const Model::Controller* pCtrlr;
const HANDLE hChild;
const HANDLE hParent;
const HANDLE hAfter;
ItemInsert(
UINT nEventID,
const Model::Controller* p,
const HANDLE hC,
const HANDLE hP,
const HANDLE hA) :
Event(nEventID, false),
pCtrlr(p),
hChild(hC),
hParent(hP),
hAfter(hA)
{
NotifyHandlers();
}
};
DECLARE_EVENT_ID(EVID_ITEM_REMOVING, {95046F9A-5C2F-4eaf-AFA6-58A2FD635FEC})
DECLARE_EVENT_ID(EVID_ITEM_REMOVED, {8FC4299B-24C3-44F0-B4B0-45403E052A77})
struct ItemRemove : public SbjCore::EventMgr::Event
{
const Model::Controller* pCtrlr;
const HANDLE hItem;
ItemRemove(
UINT nEventID,
const Model::Controller* p,
const HANDLE& h) :
Event(nEventID, false),
pCtrlr(p),
hItem(h)
{
NotifyHandlers();
}
};
DECLARE_EVENT_ID(EVID_ITEM_CHANGING, {CD35CCED-3765-4ae0-B795-04B41FC32044})
DECLARE_EVENT_ID(EVID_ITEM_CHANGED, {1D1829DC-3C63-4E4A-876D-5F7EC45A8B8E})
struct ItemChange : public SbjCore::EventMgr::Event
{
const Model::Controller* pCtrlr;
const HANDLE hItem;
const CString sAttrName;
ItemChange(
UINT nEventID,
const Model::Controller* p,
const HANDLE h,
const CString a) :
Event(nEventID, false),
pCtrlr(p),
hItem(h),
sAttrName(a)
{
NotifyHandlers();
}
};
DECLARE_EVENT_ID(EVID_SELITEM_CHANGED, {799A7BD9-B1BD-41cb-AFA9-7FA401D1AE77})
struct SelItemsChanged : public SbjCore::EventMgr::Event
{
const Model::Controller* pCtrlr;
const Model::ItemHandles selItems;
SelItemsChanged(const Model::Controller* p,
const Model::ItemHandles& sel) :
Event(EVID_SELITEM_CHANGED, false),
pCtrlr(p),
selItems(sel)
{
NotifyHandlers();
}
};
}
}
}
}
//*** Modification History ***
// $Log: /SbjDev/SbjCore/ModelEvents.h $
//
// 5 11/24/08 10:33a Steve
// Final changes before MVCChapt1 v2.0.1
//
// 4 11/12/08 2:22p Steve
// Finished Generalization of Model v2.0.1
//
// 3 10/26/08 9:19a Steve
//
// 2 10/24/08 9:03a Steve