|
From: Emilien K. <cur...@us...> - 2005-04-15 15:42:16
|
Update of /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1846/include/wxDevCenter Modified Files: DocView.h Project.h Log Message: Néttoyage. Redirection des évènements passant et non traités par le document au projet si existant. Fonctions d'attache/déttache du document à un projet. Index: Project.h =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter/Project.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Project.h 16 Mar 2005 14:27:36 -0000 1.5 --- Project.h 15 Apr 2005 15:41:36 -0000 1.6 *************** *** 46,50 **** * @warning Les classes de projets doivent impérativement être RTTI-dynamiques et leurs constructeurs ne peuvent prendre aucun paramètre. */ ! class WXDC_DLL_BASE Project : public ManagedObject { DECLARE_DYNAMIC_CLASS(Project); --- 46,50 ---- * @warning Les classes de projets doivent impérativement être RTTI-dynamiques et leurs constructeurs ne peuvent prendre aucun paramètre. */ ! class WXDC_DLL_BASE Project : public wxEvtHandler, public InitializableInterface { DECLARE_DYNAMIC_CLASS(Project); Index: DocView.h =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter/DocView.h,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** DocView.h 12 Apr 2005 12:12:01 -0000 1.13 --- DocView.h 15 Apr 2005 15:41:35 -0000 1.14 *************** *** 72,76 **** class Archive; class ViewFrame; ! // Prédéclaration des classes du fichier entete. --- 72,76 ---- class Archive; class ViewFrame; ! class Project; // Prédéclaration des classes du fichier entete. *************** *** 83,91 **** class WXDC_DLL_BASE MiniDoc; - class DocManager; - class DocTemplate; - - class DocTypeArray; - --- 83,86 ---- *************** *** 212,215 **** --- 207,214 ---- /** Liste dynamique des vues attachées à ce document.*/ ObjectManager<View> m_ViewArray; + + /** Adresse du projet si le document est attaché à un projet.*/ + Project* m_pProject; + /** Le document a-t-il été modifié ?*/ bool m_bIsDocumentModified; *************** *** 222,225 **** --- 221,225 ---- virtual ~Document(void); + /** @name Test de modification du document. @{*/ /** Fixe si le document a été modifié. * A appeler (vrai) si le document subit une modification. *************** *** 228,232 **** /** Le document a-t-il été modifié ?*/ virtual bool GetModifiedFlag()const; ! /** Fixe le chemin du document.*/ void SetDocumentPath(FilePath strPath); --- 228,234 ---- /** Le document a-t-il été modifié ?*/ virtual bool GetModifiedFlag()const; ! /** @} */ ! ! /** @name Acces sur les Données générales. @{ */ /** Fixe le chemin du document.*/ void SetDocumentPath(FilePath strPath); *************** *** 237,240 **** --- 239,245 ---- /** Retourne le chemin vers le fichier du document.*/ FilePath GetDocumentPath()const; + /** @} */ + + /** @name Type de document et vies attachées. @{ */ /** Retourne l'adresse du descripteur de type de document.*/ DocTemplate* GetDocTemplate(){return m_pDocumentTemplate;}; *************** *** 249,254 **** --- 254,263 ---- /** Détache une vue du document.*/ void DetachView(View *pView); + /** @} */ protected: + /** @name Fonction virtuelles de spécialisation du document. + * Se sont les fonctions à dériver pour implémenter la gestion spécifique de la sérialisation des données. + * @{ */ /** Sauvegarde du document. * A dériver pour implémenter la sauvegarde des données. *************** *** 296,299 **** --- 305,331 ---- * @return Retourne false si le document ne peut etre fermé.*/ virtual bool SaveModified(); + /** @} */ + + /** @name Fonctions virtuelles de liaison du document à un projet. @{ */ + /** Prétraitement avant attachement à un projet. + * @param pProject Adresse du nouveau projet. + * @return Faux prévient de l'attachement.*/ + virtual bool CanAttachToProject(Project* pProject); + /** Fonction d'attachement à un projet. + * @param pProject Adresse du nouveau projet. + * @param pathNew Nouveau chemin attribué par le document. Vide si non modifié. + * @return Faux si l'attachement à échoué.*/ + virtual bool OnAttachToProject(Project* pProject, FilePath pathNew); + /** Teste si un document peu être détaché d'un document. + * @return Faux si ne peut détacher le document.*/ + virtual bool CanDetachFromProject(Project* pProject); + /** Fonction de détachement d'un projet. + * @param FilePath pathNew Nouveau chemin du document, vide si non modifié. + * @param Faux si erreur dans le détachement.*/ + virtual bool OnDetachFromProject(FilePath pathNew); + /** @} */ + + /** Surcharge de l'exéction des évènements pour les passer au projet s'il existe.*/ + virtual bool ProcesEvent(wxEvent& event); }; |