#include "wx/object.h"
#include "wx/list.h"
-class WXDLLEXPORT wxMenu;
+class WXDLLIMPEXP_FWD_CORE wxMenu;
// ----------------------------------------------------------------------------
// wxCommand: a single command capable of performing itself
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxCommand : public wxObject
+class WXDLLIMPEXP_CORE wxCommand : public wxObject
{
public:
wxCommand(bool canUndoIt = false, const wxString& name = wxEmptyString);
- ~wxCommand(){}
+ virtual ~wxCommand(){}
// Override this to perform a command
virtual bool Do() = 0;
// wxCommandProcessor: wxCommand manager
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxCommandProcessor : public wxObject
+class WXDLLIMPEXP_CORE wxCommandProcessor : public wxObject
{
public:
// if max number of commands is -1, it is unlimited
#endif // wxUSE_MENUS
// command list access
- wxList& GetCommands() const { return (wxList&) m_commands; }
+ wxList& GetCommands() { return m_commands; }
+ const wxList& GetCommands() const { return m_commands; }
wxCommand *GetCurrentCommand() const
{
return (wxCommand *)(m_currentCommand ? m_currentCommand->GetData() : NULL);
virtual void ClearCommands();
// Has the current project been changed?
- virtual bool IsDirty() const
- {
- return m_currentCommand && (m_lastSavedCommand != m_currentCommand);
- }
+ virtual bool IsDirty() const;
// Mark the current command as the one where the last save took place
void MarkAsSaved()
private:
DECLARE_DYNAMIC_CLASS(wxCommandProcessor)
- DECLARE_NO_COPY_CLASS(wxCommandProcessor)
+ wxDECLARE_NO_COPY_CLASS(wxCommandProcessor);
};
#endif // _WX_CMDPROC_H_