|
From: Emilien K. <cur...@us...> - 2005-01-15 09:47:34
|
Update of /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13814/include/wxDevCenter Modified Files: DocManager.h DocView.h Log Message: Quelques changements dans les mecanismes internes de l'architecture doc/vue. Fin de l'implementation des fonctions de l'archi doc/vue. Index: DocView.h =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter/DocView.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** DocView.h 14 Jan 2005 14:34:58 -0000 1.4 --- DocView.h 15 Jan 2005 09:47:22 -0000 1.5 *************** *** 147,166 **** /** Processus post-création. ! * Fonction à dériver pour implémenter la création de fenêtres filles. ! * En effet, comme les vues sont crées via la RTTI, on ne peut créer de fenêtres filles dans le constructeurs, donc il faut le faire ici. ! * @return Vrai si la Post-création s'est correctement déroulée.*/ virtual bool OnCreate(); /** Première mise à jour de la vue. ! * Mise à jour initiale de la vue. Utile pour initialiser la première fois des paramètres ou des objets de dessin (police, pinceau ...). ! * La fonction de base appelle un OnUpdate(NULL, 0, NULL).*/ virtual void OnInitialUpdate(); /** Mise à jour de la vue. ! * Fonction appelée à chaque fois qu'il y a une demande de mise à jour de la vue à cause d'une modification potentielle des données. ! * Ne pas confondre avec le rafraichissement de l'affichage de la vue. ! * @param pSender Vue ayant modifiée les données. NULL si la mise à jour est provoquée par le document lui-même. ! * @param nUpdateCode Identifiant permettant de savoir ce qui a été changé (propre à chaque type de document). ! * @param pUpdateInfo Pointeur vers une classe ou une structure précisant les modifications apportées (propre à chaque type de document). ! * @see Document::UpdateAllViews*/ virtual void OnUpdate(View *pSender, unsigned int nUpdateCode, void* pUpdateInfo); }; --- 147,171 ---- /** Processus post-création. ! * Fonction à dériver pour implémenter la création de fenêtres filles. ! * En effet, comme les vues sont crées via la RTTI, on ne peut créer de fenêtres filles dans le constructeurs, donc il faut le faire ici. ! * @return Vrai si la Post-création s'est correctement déroulée.*/ virtual bool OnCreate(); /** Première mise à jour de la vue. ! * Mise à jour initiale de la vue. Utile pour initialiser la première fois des paramètres ou des objets de dessin (police, pinceau ...). ! * La fonction de base appelle un OnUpdate(NULL, 0, NULL).*/ virtual void OnInitialUpdate(); /** Mise à jour de la vue. ! * Fonction appelée à chaque fois qu'il y a une demande de mise à jour de la vue à cause d'une modification potentielle des données. ! * Ne pas confondre avec le rafraichissement de l'affichage de la vue. ! * @param pSender Vue ayant modifiée les données. NULL si la mise à jour est provoquée par le document lui-même. ! * @param nUpdateCode Identifiant permettant de savoir ce qui a été changé (propre à chaque type de document). ! * @param pUpdateInfo Pointeur vers une classe ou une structure précisant les modifications apportées (propre à chaque type de document). ! * @see Document::UpdateAllViews*/ virtual void OnUpdate(View *pSender, unsigned int nUpdateCode, void* pUpdateInfo); + /** Processus pre-fermeture. + * Fonction virtuelle appelée juste avant la fermeture de la vue. + * La fonction de base ne fait rien. + */ + virtual void OnClose(); }; *************** *** 173,178 **** /** Interface "document" (classe de base). ! * Classe Interface de document à dériver pour créer des documents spécifiques. ! */ class WXDC_DLL_BASE Document : public wxObject { --- 178,183 ---- /** Interface "document" (classe de base). ! * Classe Interface de document à dériver pour créer des documents spécifiques. ! */ class WXDC_DLL_BASE Document : public wxObject { *************** *** 233,273 **** protected: /** Sauvegarde du document. ! * A dériver pour implémenter la sauvegarde des données. ! * Note : la fonction de base procède à la sérialisation via la fonction SerializeDocument ! * @param ar Archive dans laquelle sauvegarder le document.*/ virtual bool SaveDocument(Archive *ar); /** Lecture du document. ! * A dériver pour implémenter la lecture des documents. ! * Note : la fonction de base procède à la sérialisation via la fonction SerializeDocument ! * @param ar Archive depuis laquelle lire le document.*/ virtual bool LoadDocument(Archive *ar); /** Sérialisation du document. ! * La sérialisation est le processus de lecture/sauvegarde parallèle du document. ! * C'est à dire si la lecture suit le même chemin que l'écriture. ! * @param ar Archive dans laquelle sérialiser le document.*/ virtual bool SerializeDocument(Archive *ar); /** Initialisation du document en cas de création. ! * Initialise le document après sa création depuis une commande "nouveau document". ! * A dériver pour l'initialisation des données du document. ! * @return Retourne false si l'initialisation a échouée.*/ virtual bool OnNewDocument(); /** Prétraitement du document avant lecture des données depuis une archive. ! * A dériver pour initialiser les données du document. ! * Note : la fonction de base fixe le nom et le chemin du document et procède à la lecture de celui-ci via LoadDocument ! * @return Retourne false si l'initialisation du document a échouée.*/ virtual bool OnOpenDocument(FilePath strDocumentPath); /** Prétraitement du document avant écriture des données dans une archive. ! * A dériver pour sauvegarder les données du document dans le fichier. ! * Note : la fonction de base force enregistre les données depuis le fichier spécifié via la fonction SaveDocument modifie le drapeau de modification. ! * @return Retourne false si l'enregistrement du document a échouée.*/ virtual bool OnSaveDocument(FilePath strDocumentPath); /** Teste si le document peut être fermé. ! * Retourner false entraine l'annulation de la fermeture de la vue. ! * @return Retourne false si le document ne doit pas etre fermé.*/ virtual bool CanCloseDocument(); /** Sauvegarde les modifications apportées au document. ! * Note : la fonction de base appelle OnSaveDocument ! * @return Retourne false si le document ne peut etre fermé.*/ virtual bool SaveModified(); }; --- 238,284 ---- protected: /** Sauvegarde du document. ! * A dériver pour implémenter la sauvegarde des données. ! * Note : la fonction de base procède à la sérialisation via la fonction SerializeDocument ! * @param ar Archive dans laquelle sauvegarder le document.*/ virtual bool SaveDocument(Archive *ar); /** Lecture du document. ! * A dériver pour implémenter la lecture des documents. ! * Note : la fonction de base procède à la sérialisation via la fonction SerializeDocument ! * @param ar Archive depuis laquelle lire le document.*/ virtual bool LoadDocument(Archive *ar); /** Sérialisation du document. ! * La sérialisation est le processus de lecture/sauvegarde parallèle du document. ! * C'est à dire si la lecture suit le même chemin que l'écriture. ! * @param ar Archive dans laquelle sérialiser le document.*/ virtual bool SerializeDocument(Archive *ar); /** Initialisation du document en cas de création. ! * Initialise le document après sa création depuis une commande "nouveau document". ! * A dériver pour l'initialisation des données du document. ! * @return Retourne false si l'initialisation a échouée.*/ virtual bool OnNewDocument(); /** Prétraitement du document avant lecture des données depuis une archive. ! * A dériver pour initialiser les données du document. ! * Note : la fonction de base fixe le nom et le chemin du document et procède à la lecture de celui-ci via LoadDocument ! * @return Retourne false si l'initialisation du document a échouée.*/ virtual bool OnOpenDocument(FilePath strDocumentPath); /** Prétraitement du document avant écriture des données dans une archive. ! * A dériver pour sauvegarder les données du document dans le fichier. ! * Note : la fonction de base force enregistre les données depuis le fichier spécifié via la fonction SaveDocument modifie le drapeau de modification. ! * @return Retourne false si l'enregistrement du document a échouée.*/ virtual bool OnSaveDocument(FilePath strDocumentPath); /** Teste si le document peut être fermé. ! * Retourner false entraine l'annulation de la fermeture de la vue. ! * @return Retourne false si le document ne doit pas etre fermé.*/ virtual bool CanCloseDocument(); + /** Prétraitement du document avant fermeture. + * Fonction prévue pour libérer des ressources avant fermeture. + * La fonction par défaut ne fait rien. + * @return False si une erreur de fermeture s'est produite. Ignorée pour l'instant. + */ + virtual bool OnCloseDocument(); /** Sauvegarde les modifications apportées au document. ! * Note : la fonction de base appelle OnSaveDocument ! * @return Retourne false si le document ne peut etre fermé.*/ virtual bool SaveModified(); }; Index: DocManager.h =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter/DocManager.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** DocManager.h 12 Jan 2005 13:50:54 -0000 1.4 --- DocManager.h 15 Jan 2005 09:47:21 -0000 1.5 *************** *** 265,272 **** /** Tableau des associations ISs <=> Bundles d'icones.*/ IconBundleArray m_arIconBundle; - public: /** @name Manipulation des documents. * @{*/ /** Nombre de documents.*/ unsigned int GetDocCount()const{return m_DocArray.GetCount();} --- 265,272 ---- /** Tableau des associations ISs <=> Bundles d'icones.*/ IconBundleArray m_arIconBundle; /** @name Manipulation des documents. * @{*/ + public: /** Nombre de documents.*/ unsigned int GetDocCount()const{return m_DocArray.GetCount();} *************** *** 298,301 **** --- 298,306 ---- /** Sauvegarde les données modifiées du documents.*/ bool SaveDocument(Document *pDoc); + protected: + /** Supprime le document spécifié. + * Le document est supposé libre de vue et sauevgardé si besoin est. + * Aucune vérification ne sera effectuée.*/ + void DeleteDocument(Document* pDocument); /** @}*/ *************** *** 303,306 **** --- 308,312 ---- /** @name Manipulation des patrons de documents. * @{*/ + public: /** Nombre de patrons de documents.*/ unsigned int GetDocTemplateCount()const{return m_DocTemplateArray.GetCount();} |