Styles now sorted alphabetically
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43652 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
cbdf0fb0b8
commit
486dd03abb
@ -482,6 +482,7 @@ private:
|
||||
bool m_applyOnSelection; // if true, applies style on selection
|
||||
wxRichTextStyleType m_styleType; // style type to display
|
||||
bool m_autoSetSelection;
|
||||
wxArrayString m_styleNames;
|
||||
};
|
||||
|
||||
/*!
|
||||
|
@ -508,33 +508,11 @@ wxRichTextStyleDefinition* wxRichTextStyleListBox::GetStyle(size_t i) const
|
||||
{
|
||||
if (!GetStyleSheet())
|
||||
return NULL;
|
||||
|
||||
if (i >= m_styleNames.GetCount() || i < 0)
|
||||
return NULL;
|
||||
|
||||
if (GetStyleType() == wxRICHTEXT_STYLE_ALL)
|
||||
{
|
||||
// First paragraph styles, then character, then list
|
||||
if (i < GetStyleSheet()->GetParagraphStyleCount())
|
||||
return GetStyleSheet()->GetParagraphStyle(i);
|
||||
|
||||
if ((i - GetStyleSheet()->GetParagraphStyleCount()) < GetStyleSheet()->GetCharacterStyleCount())
|
||||
return GetStyleSheet()->GetCharacterStyle(i - GetStyleSheet()->GetParagraphStyleCount());
|
||||
|
||||
if ((i - GetStyleSheet()->GetParagraphStyleCount() - GetStyleSheet()->GetCharacterStyleCount()) < GetStyleSheet()->GetListStyleCount())
|
||||
return GetStyleSheet()->GetListStyle(i - GetStyleSheet()->GetParagraphStyleCount() - GetStyleSheet()->GetCharacterStyleCount());
|
||||
}
|
||||
else if ((GetStyleType() == wxRICHTEXT_STYLE_PARAGRAPH) && (i < GetStyleSheet()->GetParagraphStyleCount()))
|
||||
{
|
||||
return GetStyleSheet()->GetParagraphStyle(i);
|
||||
}
|
||||
else if ((GetStyleType() == wxRICHTEXT_STYLE_CHARACTER) && (i < GetStyleSheet()->GetCharacterStyleCount()))
|
||||
{
|
||||
return GetStyleSheet()->GetCharacterStyle(i);
|
||||
}
|
||||
else if ((GetStyleType() == wxRICHTEXT_STYLE_LIST) && (i < GetStyleSheet()->GetListStyleCount()))
|
||||
{
|
||||
return GetStyleSheet()->GetListStyle(i);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
return GetStyleSheet()->FindStyle(m_styleNames[i]);
|
||||
}
|
||||
|
||||
/// Updates the list
|
||||
@ -543,15 +521,28 @@ void wxRichTextStyleListBox::UpdateStyles()
|
||||
if (GetStyleSheet())
|
||||
{
|
||||
SetSelection(wxNOT_FOUND);
|
||||
|
||||
if (GetStyleType() == wxRICHTEXT_STYLE_ALL)
|
||||
SetItemCount(GetStyleSheet()->GetParagraphStyleCount()+GetStyleSheet()->GetCharacterStyleCount()+GetStyleSheet()->GetListStyleCount());
|
||||
else if (GetStyleType() == wxRICHTEXT_STYLE_PARAGRAPH)
|
||||
SetItemCount(GetStyleSheet()->GetParagraphStyleCount());
|
||||
else if (GetStyleType() == wxRICHTEXT_STYLE_CHARACTER)
|
||||
SetItemCount(GetStyleSheet()->GetCharacterStyleCount());
|
||||
else if (GetStyleType() == wxRICHTEXT_STYLE_LIST)
|
||||
SetItemCount(GetStyleSheet()->GetListStyleCount());
|
||||
|
||||
m_styleNames.Clear();
|
||||
|
||||
size_t i;
|
||||
if (GetStyleType() == wxRICHTEXT_STYLE_ALL || GetStyleType() == wxRICHTEXT_STYLE_PARAGRAPH)
|
||||
{
|
||||
for (i = 0; i < GetStyleSheet()->GetParagraphStyleCount(); i++)
|
||||
m_styleNames.Add(GetStyleSheet()->GetParagraphStyle(i)->GetName());
|
||||
}
|
||||
if (GetStyleType() == wxRICHTEXT_STYLE_ALL || GetStyleType() == wxRICHTEXT_STYLE_CHARACTER)
|
||||
{
|
||||
for (i = 0; i < GetStyleSheet()->GetCharacterStyleCount(); i++)
|
||||
m_styleNames.Add(GetStyleSheet()->GetCharacterStyle(i)->GetName());
|
||||
}
|
||||
if (GetStyleType() == wxRICHTEXT_STYLE_ALL || GetStyleType() == wxRICHTEXT_STYLE_LIST)
|
||||
{
|
||||
for (i = 0; i < GetStyleSheet()->GetListStyleCount(); i++)
|
||||
m_styleNames.Add(GetStyleSheet()->GetListStyle(i)->GetName());
|
||||
}
|
||||
|
||||
m_styleNames.Sort();
|
||||
SetItemCount(m_styleNames.GetCount());
|
||||
|
||||
Refresh();
|
||||
|
||||
@ -566,19 +557,7 @@ void wxRichTextStyleListBox::UpdateStyles()
|
||||
// Get index for style name
|
||||
int wxRichTextStyleListBox::GetIndexForStyle(const wxString& name) const
|
||||
{
|
||||
if (GetStyleSheet())
|
||||
{
|
||||
int count = GetItemCount();
|
||||
|
||||
int i;
|
||||
for (i = 0; i < (int) count; i++)
|
||||
{
|
||||
wxRichTextStyleDefinition* def = GetStyle(i);
|
||||
if (def->GetName() == name)
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
return m_styleNames.Index(name);
|
||||
}
|
||||
|
||||
/// Set selection for string
|
||||
|
Loading…
Reference in New Issue
Block a user