Add wxDocManager::FindTemplate() method.
This allows to find the template corresponding to the document of the given class. Closes #12170. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -425,6 +425,7 @@ All (GUI):
|
|||||||
- Restore text drag-and-drop in wxSTC broken by Scintilla 2 update (Jens Lody).
|
- Restore text drag-and-drop in wxSTC broken by Scintilla 2 update (Jens Lody).
|
||||||
- Improve wxGTK print/page setup dialog (rafravago).
|
- Improve wxGTK print/page setup dialog (rafravago).
|
||||||
- Added wxToolbook XRC handler (Andrea Zanellato).
|
- Added wxToolbook XRC handler (Andrea Zanellato).
|
||||||
|
- Added wxDocManager::FindTemplate() (troelsk).
|
||||||
|
|
||||||
MSW:
|
MSW:
|
||||||
|
|
||||||
|
@@ -414,6 +414,9 @@ public:
|
|||||||
void AssociateTemplate(wxDocTemplate *temp);
|
void AssociateTemplate(wxDocTemplate *temp);
|
||||||
void DisassociateTemplate(wxDocTemplate *temp);
|
void DisassociateTemplate(wxDocTemplate *temp);
|
||||||
|
|
||||||
|
// Find template from document class info, may return NULL.
|
||||||
|
wxDocTemplate* FindTemplate(const wxClassInfo* documentClassInfo);
|
||||||
|
|
||||||
wxDocument *GetCurrentDocument() const;
|
wxDocument *GetCurrentDocument() const;
|
||||||
|
|
||||||
void SetMaxDocsOpen(int n) { m_maxDocsOpen = n; }
|
void SetMaxDocsOpen(int n) { m_maxDocsOpen = n; }
|
||||||
|
@@ -363,6 +363,27 @@ public:
|
|||||||
*/
|
*/
|
||||||
void AssociateTemplate(wxDocTemplate* temp);
|
void AssociateTemplate(wxDocTemplate* temp);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Search for a particular document template.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
@code
|
||||||
|
// creating a document instance of the specified document type:
|
||||||
|
m_doc = (MyDoc*)docManager->FindTemplate(CLASSINFO(MyDoc))->
|
||||||
|
CreateDocument(wxEmptyString, wxDOC_SILENT);
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@param classinfo
|
||||||
|
Class info of a document class for which a wxDocTemplate had been
|
||||||
|
previously created.
|
||||||
|
|
||||||
|
@return
|
||||||
|
Pointer to a wxDocTemplate, or @NULL if none found.
|
||||||
|
|
||||||
|
@since 2.9.2
|
||||||
|
*/
|
||||||
|
wxDocTemplate* FindTemplate(const wxClassInfo* classinfo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Closes the specified document.
|
Closes the specified document.
|
||||||
|
|
||||||
|
@@ -1894,6 +1894,20 @@ void wxDocManager::DisassociateTemplate(wxDocTemplate *temp)
|
|||||||
m_templates.DeleteObject(temp);
|
m_templates.DeleteObject(temp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxDocTemplate* wxDocManager::FindTemplate(const wxClassInfo* classinfo)
|
||||||
|
{
|
||||||
|
for ( wxList::compatibility_iterator node = m_templates.GetFirst();
|
||||||
|
node;
|
||||||
|
node = node->GetNext() )
|
||||||
|
{
|
||||||
|
wxDocTemplate* t = wxStaticCast(node->GetData(), wxDocTemplate);
|
||||||
|
if ( t->GetDocClassInfo() == classinfo )
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
// Add and remove a document from the manager's list
|
// Add and remove a document from the manager's list
|
||||||
void wxDocManager::AddDocument(wxDocument *doc)
|
void wxDocManager::AddDocument(wxDocument *doc)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user