The new SORT parameter for SelectViewType() and SelectDocumentType() sorted the displayed list, but the view/template returned as the one selected was corresponding to the template from the original unsorted list of templates.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
George Tasker
2001-01-29 23:01:21 +00:00
parent 020a1653a4
commit 8658ef93e3

View File

@@ -1441,15 +1441,34 @@ wxDocTemplate *wxDocManager::SelectDocumentType(wxDocTemplate **templates,
wxDocTemplate **data = new wxDocTemplate *[noTemplates];
int i;
int n = 0;
for (i = 0; i < noTemplates; i++)
{
if (templates[i]->IsVisible())
{
strings.Add(templates[i]->m_description);
data[n] = templates[i];
n ++;
}
}
for (i = 0; i < noTemplates; i++)
{
if (templates[i]->IsVisible())
{
strings.Add(templates[i]->m_description);
if (!sort)
{
data[n] = templates[i];
n ++;
}
}
} // for
if (sort)
{
// Yes, this will be slow, but template lists
// are typically short.
int j;
n = strings.Count();
for (i = 0; i < n; i++)
{
for (j = 0; j < noTemplates; j++)
{
if (strings[i] == templates[j]->m_description)
data[i] = templates[j];
}
}
}
wxDocTemplate *theTemplate;
@@ -1495,11 +1514,30 @@ wxDocTemplate *wxDocManager::SelectViewType(wxDocTemplate **templates,
if ( templ->IsVisible() && !templ->GetViewName().empty() )
{
strings.Add(templ->m_viewTypeName);
data[n] = templ;
n ++;
if (!sort)
{
data[n] = templ;
n ++;
}
}
}
if (sort)
{
// Yes, this will be slow, but template lists
// are typically short.
int j;
n = strings.Count();
for (i = 0; i < n; i++)
{
for (j = 0; j < noTemplates; j++)
{
if (strings[i] == templates[j]->m_viewTypeName)
data[i] = templates[j];
}
}
}
wxDocTemplate *theTemplate;
// the same logic as above