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:
		@@ -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;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*!
 | 
			
		||||
 
 | 
			
		||||
@@ -509,32 +509,10 @@ wxRichTextStyleDefinition* wxRichTextStyleListBox::GetStyle(size_t i) const
 | 
			
		||||
    if (!GetStyleSheet())
 | 
			
		||||
        return NULL;
 | 
			
		||||
    
 | 
			
		||||
    if (GetStyleType() == wxRICHTEXT_STYLE_ALL)
 | 
			
		||||
    {
 | 
			
		||||
        // First paragraph styles, then character, then list
 | 
			
		||||
        if (i < GetStyleSheet()->GetParagraphStyleCount())
 | 
			
		||||
            return GetStyleSheet()->GetParagraphStyle(i);
 | 
			
		||||
    if (i >= m_styleNames.GetCount() || i < 0)
 | 
			
		||||
        return NULL;
 | 
			
		||||
 | 
			
		||||
        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
 | 
			
		||||
@@ -544,14 +522,27 @@ void wxRichTextStyleListBox::UpdateStyles()
 | 
			
		||||
    {
 | 
			
		||||
        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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user