|
//------------------------------------------------------------------------------
// $Workfile: DesignViewController.h $
// $Header: /SbjDev/SbjCore/DesignViewController.h 8 11/12/08 2:22p Steve $
//
// Copyright � 2008 SbjCat
// All rights reserved.
//
//
// *** Authors ***
// Steve Johnson
//
// $Revision: 8 $
//
//-----------------------------------------------------------------------------
#pragma once
#include "WndController.h"
namespace SbjCore
{
namespace Mvc
{
namespace Model
{
class Controller;
}
class MultiRectTracker;
namespace DesignView
{
class Item;
struct ControllerImpl;
class AFX_EXT_CLASS Controller : public WndController
{
DECLARE_DYNCREATE(Controller)
public:
Controller();
virtual ~Controller();
public:
void MapItemRTCToModelTypeName(LPCTSTR lpszName, CRuntimeClass* pRTC);
Item* CreateItem(const SbjCore::Mvc::Model::Controller* pModelCtrlr, HANDLE hModelItem);
void LoadDesign(const SbjCore::Mvc::Model::Controller* pModelCtrlr, HANDLE hItem);
void InsertDesign(const SbjCore::Mvc::Model::Controller* pModelCtrlr, HANDLE hItem, HANDLE hAfter = NULL);
virtual void DeleteItem(Item* pItem);
void DeleteAllItems();
Item* GetItem(const HANDLE hItem) const;
Item* GetItemFromPoint(const CPoint& pt) const;
SbjCore::Mvc::MultiRectTracker* GetTracker() const;
public:
void Draw(CDC* pDC);
protected:
virtual SbjCore::Utils::Menu::ItemRange OnPrepareCtxMenu(CMenu& ctxMenu);
virtual void OnInitialize();
private:
virtual void OnDraw(CDC* pDC);
private:
struct ControllerImpl* const m_pImpl;
};
}
}
}
//*** Modification History ***
// $Log: /SbjDev/SbjCore/DesignViewController.h $
//
// 8 11/12/08 2:22p Steve
// Finished Generalization of Model v2.0.1
//
// 7 10/26/08 9:19a Steve
//
// 6 10/24/08 9:03a Steve
//
// 5 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.