|
//------------------------------------------------------------------------------
// $Workfile: XmlDocController.h $
// $Header: /SbjDev/XmlMvc/XmlDocController.h 8 11/24/08 10:33a Steve $
//
// Copyright � 2008 SbjCat All rights reserved.
//
//
// *** Authors ***
// Steve Johnson
//
// $Revision: 8 $
//
//-----------------------------------------------------------------------------
#pragma once
namespace XmlMvc
{
namespace XmlDoc
{
struct ControllerImpl;
class AFX_EXT_CLASS Controller : public SbjCore::Mvc::Doc::Controller
{
DECLARE_DYNCREATE(Controller)
typedef SbjCore::Mvc::Doc::Controller t_Base;
public:
Controller();
virtual ~Controller();
public:
void SetDocElementName(LPCTSTR lpsz);
public: // Doc::Controller
virtual BOOL OnNewDocument();
virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);
virtual void Serialize(CArchive& ar);
private: // Model::Controller
virtual HANDLE OnCreateItem(LPCTSTR lpszItemType);
virtual bool OnInsertChild(
const HANDLE hChild,
const HANDLE hParent,
const HANDLE hAfter);
virtual bool OnRemoveChild(const HANDLE hChild);
virtual bool OnSetItemAttrValue(
const HANDLE hItem,
const CString& sAttrName,
const _variant_t& val);
virtual _variant_t OnGetItemAttrValue(
const HANDLE hItem,
const CString& sAttrName) const;
virtual CString OnAssureUniqueItemAttrValue(
const HANDLE hItem,
const CString& sAttrName,
const _variant_t& val) const;
virtual CString OnGetItemTypeName(HANDLE hItem) const;
virtual HANDLE OnGetParentItem(const HANDLE hItem) const;
virtual int OnGetItemChildren(HANDLE hItem, SbjCore::Mvc::Model::ItemHandles& items) const;
virtual int OnGetItemAttrNames(HANDLE hItem, SbjCore::Mvc::Model::ItemAttrNames& attrNames) const;
private:
struct ControllerImpl* const m_pImpl;
};
}
}
//*** Modification History ***
// $Log: /SbjDev/XmlMvc/XmlDocController.h $
//
// 8 11/24/08 10:33a Steve
// Final changes before MVCChapt1 v2.0.1
//
// 7 11/12/08 2:22p Steve
// Finished Generalization of Model v2.0.1
//
// 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.