- Restore text drag-and-drop in wxSTC broken by Scintilla 2 update (Jens Lody).
- Improve wxGTK print/page setup dialog (rafravago).
- Added wxToolbook XRC handler (Andrea Zanellato).
+- Added wxDocManager::FindTemplate() (troelsk).
MSW:
void AssociateTemplate(wxDocTemplate *temp);
void DisassociateTemplate(wxDocTemplate *temp);
+ // Find template from document class info, may return NULL.
+ wxDocTemplate* FindTemplate(const wxClassInfo* documentClassInfo);
+
wxDocument *GetCurrentDocument() const;
void SetMaxDocsOpen(int n) { m_maxDocsOpen = n; }
*/
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.
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
void wxDocManager::AddDocument(wxDocument *doc)
{