|
From: Emilien K. <cur...@us...> - 2005-08-02 12:51:08
|
Update of /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23161/include/wxDevCenter Modified Files: DocView.h Element.h FileSystem.h Frame.h Manager.h WorkBar.h setup.h Log Message: Passage à la nouvelle architecture basée sur la classe Element. Index: Manager.h =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter/Manager.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Manager.h 14 May 2005 12:15:54 -0000 1.4 --- Manager.h 2 Aug 2005 12:50:54 -0000 1.5 *************** *** 210,244 **** - /** Classe de base de gestionnaire d'objets initialisables. - * Gestion d'objets enregistrés. - * @ref Gestionnaires - */ - template<class ItemType> - class WXDC_DLL_BASE ElementManager : public ObjectManager<ItemType>, public Element - { - public: - /** Constructeur.*/ - ElementManager():ObjectManager<ItemType>(),Element(){} - /** @name Surcharge des fonctions de manipulations. - * @{ */ - /** Enregistrement d'un objet. - * @param pObj Adresse de l'objet. - * @return Vrai si correctement enregistré.*/ - bool Register(ItemType* pObj){return ObjectManager<ItemType>::Register(pObj);} - /** Enregistrement d'un objet. - * @param Obj Objet à enregistrer. - * @return Vrai si correctement enregistré.*/ - bool Register(ItemType& Obj){return ObjectManager<ItemType>::Register(Obj);} - /** Désenregistrement d'un objet. - * @param pObj Adresse de l'objet. - * @return Faux si l'objet n'a pa été désenregistré.*/ - bool Unregister(ItemType* pObj){return ObjectManager<ItemType>::Unregister(pObj);} - /** Désenregistrement d'un objet. - * @param Index Index de l'objet à supprimer.*/ - void Unregister(unsigned int Index){Item(Index).Finalize();ObjectManager<ItemType>::Unregister(Index);} - /** @} */ - }; - - /** Patron d'objet manageable. --- 210,213 ---- *************** *** 267,279 **** * Alloue et initialise l'objet. * @return Adresse de l'objet (NULL si problème d'initialisation).*/ ! ObjectType* CreateObject() { ObjectType* pObj =(ObjectType*) (m_pClassInfo->CreateObject()); - if(pObj!=NULL) - if(!pObj->Initialize()) - { - delete pObj; - pObj = NULL; - } return pObj; } --- 236,242 ---- * Alloue et initialise l'objet. * @return Adresse de l'objet (NULL si problème d'initialisation).*/ ! virtual ObjectType* CreateObject() { ObjectType* pObj =(ObjectType*) (m_pClassInfo->CreateObject()); return pObj; } *************** *** 294,298 **** */ template<class ObjectType, class Template=ObjectTemplate<ObjectType> > ! class WXDC_DLL_BASE TemplateManager : private ElementManager<Template> { public: --- 257,261 ---- */ template<class ObjectType, class Template=ObjectTemplate<ObjectType> > ! class WXDC_DLL_BASE TemplateManager : public Element, private ObjectManager<Template> { public: *************** *** 301,332 **** /** Retourne le nombre de patrons enregistrés. * @return Nombre de patrons enregistrés.*/ ! unsigned int GetTemplateCount()const{return ElementManager<Template>::GetCount();} /** Recherche d'un patron. * @param pTemplate Adresse du patron à rechercher. * @return Index du patron ou -1 si non trouvé.*/ ! int FindTemplate(const Template* pTemplate)const{return ElementManager<Template>::Find(pTemplate);} /** Accès à un patron. * @param nIndex Index du patron. * @return Référence du patron.*/ ! Template& GetTemplate(unsigned int nIndex){return ElementManager<Template>::Item(nIndex);} /** Accès constant à un patron. * @param nIndex Index du patron. * @return Référence du patron.*/ ! const Template& GetTemplate(unsigned int nIndex)const{return ElementManager<Template>::Item(nIndex);} /** Enregistrement d'un patron. * @param pTemplate Adresse du patron. * @return Vrai si correctement enregistré.*/ ! bool RegisterTemplate(Template* pTemplate){return ElementManager<Template>::Register(pTemplate);} /** Enregistrement d'un patron. * @param Templ Patron à enregistrer. * @return Vrai si correctement enregistré.*/ ! bool RegisterTemplate(Template& Templ){return ElementManager<Template>::Register(Templ);} /** Désenregistrement d'un patron. * @param pTempl Adresse du patron. * @return Faux si le patron n'a pa été désenregistré.*/ ! bool UnregisterTemplate(Template* pTempl){return ElementManager<Template>::Unregister(pTempl);} /** Désenregistrement d'un patron. * @param Index Index du patron à supprimer.*/ ! void UnregisterTemplate(unsigned int Index){ElementManager<Template>::Unregister(Index);} /** @} */ --- 264,295 ---- /** Retourne le nombre de patrons enregistrés. * @return Nombre de patrons enregistrés.*/ ! unsigned int GetTemplateCount()const{return ObjectManager<Template>::GetCount();} /** Recherche d'un patron. * @param pTemplate Adresse du patron à rechercher. * @return Index du patron ou -1 si non trouvé.*/ ! int FindTemplate(const Template* pTemplate)const{return ObjectManager<Template>::Find(pTemplate);} /** Accès à un patron. * @param nIndex Index du patron. * @return Référence du patron.*/ ! Template& GetTemplate(unsigned int nIndex){return ObjectManager<Template>::Item(nIndex);} /** Accès constant à un patron. * @param nIndex Index du patron. * @return Référence du patron.*/ ! const Template& GetTemplate(unsigned int nIndex)const{return ObjectManager<Template>::Item(nIndex);} /** Enregistrement d'un patron. * @param pTemplate Adresse du patron. * @return Vrai si correctement enregistré.*/ ! bool RegisterTemplate(Template* pTemplate){return ObjectManager<Template>::Register(pTemplate);} /** Enregistrement d'un patron. * @param Templ Patron à enregistrer. * @return Vrai si correctement enregistré.*/ ! bool RegisterTemplate(Template& Templ){return ObjectManager<Template>::Register(Templ);} /** Désenregistrement d'un patron. * @param pTempl Adresse du patron. * @return Faux si le patron n'a pa été désenregistré.*/ ! bool UnregisterTemplate(Template* pTempl){return ObjectManager<Template>::Unregister(pTempl);} /** Désenregistrement d'un patron. * @param Index Index du patron à supprimer.*/ ! void UnregisterTemplate(unsigned int Index){ObjectManager<Template>::Unregister(Index);} /** @} */ *************** *** 339,352 **** virtual ObjectType* CreateObjectFromTemplate(unsigned int Index){return GetTemplate(Index).CreateObject();} /** @} */ - - /** @name Initialisation et finalisation. - * @{ */ - /** Initialise l'objet. - * Si l'initialisation rend faux alors l'objet ne sera pas enregistré. - * @return Status d'initialisation.*/ - virtual bool Initialize(){return ElementManager<Template>::Initialize();} - /** Finalise l'objet.*/ - virtual void Finalize(){ElementManager<Template>::Finalize();} - /** @} */ }; --- 302,305 ---- *************** *** 394,398 **** private: /** Gestionnaire interne des objets créés depuis les patrons.*/ ! ElementManager<ObjectType> m_ObjectManager; protected: /** Création d'un objet depuis un patron enregistré. --- 347,351 ---- private: /** Gestionnaire interne des objets créés depuis les patrons.*/ ! ObjectManager<ObjectType> m_ObjectManager; protected: /** Création d'un objet depuis un patron enregistré. *************** *** 443,449 **** * Si l'initialisation rend faux alors l'objet ne sera pas enregistré. * @return Status d'initialisation.*/ ! virtual bool Initialize(){return TemplateManager<ObjectType, Template>::Initialize() && m_ObjectManager.Initialize();} /** Finalise l'objet.*/ ! virtual void Finalize(){m_ObjectManager.Finalize(); TemplateManager<ObjectType, Template>::Finalize();} /** @} */ }; --- 396,402 ---- * Si l'initialisation rend faux alors l'objet ne sera pas enregistré. * @return Status d'initialisation.*/ ! virtual bool Initialize(){return TemplateManager<ObjectType, Template>::Initialize();} /** Finalise l'objet.*/ ! virtual void Finalize(){TemplateManager<ObjectType, Template>::Finalize();} /** @} */ }; *************** *** 459,463 **** private: /** Gestionnaire interne des objets créés depuis les patrons.*/ ! ElementManager<ObjectType> m_ObjectManager; public: /** Constructeur.*/ --- 412,416 ---- private: /** Gestionnaire interne des objets créés depuis les patrons.*/ ! ObjectManager<ObjectType> m_ObjectManager; public: /** Constructeur.*/ Index: Element.h =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter/Element.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Element.h 14 May 2005 12:15:55 -0000 1.1 --- Element.h 2 Aug 2005 12:50:54 -0000 1.2 *************** *** 23,28 **** // 02111-1307, USA. ! /** @page Eléments. ! * @todo Page d'explication des éléments. */ --- 23,81 ---- // 02111-1307, USA. ! /** @page Elements Eléments. ! * Dans le cadre de la nouvelle architecture de plugins, ! * il était nécessaire d'avoir une base commune pour tous les objets contenus dans lesdis plugins. ! * C'est le rôle des éléments. ! * ! * L'idée est de faire dériver tout élément de plugin de wxDevCenter::Element pour pouvoir utiliser ! * un système de recencement, d'initialisation/finalisation et de gestion dé dépendances. ! * ! * @section Element_Interface L'interface des éléments. ! * L'interface de wxDevCenter::Element fournis 4 fonctions virtuelles permettant de les gérer correctement: ! * - bool wxDevCenter::Element::Initialize() qui permet d'initialiser un plugin. ! * - void wxDevCenter::Element::Finalize() qui permet de finaliser un plugin. ! * - bool wxDevCenter::Element::Destroy(bool) qui permet de détruire l'élément. ! * - bool wxDevCenter::Element::CanDestroy() qui permet de demander à un élément si il peut être détruit (sans perte de donnée). ! * La destruction d'un élément doit obligatoirement être faite par wxDevCenter::Element::Destroy car appeler uniquement le destructeur peut faire sauter certaines étapes de désenregistrement. ! * ! * @section Element_Life Vie d'un élément. ! * L'interface vue ci-dessus permet de considérer la vie d'un élément comme suit : ! * - Allocation ! * - Construction ! * - Initialisation ! * - Exploitation de l'élément ! * - Test de possibilité de suppression ! * - Finalisation ! * - Destruction ! * ! * @subsection Construction Construction ! * Lors de la construction, il est obligatoire d'appeler le constructeur par défaut wxDevCenter::Element::Element car c'est lui qui permet d'inscrire l'élément dans le système. ! * ! * @subsection Initialisation Initialisation ! * @par ! * L'initialisation est la phase dédiée à la gestion des dépendances pour l'élément. ! * En effet, celui-ci devra profiter de cette étape pour créer et initialiser les éléments dont il a besoin. ! * @par ! * De plus, C'est la phase où l'élément s'enregistre dans les gestionnaires. La plupart du temps, un objet n'est pas @em standalone, mais relié à un gestionnaire (wxDevCenter::ElementManager ou autre). ! * @par ! * Si une erreur se produit lors de l'initialisation, la fonction d'initialisation peut retourner faux si elle juge que ce problème est blocant pour l'application. ! * ! * @subsection Finalisation Finalisation ! * La finalisation est le pendant de l'initialisation mais pour la fin de vie de l'élément. ! * C'est dans cette fonction que les éléments liés doivent être récursivement finalisés. ! * Ainsi que l'élément doit être désenregistré des divers gestionnaires où il a été inscrit. ! * ! * @subsection Test Test de possibilité de destruction ! * La fonction de test de possibilité de destruction sert à faire tous les test pour savoir si le système peut détruire l'élément sans perte de donnée. ! * Cette fonction sert à déterminer si une opération de destruction doit être arrétée ou non. ! * ! * @subsection Destruction Destruction ! * @par ! * La fonction de destruction permet de réellement détruire l'objet. ! * Elle permet la destruction des éléments dépendants. ! * Si le paramètre de force n'est pas activé, la fonction peut décider de ne pas détruire l'objet et de retourner faux, ceci dans la logique du test de destruction. ! * @par ! * La fonction de base appelle le destructeur. Elle doit être appelée mais en dernier. ! * */ *************** *** 96,100 **** * Cette fonction sert à tester si l'élément peut être détruit sans en être forcé. * @ return Vrai si l'élément peut être supprimé sans le forcer.*/ ! virtual bool CanDestroy()const; }; --- 149,153 ---- * Cette fonction sert à tester si l'élément peut être détruit sans en être forcé. * @ return Vrai si l'élément peut être supprimé sans le forcer.*/ ! virtual bool CanDestroy(); }; Index: setup.h =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter/setup.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** setup.h 14 May 2005 12:15:55 -0000 1.5 --- setup.h 2 Aug 2005 12:50:54 -0000 1.6 *************** *** 66,69 **** --- 66,70 ---- //#endif + #define wxIMPLEMENT_CLASS_COMMON0(name, func) \ wxClassInfo name::ms_classInfo(wxT(#name), \ Index: WorkBar.h =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter/WorkBar.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** WorkBar.h 14 May 2005 12:15:55 -0000 1.6 --- WorkBar.h 2 Aug 2005 12:50:54 -0000 1.7 *************** *** 89,93 **** virtual void Finalize(); virtual bool Destroy(bool bForce=true); ! virtual bool CanDestroy()const; /** @} */ }; --- 89,93 ---- virtual void Finalize(); virtual bool Destroy(bool bForce=true); ! virtual bool CanDestroy(); /** @} */ }; *************** *** 109,113 **** virtual void Finalize(); virtual bool Destroy(bool bForce=true); ! virtual bool CanDestroy()const; /** @} */ }; --- 109,113 ---- virtual void Finalize(); virtual bool Destroy(bool bForce=true); ! virtual bool CanDestroy(); /** @} */ }; Index: Frame.h =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter/Frame.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Frame.h 14 May 2005 12:15:54 -0000 1.9 --- Frame.h 2 Aug 2005 12:50:54 -0000 1.10 *************** *** 238,242 **** virtual void OnViewChanging(View *pOldView=NULL, View *pNewView=NULL); virtual void OnViewChanged(View *pNewView=NULL, View *pOldView=NULL); - virtual void RemoveView(View *pView)=0; public: virtual void ScrollToView(View *pView)=0; --- 238,241 ---- *************** *** 250,253 **** --- 249,254 ---- /** Teste si les évènements peuvent être redirigés vers les vues.*/ virtual bool CanProcessEventFromParent(){return false;} + + virtual void RemoveView(View *pView)=0; }; Index: DocView.h =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter/DocView.h,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** DocView.h 14 May 2005 12:15:54 -0000 1.15 --- DocView.h 2 Aug 2005 12:50:54 -0000 1.16 *************** *** 152,155 **** --- 152,166 ---- virtual ~View(void); + + /** @name Fonctions d'interface d'élément. + * @{ */ + virtual bool Initialize(); + virtual void Finalize(); + virtual bool Destroy(bool bForce=true); + virtual bool CanDestroy(); + /** @ */ + + + /** Fixe le texte du status de la vue.*/ void SetStatusText(wxString strText); *************** *** 243,247 **** /** @} */ ! /** @name Type de document et vies attachées. @{ */ /** Retourne l'adresse du descripteur de type de document.*/ DocTemplate* GetDocTemplate(){return m_pDocumentTemplate;}; --- 254,258 ---- /** @} */ ! /** @name Type de document et vues attachées. @{ */ /** Retourne l'adresse du descripteur de type de document.*/ DocTemplate* GetDocTemplate(){return m_pDocumentTemplate;}; *************** *** 252,261 **** * @param pUpdateInfo Pointeur vers une structure (ou classe) ayant des précisions sur les modifications.*/ void UpdateAllViews(View *pSender, unsigned int nUpdateCode=0, void* pUpdateInfo=NULL); ! /** Attache une vue au document.*/ ! void AttachView(View *pView); ! /** Détache une vue du document.*/ ! void DetachView(View *pView); /** @} */ protected: /** @name Fonction virtuelles de spécialisation du document. --- 263,285 ---- * @param pUpdateInfo Pointeur vers une structure (ou classe) ayant des précisions sur les modifications.*/ void UpdateAllViews(View *pSender, unsigned int nUpdateCode=0, void* pUpdateInfo=NULL); ! ! /** Enregistre une vue au document. ! * @param pView Adresse de la vue.*/ ! bool RegisterView(View *pView){return m_ViewArray.Register(pView);} ! /** Désenregistre une vue du document. ! * @param pView Adresse de la vue.*/ ! void UnregisterView(View *pView){m_ViewArray.Unregister(pView);} /** @} */ + /** @name Fonctions d'interface d'élément. + * @{ */ + virtual bool Initialize(); + virtual void Finalize(); + virtual bool Destroy(bool bForce=true); + virtual bool CanDestroy(); + /** @ */ + + + protected: /** @name Fonction virtuelles de spécialisation du document. *************** *** 455,459 **** * Patron de vue. */ ! class WXDC_DLL_BASE ViewTemplate : public ObjectTemplate<View> { public: --- 479,483 ---- * Patron de vue. */ ! class WXDC_DLL_BASE ViewTemplate : public ObjectTemplate<View>, public ObjectManager<View> { public: *************** *** 463,467 **** /** Constructeur.*/ ViewTemplate(wxClassInfo* pInfo, wxString strName, wxString strDescript, wxString strIcon): ! ObjectTemplate<View>(pInfo, strName, strDescript), strIcons(strIcon){} }; --- 487,493 ---- /** Constructeur.*/ ViewTemplate(wxClassInfo* pInfo, wxString strName, wxString strDescript, wxString strIcon): ! ObjectTemplate<View>(pInfo, strName, strDescript), strIcons(strIcon), ! ObjectManager<View>(){} ! }; *************** *** 509,518 **** ~DocTemplate(); ! /** @name Fonctions d'interface de PluginItem. * @{ */ virtual bool Initialize(); virtual void Finalize(); virtual bool Destroy(bool bForce=true); ! virtual bool CanDestroy()const; /** @ */ --- 535,544 ---- ~DocTemplate(); ! /** @name Fonctions d'interface d'élément. * @{ */ virtual bool Initialize(); virtual void Finalize(); virtual bool Destroy(bool bForce=true); ! virtual bool CanDestroy(); /** @ */ *************** *** 565,574 **** * @see View */ ! class WXDC_DLL_BASE DocManager : public MultiObjectTemplateManager<Document, DocTemplate> { friend class Application; private: /** Gestionnaire des vues.*/ ! ElementManager<View> m_ViewManager; protected: /** Fenêtre conteneur par défaut des vues.*/ --- 591,607 ---- * @see View */ ! class WXDC_DLL_BASE DocManager : public Element, public wxObject { friend class Application; private: + /** Gestionnaire des types de documents.*/ + TemplateManager<Document, DocTemplate> m_TemplateManager; + /** Gestionnaire des vues.*/ ! ObjectManager<View> m_ViewManager; ! ! /** Gestionnaire des documents.*/ ! ObjectManager<Document> m_DocumentManager; ! protected: /** Fenêtre conteneur par défaut des vues.*/ *************** *** 579,599 **** public: /** Nombre de documents.*/ ! unsigned int GetDocumentCount()const{return MultiObjectTemplateManager<Document, DocTemplate>::GetObjectCount();} /** Document par l'indice dans le tableau de référencement.*/ ! const Document* GetDocument(unsigned int nIndex)const{return &(MultiObjectTemplateManager<Document, DocTemplate>::GetObject(nIndex));} ! Document* GetDocument(unsigned int nIndex){return &(MultiObjectTemplateManager<Document, DocTemplate>::GetObject(nIndex));} /** Document par son chemin.*/ const Document* GetDocument(FilePath &strDocPath)const; Document* GetDocument(FilePath &strDocPath); ! /** Crée un document. ! * Crée un document à partir de l'identifiant de son patron puis l'enregistre dans la liste des documents. * @param nIndex Index du patron de document. */ Document* CreateDocument(unsigned int nIndex); ! /** Ferme le document spécifié. ! * Ferme un document et toutes ses vues attachées. ! * Si le document a été modifié, une demande d'enregistrement est posée à l'utilisateur et le document est enregistré le cas échéant. ! * @return Retourne false si l'utilisateur annule l'action.*/ ! bool CloseDocument(Document *pDoc); /** Ferme tous les documents ouverts. * Ferme tous les documents ouverts et toutes les vues attachées. --- 612,628 ---- public: /** Nombre de documents.*/ ! unsigned int GetDocumentCount()const{return m_DocumentManager.GetCount();} /** Document par l'indice dans le tableau de référencement.*/ ! const Document* GetDocument(unsigned int nIndex)const{return &(m_DocumentManager[nIndex]);} ! Document* GetDocument(unsigned int nIndex){return &(m_DocumentManager[nIndex]);} /** Document par son chemin.*/ const Document* GetDocument(FilePath &strDocPath)const; Document* GetDocument(FilePath &strDocPath); ! /** Crée un document vièrge. ! * Crée un document à partir de l'identifiant de son patron puis l'initialise. * @param nIndex Index du patron de document. */ Document* CreateDocument(unsigned int nIndex); ! /** Ferme tous les documents ouverts. * Ferme tous les documents ouverts et toutes les vues attachées. *************** *** 603,611 **** /** 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); /** @}*/ --- 632,644 ---- /** Sauvegarde les données modifiées du documents.*/ bool SaveDocument(Document *pDoc); ! ! /** Enregistre un document. ! * @param pDoc Adresse du document. ! * @return Vrai si le document est correctement enregistré. ! */ ! bool RegisterDocument(Document* pDoc){return m_DocumentManager.Register(pDoc);} ! /** Désenregistre un document. ! * @param pDoc Adresse du document.*/ ! void UnregisterDocument(Document* pDoc){m_DocumentManager.Unregister(pDoc);} /** @}*/ *************** *** 613,625 **** /** @name Manipulation des patrons de documents. * @{*/ - public: /** Nombre de patrons de documents.*/ ! unsigned int GetDocTemplateCount()const{return MultiObjectTemplateManager<Document, DocTemplate>::GetTemplateCount();} /** Patron de document par son indice dans le tableau de référencement. * @param nIndex Indice du type de document.*/ ! const DocTemplate& GetDocTemplate(unsigned int nIndex)const{return MultiObjectTemplateManager<Document, DocTemplate>::GetTemplate(nIndex);} ! DocTemplate& GetDocTemplate(unsigned int nIndex){return MultiObjectTemplateManager<Document, DocTemplate>::GetTemplate(nIndex);} /** Retrouve l'identifiant du patron depuis son adresse.*/ ! int FindDocTemplate(const DocTemplate* pTemplate)const{return MultiObjectTemplateManager<Document, DocTemplate>::FindTemplate(pTemplate);} /** Patron de document correspondant à un nom de patron. * @param strDocName Nom du patron de document.*/ --- 646,657 ---- /** @name Manipulation des patrons de documents. * @{*/ /** Nombre de patrons de documents.*/ ! unsigned int GetDocTemplateCount()const{return m_TemplateManager.GetTemplateCount();} /** Patron de document par son indice dans le tableau de référencement. * @param nIndex Indice du type de document.*/ ! const DocTemplate& GetDocTemplate(unsigned int nIndex)const{return m_TemplateManager.GetTemplate(nIndex);} ! DocTemplate& GetDocTemplate(unsigned int nIndex){return m_TemplateManager.GetTemplate(nIndex);} /** Retrouve l'identifiant du patron depuis son adresse.*/ ! int FindDocTemplate(const DocTemplate* pTemplate)const{return m_TemplateManager.FindTemplate(pTemplate);} /** Patron de document correspondant à un nom de patron. * @param strDocName Nom du patron de document.*/ *************** *** 645,649 **** * @return Indice du nouveau patron ou -1 si erreur. */ ! int RegisterDocTemplate(DocTemplate* pTemplate); /** @}*/ --- 677,688 ---- * @return Indice du nouveau patron ou -1 si erreur. */ ! int RegisterDocTemplate(DocTemplate* pTemplate){return m_TemplateManager.RegisterTemplate(pTemplate);} ! /** Désenregistrement d'un patron. ! * @param pTempl Adresse du patron. ! * @return Faux si le patron n'a pa été désenregistré.*/ ! bool UnregisterDocTemplate(DocTemplate* pTempl){return m_TemplateManager.UnregisterTemplate(pTempl);} ! /** Désenregistrement d'un patron. ! * @param Index Index du patron à supprimer.*/ ! void UnregisterDocTemplate(unsigned int Index){m_TemplateManager.UnregisterTemplate(Index);} /** @}*/ *************** *** 661,668 **** * Crée une vue correspondant à l'indetifiant de vue spécifié et l'attache au document précisé. * @param pDoc Document auquel attacher la vue. ! * @param nViewIndex Indice de la vue correspondant au patron du type de document. ! * @return Adresse de la nouvelle vue, -1 si erreur. */ ! View* CreateView(Document *pDoc, unsigned int nViewIndex); /** Crée une vue. * Crée une vue correspondant au patron de vue spécifié et l'attache au document précisé. --- 700,707 ---- * Crée une vue correspondant à l'indetifiant de vue spécifié et l'attache au document précisé. * @param pDoc Document auquel attacher la vue. ! * @param iViewIndex Indice de la vue correspondant au patron du type de document, 0 pour le premier patron enregistré (par défaut), -1 pour demander à l'utilisateur si plusieurs choix. ! * @return Adresse de la nouvelle vue, -1 si erreur. */ ! View* CreateView(Document *pDoc, int iViewIndex = -1); /** Crée une vue. * Crée une vue correspondant au patron de vue spécifié et l'attache au document précisé. *************** *** 680,683 **** --- 719,728 ---- * Ne doit être appelée que de CloseDocument ou CloseView (ou associé).*/ void DeleteView(View *pView); + /** Enregistre une vue. + * @param pView Vue.*/ + bool RegisterView(View *pView){return m_ViewManager.Register(pView);} + /** Enregistre une vue. + * @param pView Vue.*/ + void UnregisterView(View *pView){m_ViewManager.Unregister(pView);} /** @}*/ *************** *** 789,804 **** virtual ~DocType(void); ! /** Initialisation. ! * Permet d'initialiser des données spécifiques aux types de documents comme des données globales/statiques. ! * Appelé avant toute création d'un document de ce type. ! * @return Si faux le type de documents ne sera pas utilisé. ! */ virtual bool Initialize(); ! ! /** Nettoyage. ! * Appelé pendant le désenregistrement du type de document (fin de l'appli ...). ! * Permet de nettoyer des données spécifiques aux types de documents comme des données globales/statiques. ! */ ! virtual void Free(); }; --- 834,844 ---- virtual ~DocType(void); ! /** @name Fonctions d'interface de PluginItem. ! * @{ */ virtual bool Initialize(); ! virtual void Finalize(); ! virtual bool Destroy(bool bForce=true); ! virtual bool CanDestroy(); ! /** @ */ }; Index: FileSystem.h =================================================================== RCS file: /cvsroot/wxdevcenter/wxDevCenter/include/wxDevCenter/FileSystem.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** FileSystem.h 14 May 2005 12:15:54 -0000 1.7 --- FileSystem.h 2 Aug 2005 12:50:54 -0000 1.8 *************** *** 218,222 **** * Fait le lien entre les noms de fichiers, les systèmes de fichiers et les archives. */ ! class WXDC_DLL_BASE FileSystemManager : public ElementManager<FileSystem> { public: --- 218,222 ---- * Fait le lien entre les noms de fichiers, les systèmes de fichiers et les archives. */ ! class WXDC_DLL_BASE FileSystemManager : public Element, public ObjectManager<FileSystem> { public: |