|
From: Emilien K. <cur...@us...> - 2005-04-01 20:52:31
|
Update of /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14328/include/wxDevCenter Modified Files: DocView.h Log Message: Make ActionDocument use wxCommandProcessor/wxCommand interface. Index: DocView.h =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter/DocView.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** DocView.h 30 Mar 2005 20:12:13 -0000 1.9 --- DocView.h 1 Apr 2005 20:52:21 -0000 1.10 *************** *** 56,59 **** --- 56,60 ---- #include <wx/hashmap.h> #include <wx/dynarray.h> + #include <wx/cmdproc.h> #include <wxDevCenter/Manager.h> *************** *** 673,734 **** - - - /** Interface de description d'une action utilisateur. - * Classe interface decrivant une action utilisateur pouvant être annulée par une commande "Undo" - * et fournissant toutes les données pour permettre au document de revenir à l'état d'avant l'action. - */ - class WXDC_DLL_BASE Action : public wxObject - { - protected: - /** Code de référence du type d'action.*/ - unsigned int m_nCode; - public: - Action(unsigned int nCode); - /** Retourne le code de l'action.*/ - inline unsigned int GetCode()const{return m_nCode;} - /** Fixe le code de l'action.*/ - inline void SetCode(unsigned int nCode){m_nCode=nCode;} - }; - - /** Interface "document" implémentant des actions. ! * Interfaces pour les documents implémentants des actions et une pile d'actions pour le retour arrière "Undo". ! */ ! class WXDC_DLL_BASE ActionDocument : public Document { /** Déclaration de classe dynamique. Déclare la classe comme pouvant être crée dynamiquement depuis ses infos RTTI de caractère.*/ DECLARE_DYNAMIC_CLASS(wxDevCenter::ActionDocument); - protected: - /** Définit le type tableau dynamique d'actions ActionArray.*/ - WX_DEFINE_USER_EXPORTED_ARRAY(Action*, ActionArray, class WXDC_DLL_BASE); - /** Tableau dynamique des actions.*/ - ActionArray m_ActionArray; - /** Taille maximale pour le tableau dynamique des fonctions.*/ - int m_iActionArrayMaxSize; public: ! ActionDocument(); virtual ~ActionDocument(); ! /** Fixe le nombre maximum d'annulation d'action possible. ! * Fixe la taille du tableau des dernières actions effectuées.*/ ! void SetUndoListSize(int iSize); ! /** Retourne le nombre maximum d'annulation d'action possible. ! * Retourne la taille du tableau des dernières actions effectuées.*/ ! int GetUndoListSize()const{return m_iActionArrayMaxSize;} ! /** Retourne le nombre d'annulations d'actions possibles. ! * Retourne le nombre d'actions contenues dans le tableau des dernières actions effectuées.*/ ! int GetUndoActionCount()const{return m_ActionArray.GetCount();} ! /** Annule la dernière action effectuée. ! * Restore l'état du document d'avant la dernière action. ! * La fonction de base supprime l'action de la liste mais ne rafraichit pas les vues attachées.*/ ! virtual void Undo(); ! protected: ! /** Retourne la dernière action effectuée si il y en a une.*/ ! Action* GetUndoAction(){return m_ActionArray.GetCount()==0?NULL:m_ActionArray[m_ActionArray.GetCount()-1];}// Retourne la dernière action. ! /** Ajoute une action. ! * Ajoute une action à la liste des dernières actions. ! * La fonction de base ne fait qu'ajouter l'action à la liste mais n'exécute pas cette action ni ne rafraichis les vues attachées.*/ ! void AddAction(Action *pAction); }; --- 674,689 ---- /** Interface "document" implémentant des actions. ! * Les actions sont des objets de classes dérivées de wxCommand décrivant les données nécessaires à effectuer l'action et la l'annuler. ! */ ! class WXDC_DLL_BASE ActionDocument : public Document, public wxCommandProcessor { /** Déclaration de classe dynamique. Déclare la classe comme pouvant être crée dynamiquement depuis ses infos RTTI de caractère.*/ DECLARE_DYNAMIC_CLASS(wxDevCenter::ActionDocument); public: ! ActionDocument(int maxCommands = -1); virtual ~ActionDocument(); ! }; |