|
//------------------------------------------------------------------------------
// $Workfile: Controller.h $
// $Header: /SbjDev/SbjCore/Controller.h 9 11/12/08 2:22p Steve $
//
// Copyright � 2008 SbjCat
// All rights reserved.
//
//
// *** Authors ***
// Steve Johnson
//
// $Revision: 9 $
//
//-----------------------------------------------------------------------------
#pragma once
#include "MenuUtils.h"
#include "MessageHandler.h"
namespace SbjCore
{
namespace Mvc
{
struct ControllerImpl;
/**
The Controller class provides a base for CmdMsgController and
WndMsgController classes. It's responsible for maintaining the map
of MessageHandler objects. Each MessageHandler is keyed by the message
ID(s) that it handles.
*/
class AFX_EXT_CLASS Controller : public CObject
{
DECLARE_DYNCREATE(Controller)
public:
Controller();
virtual ~Controller();
public:
void Initialize();
public:
void AddHandler(UINT nID, MessageHandler* p);
void AddHandler(UINT nFirstID, UINT nLastID, MessageHandler* p);
void RemoveHandler(UINT nID);
void RemoveHandler(UINT nFirstID, UINT nLastID);
MessageHandler* GetHandler(UINT nID) const;
protected:
virtual void OnInitialize();
private:
struct ControllerImpl* const m_pImpl;
};
}
}
//*** Modification History ***
// $Log: /SbjDev/SbjCore/Controller.h $
//
// 9 11/12/08 2:22p Steve
// Finished Generalization of Model v2.0.1
//
// 8 10/14/08 1:12p Steve
// Implemented Deletes
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Real name is Steve Johnson. Programming since 1979. Started on a Heathkit Micro with a DEC LSI-11 and UCSD Pascal. Moved to PCs & DOS as soon as Turbo Pascal became available. Did some Assembly, ISR, TSR etc. All this while working for a Manufacturing Co. for 8 years. Had my own solo Co. doing barcode labeling software for 4 years (terrible business man, all I wanted to do was code). Since then working for various software companies. Moved to Windows around the time of 3.1 with Borland C then C++. Then on to VC++ and MFC, and just about anything I could get my hands on or had to learn for my job, and been at it ever since. Of course recently I've been playing with .NET, ASP, C#, WPF etc.