|
//------------------------------------------------------------------------------
// $Workfile: UndoRedoButton.cpp $
// $Header: $
//
// Copyright � 2008 SbjCat
// All rights reserved.
//
//
// *** Authors ***
// Steve Johnson
//
// $Revision: $
//
//-----------------------------------------------------------------------------
#include "stdafx.h"
#include "UndoRedoButton.h"
#include "UndoRedoMenu.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
namespace localNS
{
CStringList theList;
int nCount = 0;
}
namespace SbjCore
{
namespace Mvc
{
struct UndoRedoButtonImpl
{
UndoRedoButtonImpl()
{
}
virtual ~UndoRedoButtonImpl()
{
}
};
/////////////////////////////////////////////////////////////////
IMPLEMENT_SERIAL(UndoRedoButton, CMFCToolBarMenuButton, 1)
UndoRedoButton::UndoRedoButton() :
m_pImpl(new UndoRedoButtonImpl)
{
}
UndoRedoButton::UndoRedoButton(UINT uiCmdID, LPCTSTR lpszText) :
CMFCToolBarMenuButton (uiCmdID, NULL, -1, lpszText),
m_pImpl(new UndoRedoButtonImpl)
{
}
UndoRedoButton::~UndoRedoButton()
{
try
{
delete m_pImpl;
}
catch(...)
{
ASSERT(FALSE);
}
}
CStringList& UndoRedoButton::GetUndoRedoList()
{
return localNS::theList;
}
void UndoRedoButton::SetUndoRedoList(CStringList& list)
{
localNS::theList.RemoveAll();
localNS::theList.AddTail(&list);
}
int UndoRedoButton::GetCount()
{
return localNS::nCount;
}
void UndoRedoButton::SetCount(int n)
{
localNS::nCount = n;
}
CMFCPopupMenu* UndoRedoButton::CreatePopupMenu ()
{
if (CMFCToolBar::IsCustomizeMode ())
{
return NULL;
}
return new UndoRedoMenu;
}
BOOL UndoRedoButton::IsEmptyMenuAllowed () const
{
return TRUE;
}
// called when button is inserted in toolbar
void UndoRedoButton::OnChangeParentWnd (CWnd* pWndParent)
{
CMFCToolBarMenuButton::OnChangeParentWnd (pWndParent);
m_bDrawDownArrow = TRUE;
}
}
}
//*** Modification History ***
// $Log: $
|
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.