Context class is Vaca::NonCopyable now.

This commit is contained in:
David Capello 2010-04-10 16:56:26 -03:00
parent 52ed39739c
commit 37e08c1a4a
2 changed files with 22 additions and 21 deletions

View File

@ -20,6 +20,7 @@
#define CONTEXT_H_INCLUDED
#include <list>
#include "Vaca/NonCopyable.h"
#include "ase_exception.h"
#include "settings/settings.h"
@ -37,25 +38,8 @@ public:
: ase_exception("Cannot execute the command because its pre-conditions are false.") { }
};
class Context
class Context : Vaca::NonCopyable
{
// List of all sprites.
SpriteList m_sprites;
// Current selected sprite to operate.
Sprite* m_currentSprite;
// Settings in this context.
ISettings* m_settings;
private:
Context();
Context(const Context&);
protected:
// The "settings" are deleted automatically in the ~Context destructor
Context(ISettings* settings);
public:
virtual ~Context();
@ -83,10 +67,27 @@ public:
protected:
// The "settings" are deleted automatically in the ~Context destructor
Context(ISettings* settings);
virtual void on_add_sprite(Sprite* sprite);
virtual void on_remove_sprite(Sprite* sprite);
virtual void on_set_current_sprite(Sprite* sprite);
private:
// Without default constructor
Context();
// List of all sprites.
SpriteList m_sprites;
// Current selected sprite to operate.
Sprite* m_currentSprite;
// Settings in this context.
ISettings* m_settings;
};
#endif

View File

@ -23,8 +23,6 @@
class UIContext : public Context
{
static UIContext* m_instance;
public:
static UIContext* instance() { return m_instance; }
@ -34,11 +32,13 @@ public:
virtual bool is_ui_available() const { return true; }
protected:
virtual void on_add_sprite(Sprite* sprite);
virtual void on_remove_sprite(Sprite* sprite);
virtual void on_set_current_sprite(Sprite* sprite);
private:
static UIContext* m_instance;
};
#endif