本文整理汇总了C++中CStringList::push_front方法的典型用法代码示例。如果您正苦于以下问题:C++ CStringList::push_front方法的具体用法?C++ CStringList::push_front怎么用?C++ CStringList::push_front使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CStringList
的用法示例。
在下文中一共展示了CStringList::push_front方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadSettings
void CMuleListCtrl::LoadSettings()
{
wxCHECK_RET(!m_name.IsEmpty(), wxT("Cannot load settings for unnamed list"));
wxConfigBase* cfg = wxConfigBase::Get();
// Load sort order (including sort-column)
m_sort_orders.clear();
wxString sortOrders = cfg->Read(wxT("/eMule/TableOrdering") + m_name, wxEmptyString);
wxString columnWidths = cfg->Read(wxT("/eMule/TableWidths") + m_name, wxEmptyString);
// Prevent sorting from occuring when calling SetSorting
MuleListCtrlCompare sortFunc = m_sort_func;
m_sort_func = NULL;
if (columnWidths.Find(wxT(':')) == wxNOT_FOUND) {
// Old-style config entries...
ParseOldConfigEntries(sortOrders, columnWidths);
} else {
// Sort orders
wxStringTokenizer tokens(sortOrders, wxT(","));
// Sort orders are stored in order primary, secondary, ...
// We want to apply them with SetSorting(), so we have to apply them in reverse order,
// so that the primary order is applied last and wins.
// Read them with tokenizer and store them in a list in reverse order.
CStringList tokenList;
while (tokens.HasMoreTokens()) {
tokenList.push_front(tokens.GetNextToken());
}
for (CStringList::iterator it = tokenList.begin(); it != tokenList.end(); it++) {
wxString token = *it;
wxString name = token.BeforeFirst(wxT(':'));
long order = StrToLong(token.AfterFirst(wxT(':')).BeforeLast(wxT(':')));
long alt = StrToLong(token.AfterLast(wxT(':')));
int col = GetColumnIndex(name);
if (col >= 0) {
SetSorting(col, (order ? SORT_DES : 0) | (alt ? SORT_ALT : 0));
}
}
// Column widths
wxStringTokenizer tkz(columnWidths, wxT(","));
while (tkz.HasMoreTokens()) {
wxString token = tkz.GetNextToken();
wxString name = token.BeforeFirst(wxT(':'));
long width = StrToLong(token.AfterFirst(wxT(':')));
int col = GetColumnIndex(name);
if (col >= 0) {
if (col >= (int) m_column_sizes.size()) {
m_column_sizes.resize(col + 1, 0);
}
m_column_sizes[col] = abs(width);
SetColumnWidth(col, (width > 0) ? width : 0);
}
}
}
// Must have at least one sort-order specified
if (m_sort_orders.empty()) {
m_sort_orders.push_back(CColPair(0, 0));
}
// Re-enable sorting and resort the contents (if any).
m_sort_func = sortFunc;
SortList();
}