From 52b9ca21ac6c53d841028542771c839590a63db1 Mon Sep 17 00:00:00 2001 From: George Tasker Date: Wed, 24 Jan 2001 11:04:30 +0000 Subject: [PATCH] Added optional parameter to SelectDocumentType() and SelectViewType() to allow the choice lists of documents/views to be alphabetically sorted if desired. Default behavior is FALSE on the sort to maintain backward compatability. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/docmanag.tex | 24 +++++++++++++++++++++--- include/wx/docview.h | 4 ++-- src/common/docview.cpp | 8 ++++---- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/docs/latex/wx/docmanag.tex b/docs/latex/wx/docmanag.tex index b2eecb5e39..4f501d1708 100644 --- a/docs/latex/wx/docmanag.tex +++ b/docs/latex/wx/docmanag.tex @@ -348,21 +348,39 @@ This function is used in wxDocManager::CreateDocument. \membersection{wxDocManager::SelectDocumentType} \func{wxDocTemplate *}{SelectDocumentType}{\param{wxDocTemplate **}{templates}, - \param{int}{ noTemplates}} + \param{int}{ noTemplates}, \param{bool}{ sort=FALSE}} Returns a document template by asking the user (if there is more than one template). This function is used in wxDocManager::CreateDocument. +\wxheading{Parameters} + +\docparam{templates}{Pointer to an array of templates from which to choose a desired template.} +\docparam{noTemplates}{Number of templates being pointed to by the {\it templates} pointer.} +\docparam{sort}{If more than one template is passed in in {\it templates}, +then this parameter indicates whether the list of templates that the user +will have to choose from is sorted or not when shown the choice box dialog. +Default is FALSE.} + \membersection{wxDocManager::SelectViewType} \func{wxDocTemplate *}{SelectViewType}{\param{wxDocTemplate **}{templates}, - \param{int}{ noTemplates}} + \param{int}{ noTemplates}, \param{bool}{ sort=FALSE}} Returns a document template by asking the user (if there is more than one template), displaying a list of valid views. This function is used in wxDocManager::CreateView. -The dialog normally won't appear because the array of templates only contains +The dialog normally will not appear because the array of templates only contains those relevant to the document in question, and often there will only be one such. +\wxheading{Parameters} + +\docparam{templates}{Pointer to an array of templates from which to choose a desired template.} +\docparam{noTemplates}{Number of templates being pointed to by the {\it templates} pointer.} +\docparam{sort}{If more than one template is passed in in {\it templates}, +then this parameter indicates whether the list of templates that the user +will have to choose from is sorted or not when shown the choice box dialog. +Default is FALSE.} + \membersection{wxDocManager::SetLastDirectory}\label{wxdocmanagersetlastdirectory} \func{void}{SetLastDirectory}{\param{const wxString\&}{ dir}} diff --git a/include/wx/docview.h b/include/wx/docview.h index de1f8ed36a..1672e1c028 100644 --- a/include/wx/docview.h +++ b/include/wx/docview.h @@ -348,9 +348,9 @@ public: virtual wxDocTemplate *SelectDocumentPath(wxDocTemplate **templates, int noTemplates, wxString& path, long flags, bool save = FALSE); virtual wxDocTemplate *SelectDocumentType(wxDocTemplate **templates, - int noTemplates); + int noTemplates, bool sort = FALSE); virtual wxDocTemplate *SelectViewType(wxDocTemplate **templates, - int noTemplates); + int noTemplates, bool sort = FALSE); virtual wxDocTemplate *FindTemplateForPath(const wxString& path); void AssociateTemplate(wxDocTemplate *temp); diff --git a/src/common/docview.cpp b/src/common/docview.cpp index a49ef09a9b..02fdca8fe4 100644 --- a/src/common/docview.cpp +++ b/src/common/docview.cpp @@ -1435,9 +1435,9 @@ wxDocTemplate *wxDocManager::SelectDocumentPath(wxDocTemplate **templates, } wxDocTemplate *wxDocManager::SelectDocumentType(wxDocTemplate **templates, - int noTemplates) + int noTemplates, bool sort) { - wxArrayString strings; + wxArrayString strings(sort); wxDocTemplate **data = new wxDocTemplate *[noTemplates]; int i; int n = 0; @@ -1483,9 +1483,9 @@ wxDocTemplate *wxDocManager::SelectDocumentType(wxDocTemplate **templates, } wxDocTemplate *wxDocManager::SelectViewType(wxDocTemplate **templates, - int noTemplates) + int noTemplates, bool sort) { - wxArrayString strings; + wxArrayString strings(sort); wxDocTemplate **data = new wxDocTemplate *[noTemplates]; int i; int n = 0;