本文整理汇总了C++中wxArrayStringsAdapter类的典型用法代码示例。如果您正苦于以下问题:C++ wxArrayStringsAdapter类的具体用法?C++ wxArrayStringsAdapter怎么用?C++ wxArrayStringsAdapter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了wxArrayStringsAdapter类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: DoInsertItems
int wxCheckListBox::DoInsertItems(const wxArrayStringsAdapter & items,
unsigned int pos,
void **clientData, wxClientDataType type)
{
const unsigned int count = items.GetCount();
ListView_SetItemCount( GetHwnd(), GetCount() + count );
int n = wxNOT_FOUND;
for( unsigned int i = 0; i < count; i++ )
{
LVITEM newItem;
wxZeroMemory(newItem);
newItem.iItem = pos + i;
n = ListView_InsertItem( (HWND)GetHWND(), & newItem );
wxCHECK_MSG( n != -1, -1, wxT("Item not added") );
SetString( n, items[i] );
m_itemsClientData.Insert(NULL, n);
AssignNewItemClientData(n, clientData, i, type);
}
return n;
}
开发者ID:0ryuO,项目名称:dolphin-avsync,代码行数:25,代码来源:checklst.cpp
示例2: DoInsertItems
int wxListBox::DoInsertItems(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData,
wxClientDataType type)
{
int idx = wxNOT_FOUND;
unsigned int startpos = pos;
const unsigned int numItems = items.GetCount();
for ( unsigned int i = 0; i < numItems; ++i )
{
const wxString& item = items[i];
idx = IsSorted() ? m_strings.sorted->Add(item)
: (m_strings.unsorted->Insert(item, pos), pos++);
m_itemsClientData.Insert(NULL, idx);
AssignNewItemClientData(idx, clientData, i, type);
GetListPeer()->ListInsert(startpos+i);
OnItemInserted(idx);
}
GetListPeer()->UpdateLineToEnd(startpos);
UpdateOldSelections();
return idx;
}
开发者ID:jonntd,项目名称:dynamica,代码行数:29,代码来源:listbox_osx.cpp
示例3: DoInsertItems
int wxChoice::DoInsertItems(const wxArrayStringsAdapter & items,
unsigned int pos,
void **clientData, wxClientDataType type)
{
const unsigned int numItems = items.GetCount();
for( unsigned int i = 0; i < numItems; ++i, ++pos )
{
unsigned int idx;
#if wxUSE_STL
if ( IsSorted() )
{
wxArrayString::iterator
insertPoint = std::lower_bound( m_strings.begin(), m_strings.end(), items[i] );
idx = insertPoint - m_strings.begin();
m_strings.insert( insertPoint, items[i] );
}
else
#endif // wxUSE_STL
{
idx = pos;
m_strings.Insert( items[i], idx );
}
m_popUpMenu->Insert( idx, i+1, items[i] );
m_datas.Insert( NULL, idx );
AssignNewItemClientData(idx, clientData, i, type);
}
m_peer->SetMaximum( GetCount() );
return pos - 1;
}
开发者ID:erwincoumans,项目名称:wxWidgets,代码行数:33,代码来源:choice_osx.cpp
示例4: DoInsertItems
int wxChoice::DoInsertItems(const wxArrayStringsAdapter & items,
unsigned int pos,
void **clientData, wxClientDataType type)
{
wxCHECK_MSG( m_widget != NULL, -1, wxT("invalid control") );
wxASSERT_MSG( !IsSorted() || (pos == GetCount()),
wxT("In a sorted choice data could only be appended"));
const int count = items.GetCount();
int n = wxNOT_FOUND;
for ( int i = 0; i < count; ++i )
{
n = pos + i;
// If sorted, use this wxSortedArrayStrings to determine
// the right insertion point
if (m_strings)
n = m_strings->Add(items[i]);
GTKInsertComboBoxTextItem( n, items[i] );
m_clientData.Insert( NULL, n );
AssignNewItemClientData(n, clientData, i, type);
}
InvalidateBestSize();
return n;
}
开发者ID:chromylei,项目名称:third_party,代码行数:31,代码来源:choice.cpp
示例5: DoInsertItemsInLoop
int wxItemContainer::DoInsertItemsInLoop(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData,
wxClientDataType type)
{
int n = wxNOT_FOUND;
const unsigned int count = items.GetCount();
#if defined(__INTEL_COMPILER) && 1 /* VDM auto patch */
# pragma ivdep
# pragma swp
# pragma unroll
# pragma prefetch
# if 0
# pragma simd noassert
# endif
#endif /* VDM auto patch */
for ( unsigned int i = 0; i < count; ++i )
{
n = DoInsertOneItem(items[i], pos++);
if ( n == wxNOT_FOUND )
break;
AssignNewItemClientData(n, clientData, i, type);
}
return n;
}
开发者ID:vdm113,项目名称:wxWidgets-ICC-patch,代码行数:28,代码来源:ctrlsub.cpp
示例6: DoInsertItems
int wxChoice::DoInsertItems(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData,
wxClientDataType type)
{
MSWAllocStorage(items, LB_INITSTORAGE);
const bool append = pos == GetCount();
const unsigned msg = append ? LB_ADDSTRING : LB_INSERTSTRING;
if ( append )
pos = 0;
int n = wxNOT_FOUND;
const unsigned int numItems = items.GetCount();
for ( unsigned int i = 0; i < numItems; ++i )
{
n = MSWInsertOrAppendItem(pos, items[i], msg);
if ( !append )
pos++;
AssignNewItemClientData(n, clientData, i, type);
}
return n;
}
开发者ID:BloodRedd,项目名称:gamekit,代码行数:26,代码来源:choicece.cpp
示例7: DoInsertItems
int wxBitmapComboBox::DoInsertItems(const wxArrayStringsAdapter & items,
unsigned int pos,
void **clientData, wxClientDataType type)
{
const unsigned int numItems = items.GetCount();
const unsigned int countNew = GetCount() + numItems;
wxASSERT( numItems == 1 || !HasFlag(wxCB_SORT) ); // Sanity check
m_bitmaps.Alloc(countNew);
for ( unsigned int i = 0; i < numItems; i++ )
{
m_bitmaps.Insert(new wxBitmap(wxNullBitmap), pos + i);
}
const int index = wxOwnerDrawnComboBox::DoInsertItems(items, pos,
clientData, type);
if ( index == wxNOT_FOUND )
{
for ( int i = numItems-1; i >= 0; i-- )
BCBDoDeleteOneItem(pos + i);
}
else if ( ((unsigned int)index) != pos )
{
// Move pre-inserted empty bitmap into correct position
// (usually happens when combo box has wxCB_SORT style)
wxBitmap* bmp = static_cast<wxBitmap*>(m_bitmaps[pos]);
m_bitmaps.RemoveAt(pos);
m_bitmaps.Insert(bmp, index);
}
return index;
}
开发者ID:erwincoumans,项目名称:wxWidgets,代码行数:35,代码来源:bmpcboxg.cpp
示例8: DoInsertItems
int wxOwnerDrawnComboBox::DoInsertItems(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData,
wxClientDataType type)
{
EnsurePopupControl();
const unsigned int count = items.GetCount();
if ( HasFlag(wxCB_SORT) )
{
int n = pos;
for ( unsigned int i = 0; i < count; ++i )
{
n = GetVListBoxComboPopup()->Append(items[i]);
AssignNewItemClientData(n, clientData, i, type);
}
return n;
}
else
{
for ( unsigned int i = 0; i < count; ++i, ++pos )
{
GetVListBoxComboPopup()->Insert(items[i], pos);
AssignNewItemClientData(pos, clientData, i, type);
}
return pos - 1;
}
}
开发者ID:beanhome,项目名称:dev,代码行数:32,代码来源:odcombo.cpp
示例9: DoInsertItems
int wxBitmapComboBox::DoInsertItems(const wxArrayStringsAdapter & items,
unsigned int pos,
void **clientData, wxClientDataType type)
{
const unsigned int numItems = items.GetCount();
const unsigned int countNew = GetCount() + numItems;
m_bitmaps.Alloc(countNew);
for ( unsigned int i = 0; i < numItems; i++ )
{
m_bitmaps.Insert(new wxBitmap(wxNullBitmap), pos + i);
}
const int index = wxOwnerDrawnComboBox::DoInsertItems(items, pos,
clientData, type);
if ( index == wxNOT_FOUND )
{
for ( int i = numItems-1; i >= 0; i-- )
BCBDoDeleteOneItem(pos + i);
}
return index;
}
开发者ID:jonntd,项目名称:dynamica,代码行数:25,代码来源:bmpcboxg.cpp
示例10: DoInsertItems
int wxChoice::DoInsertItems(const wxArrayStringsAdapter & items,
unsigned int pos,
void **clientData, wxClientDataType type)
{
wxCHECK_MSG( m_widget != NULL, -1, wxT("invalid choice control") );
const unsigned int count = items.GetCount();
GtkWidget *menu = gtk_option_menu_get_menu( GTK_OPTION_MENU(m_widget) );
for ( unsigned int i = 0; i < count; ++i, ++pos )
{
int n = GtkAddHelper(menu, pos, items[i]);
if ( n == wxNOT_FOUND )
return n;
AssignNewItemClientData(n, clientData, i, type);
}
// if the item to insert is at or before the selection, and the selection is valid
if (((int)pos <= m_selection_hack) && (m_selection_hack != wxNOT_FOUND))
{
// move the selection forward
m_selection_hack += count;
}
return pos - 1;
}
开发者ID:beanhome,项目名称:dev,代码行数:28,代码来源:choice.cpp
示例11: DoInsertItems
// TODO auto-sorting is not supported by the code
int wxChoice::DoInsertItems(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData, wxClientDataType type)
{
#ifndef XmNpositionIndex
wxCHECK_MSG( pos == GetCount(), -1, wxT("insert not implemented"));
#endif
const unsigned int numItems = items.GetCount();
AllocClientData(numItems);
for( unsigned int i = 0; i < numItems; ++i, ++pos )
{
Widget w = XtVaCreateManagedWidget (GetLabelText(items[i]),
#if wxUSE_GADGETS
xmPushButtonGadgetClass, (Widget) m_menuWidget,
#else
xmPushButtonWidgetClass, (Widget) m_menuWidget,
#endif
#ifdef XmNpositionIndex
XmNpositionIndex, pos,
#endif
NULL);
wxDoChangeBackgroundColour((WXWidget) w, m_backgroundColour);
if( m_font.IsOk() )
wxDoChangeFont( w, m_font );
m_widgetArray.Insert(w, pos);
char mnem = wxFindMnemonic (items[i]);
if (mnem != 0)
XtVaSetValues (w, XmNmnemonic, mnem, NULL);
XtAddCallback (w, XmNactivateCallback,
(XtCallbackProc) wxChoiceCallback,
(XtPointer) this);
if (m_stringArray.GetCount() == 0 && m_buttonWidget)
{
XtVaSetValues ((Widget) m_buttonWidget, XmNmenuHistory, w, NULL);
Widget label = XmOptionButtonGadget ((Widget) m_buttonWidget);
wxXmString text( items[i] );
XtVaSetValues (label,
XmNlabelString, text(),
NULL);
}
m_stringArray.Insert(items[i], pos);
InsertNewItemClientData(pos, clientData, i, type);
}
return pos - 1;
}
开发者ID:3v1n0,项目名称:wxWidgets,代码行数:56,代码来源:choice.cpp
示例12: DoInsertItems
int wxCheckListBox::DoInsertItems(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData, wxClientDataType type)
{
wxArrayString copy;
copy.reserve(pos);
for ( size_t i = 0; i < items.GetCount(); ++i )
copy.push_back( Prefix(false) + items[i] );
return wxListBox::DoInsertItems(copy, pos, clientData, type);
}
开发者ID:beanhome,项目名称:dev,代码行数:11,代码来源:checklst.cpp
示例13: DoInsertItems
int wxListBox::DoInsertItems(const wxArrayStringsAdapter & items,
unsigned int pos,
void **clientData,
wxClientDataType type)
{
long lIndex = 0;
LONG lIndexType = 0;
bool incrementPos = false;
if (IsSorted())
lIndexType = LIT_SORTASCENDING;
else if (pos == GetCount())
lIndexType = LIT_END;
else
{
lIndexType = (LONG)pos;
incrementPos = true;
}
int n = wxNOT_FOUND;
unsigned int count = items.GetCount();
for (unsigned int i = 0; i < count; i++)
{
n = (int)::WinSendMsg(GetHwnd(), LM_INSERTITEM, (MPARAM)lIndexType, (MPARAM)items[i].wx_str());
if (n < 0)
{
wxLogLastError(_T("WinSendMsg(LM_INSERTITEM)"));
n = wxNOT_FOUND;
break;
}
++m_nNumItems;
#if wxUSE_OWNER_DRAWN
if (HasFlag(wxLB_OWNERDRAW))
{
wxOwnerDrawn* pNewItem = CreateItem(n); // dummy argument
wxScreenDC vDc; // FIXME: is it really needed here?
pNewItem->SetName(items[i]);
m_aItems.Insert(pNewItem, n);
pNewItem->SetFont(GetFont());
}
#endif
AssignNewItemClientData(n, clientData, i, type);
if (incrementPos)
++lIndexType;
}
return n;
} // end of wxListBox::DoInsertAppendItemsWithData
开发者ID:czxxjtu,项目名称:wxPython-1,代码行数:52,代码来源:listbox.cpp
示例14: DoInsertItems
int wxRearrangeList::DoInsertItems(const wxArrayStringsAdapter& items, unsigned int pos,
void **clientData, wxClientDataType type)
{
int ret = wxCheckListBox::DoInsertItems(items, pos, clientData, type);
const size_t numItems = items.GetCount();
for ( size_t i = 0; i < numItems; i++ )
{
// Item is not checked initially.
const int idx = ~m_order.size();
m_order.Insert(idx, pos+i);
}
return ret;
}
开发者ID:CodeSmithyIDE,项目名称:wxWidgets,代码行数:13,代码来源:rearrangectrl.cpp
示例15: MSWAllocStorage
void wxControlWithItems::MSWAllocStorage(const wxArrayStringsAdapter& items,
unsigned wm)
{
const unsigned numItems = items.GetCount();
unsigned long totalTextLength = numItems; // for trailing '\0' characters
for ( unsigned i = 0; i < numItems; ++i )
{
totalTextLength += items[i].length();
}
if ( SendMessage((HWND)MSWGetItemsHWND(), wm, numItems,
(LPARAM)totalTextLength*sizeof(wxChar)) == LB_ERRSPACE )
{
wxLogLastError(wxT("SendMessage(XX_INITSTORAGE)"));
}
}
开发者ID:chromylei,项目名称:third_party,代码行数:16,代码来源:control.cpp
示例16: DoInsertItems
int wxListBox::DoInsertItems(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData,
wxClientDataType type)
{
int idx = wxNOT_FOUND;
unsigned int startpos = pos;
const unsigned int numItems = items.GetCount();
#if defined(__INTEL_COMPILER) && 1 /* VDM auto patch */
# pragma ivdep
# pragma swp
# pragma unroll
# pragma prefetch
# if 0
# pragma simd noassert
# endif
#endif /* VDM auto patch */
for ( unsigned int i = 0; i < numItems; ++i )
{
const wxString& item = items[i];
idx = IsSorted() ? m_strings.sorted->Add(item)
: (m_strings.unsorted->Insert(item, pos), pos++);
m_itemsClientData.Insert(NULL, idx);
AssignNewItemClientData(idx, clientData, i, type);
GetListPeer()->ListInsert(startpos+i);
OnItemInserted(idx);
}
GetListPeer()->UpdateLineToEnd(startpos);
// Inserting the items may scroll the listbox down to show the last
// selected one but we don't want to do it as it could result in e.g. the
// first items of a listbox be hidden immediately after its creation so
// show the first selected item instead. Ideal would probably be to
// preserve the old selection unchanged, in fact, but I don't know how to
// get the first visible item so for now do at least this.
SetFirstItem(startpos);
UpdateOldSelections();
return idx;
}
开发者ID:vdm113,项目名称:wxWidgets-ICC-patch,代码行数:46,代码来源:listbox_osx.cpp
示例17: DoInsertItemsInLoop
int wxItemContainer::DoInsertItemsInLoop(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData,
wxClientDataType type)
{
int n = wxNOT_FOUND;
const unsigned int count = items.GetCount();
for ( unsigned int i = 0; i < count; ++i )
{
n = DoInsertOneItem(items[i], pos++);
if ( n == wxNOT_FOUND )
break;
AssignNewItemClientData(n, clientData, i, type);
}
return n;
}
开发者ID:3v1n0,项目名称:wxWidgets,代码行数:19,代码来源:ctrlsub.cpp
示例18: DoInsertItems
int wxListBox::DoInsertItems(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData,
wxClientDataType type)
{
wxCHECK_MSG( m_treeview != NULL, wxNOT_FOUND, wxT("invalid listbox") );
InvalidateBestSize();
GtkTreeIter* pIter = NULL; // append by default
GtkTreeIter iter;
if ( pos != GetCount() )
{
wxCHECK_MSG( GTKGetIteratorFor(pos, &iter), wxNOT_FOUND,
wxT("internal wxListBox error in insertion") );
pIter = &iter;
}
const unsigned int numItems = items.GetCount();
for ( unsigned int i = 0; i < numItems; ++i )
{
GtkTreeEntry* entry = gtk_tree_entry_new();
gtk_tree_entry_set_label(entry, wxGTK_CONV(items[i]));
gtk_tree_entry_set_destroy_func(entry,
(GtkTreeEntryDestroy)gtk_tree_entry_destroy_cb,
this);
GtkTreeIter itercur;
gtk_list_store_insert_before(m_liststore, &itercur, pIter);
GTKSetItem(itercur, entry);
g_object_unref (entry);
if (clientData)
AssignNewItemClientData(GTKGetIndexFor(itercur), clientData, i, type);
}
UpdateOldSelections();
return pos + numItems - 1;
}
开发者ID:erwincoumans,项目名称:wxWidgets,代码行数:43,代码来源:listbox.cpp
示例19: DoInsertItems
int wxCheckListBox::DoInsertItems(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData, wxClientDataType type)
{
wxArrayString copy;
copy.reserve(pos);
#if defined(__INTEL_COMPILER) && 1 /* VDM auto patch */
# pragma ivdep
# pragma swp
# pragma unroll
# pragma prefetch
# if 0
# pragma simd noassert
# endif
#endif /* VDM auto patch */
for ( size_t i = 0; i < items.GetCount(); ++i )
copy.push_back( Prefix(false) + items[i] );
return wxListBox::DoInsertItems(copy, pos, clientData, type);
}
开发者ID:vdm113,项目名称:wxWidgets-ICC-patch,代码行数:20,代码来源:checklst.cpp
示例20: DoInsertItems
int wxSimpleHtmlListBox::DoInsertItems(const wxArrayStringsAdapter& items,
unsigned int pos,
void **clientData,
wxClientDataType type)
{
const unsigned int count = items.GetCount();
m_items.Insert(wxEmptyString, pos, count);
m_HTMLclientData.Insert(NULL, pos, count);
for ( unsigned int i = 0; i < count; ++i, ++pos )
{
m_items[pos] = items[i];
AssignNewItemClientData(pos, clientData, i, type);
}
UpdateCount();
return pos - 1;
}
开发者ID:beanhome,项目名称:dev,代码行数:20,代码来源:htmllbox.cpp
注:本文中的wxArrayStringsAdapter类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论