本文整理汇总了C++中BListView::ItemAt方法的典型用法代码示例。如果您正苦于以下问题:C++ BListView::ItemAt方法的具体用法?C++ BListView::ItemAt怎么用?C++ BListView::ItemAt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BListView
的用法示例。
在下文中一共展示了BListView::ItemAt方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetItemData
/**
* @brief Sets associated data of specified index.
* @param[in] index item index.
* @param[in] data associated data.
*/
void BeListViewAdapter::SetItemData(SInt32 index, void* data)
{
BListView* listView = getListView();
BeGenericDataStringItem* listItem = dynamic_cast<BeGenericDataStringItem*>(listView->ItemAt(index));
if (NULL != listItem)
{
listItem->SetItemData(data);
}
}
示例2: SetItemText
/**
* @brief Sets a string at specified index from the control.
* @param[in] index index
* @param[out] text a string value to set.
*/
void BeListViewAdapter::SetItemText(SInt32 index, ConstAStr text)
{
BListView* listView = getListView();
BeGenericDataStringItem* listItem = dynamic_cast<BeGenericDataStringItem*>(listView->ItemAt(index));
if (NULL != listItem)
{
listItem->SetText(text);
}
}
示例3: getCurrentListView
BStringItem * GuideWindow::getFocusSelectedItem()
{
BListView *view;
view = getCurrentListView();
int32 sel = view->CurrentSelection();
if(sel >= 0) {
return (BStringItem *)view->ItemAt(sel);
}
return NULL;
}
示例4: GetItemData
/**
* @brief Returns associated data of specified index.
* @param[in] index item index.
* @return associated data.
*/
void* BeListViewAdapter::GetItemData(SInt32 index)
{
BListView* listView = getListView();
BeGenericDataStringItem* listItem = dynamic_cast<BeGenericDataStringItem*>(listView->ItemAt(index));
if (NULL != listItem)
{
return listItem->GetItemData();
}
else
{
return NULL;
}
}
示例5: GetItemText
/**
* @brief Gets a string at specified index from the control.
* @param[in] index index
* @param[out] text a string value is returned.
*/
void BeListViewAdapter::GetItemText(SInt32 index, MBCString& text)
{
BListView* listView = getListView();
BStringItem* listItem = dynamic_cast<BStringItem*>(listView->ItemAt(index));
if (NULL != listItem)
{
text = listItem->Text();
}
else
{
text.Empty();
}
}
示例6: entry
void
SearchApp::LaunchFile(BMessage *message)
{
BListView *searchResults ;
int32 index ;
message->FindPointer("source", (void**)&searchResults) ;
message->FindInt32("index", &index) ;
BStringItem *result = (BStringItem*)searchResults->ItemAt(index) ;
entry_ref ref ;
BEntry entry(result->Text()) ;
entry.GetRef(&ref) ;
be_roster->Launch(&ref) ;
}
示例7: Enable
/**
* @brief Makes the control enabled or disabled.
* @param[in] doEnable true to enable the control, or false to disable the control.
*/
void BeListViewAdapter::Enable(bool doEnable)
{
BListView* listView = getListView();
int32 count = listView->CountItems();
int32 index;
for (index = 0; index < count; index++)
{
BListItem* listItem = listView->ItemAt(index);
listItem->SetEnabled(doEnable);
}
listView->LockLooper();
listView->Invalidate();
listView->UnlockLooper();
isEnabled = doEnable;
}
示例8: haikuListGetIdValueAttrib
static char* haikuListGetIdValueAttrib(Ihandle* ih, int id)
{
BView* view = (BView*)ih->handle;
BMenuField* menu = dynamic_cast<BMenuField*>(view);
if(menu)
{
UNIMPLEMENTED
return NULL;
}
BListView* listview = iuphaikuGetListView(view);
if(listview)
{
BStringItem* item = (BStringItem*)listview->ItemAt(id - 1);
return (char*)item->Text();
} else {
fprintf(stderr, "View hierarchy problem\n");
}
return NULL;
}
示例9: directory
void
KeymapWindow::MessageReceived(BMessage* message)
{
switch (message->what) {
case B_SIMPLE_DATA:
case B_REFS_RECEIVED:
{
entry_ref ref;
int32 i = 0;
while (message->FindRef("refs", i++, &ref) == B_OK) {
fCurrentMap.Load(ref);
fAppliedMap = fCurrentMap;
}
fKeyboardLayoutView->SetKeymap(&fCurrentMap);
fSystemListView->DeselectAll();
fUserListView->DeselectAll();
break;
}
case B_SAVE_REQUESTED:
{
entry_ref ref;
const char *name;
if (message->FindRef("directory", &ref) == B_OK
&& message->FindString("name", &name) == B_OK) {
BDirectory directory(&ref);
BEntry entry(&directory, name);
entry.GetRef(&ref);
fCurrentMap.SetName(name);
fCurrentMap.Save(ref);
fAppliedMap = fCurrentMap;
_FillUserMaps();
fCurrentMapName = name;
_SelectCurrentMap();
}
break;
}
case kMsgMenuFileOpen:
fOpenPanel->Show();
break;
case kMsgMenuFileSaveAs:
fSavePanel->Show();
break;
case kChangeKeyboardLayout:
{
entry_ref ref;
BPath path;
if (message->FindRef("ref", &ref) == B_OK)
path.SetTo(&ref);
_SetKeyboardLayout(path.Path());
break;
}
case kMsgSwitchShortcuts:
_SwitchShortcutKeys();
break;
case kMsgMenuFontChanged:
{
BMenuItem *item = fFontMenu->FindMarked();
if (item != NULL) {
BFont font;
font.SetFamilyAndStyle(item->Label(), NULL);
fKeyboardLayoutView->SetFont(font);
fTextControl->TextView()->SetFontAndColor(&font);
}
break;
}
case kMsgSystemMapSelected:
case kMsgUserMapSelected:
{
BListView* listView;
BListView* otherListView;
if (message->what == kMsgSystemMapSelected) {
listView = fSystemListView;
otherListView = fUserListView;
} else {
listView = fUserListView;
otherListView = fSystemListView;
}
int32 index = listView->CurrentSelection();
if (index < 0)
break;
// Deselect item in other BListView
otherListView->DeselectAll();
if (index == 0 && listView == fUserListView) {
// we can safely ignore the "(Current)" item
break;
}
KeymapListItem* item
= static_cast<KeymapListItem*>(listView->ItemAt(index));
//.........这里部分代码省略.........
示例10: directory
//.........这里部分代码省略.........
fKeyboardLayoutView->SetBaseFont(font);
fTextControl->TextView()->SetFontAndColor(&font);
}
break;
}
case kMsgSystemMapSelected:
case kMsgUserMapSelected:
{
BListView* listView;
BListView* otherListView;
if (message->what == kMsgSystemMapSelected) {
listView = fSystemListView;
otherListView = fUserListView;
} else {
listView = fUserListView;
otherListView = fSystemListView;
}
int32 index = listView->CurrentSelection();
if (index < 0)
break;
// Deselect item in other BListView
otherListView->DeselectAll();
if (index == 0 && listView == fUserListView) {
// we can safely ignore the "(Current)" item
break;
}
KeymapListItem* item
= static_cast<KeymapListItem*>(listView->ItemAt(index));
if (item != NULL) {
fCurrentMap.Load(item->EntryRef());
fAppliedMap = fCurrentMap;
fKeyboardLayoutView->SetKeymap(&fCurrentMap);
_UseKeymap();
_UpdateButtons();
}
break;
}
case kMsgDefaultKeymap:
_DefaultKeymap();
_UpdateButtons();
break;
case kMsgRevertKeymap:
_RevertKeymap();
_UpdateButtons();
break;
case kMsgUpdateNormalKeys:
{
uint32 keyCode;
if (message->FindUInt32("keyCode", &keyCode) != B_OK)
break;
bool unset;
if (message->FindBool("unset", &unset) == B_OK && unset) {
fCurrentMap.SetKey(keyCode, modifiers(), 0, "", 0);
_UpdateButtons();
fKeyboardLayoutView->SetKeymap(&fCurrentMap);
}
示例11: tracker
void
TEnclosuresView::MessageReceived(BMessage *msg)
{
switch (msg->what)
{
case LIST_INVOKED:
{
BListView *list;
msg->FindPointer("source", (void **)&list);
if (list)
{
TListItem *item = (TListItem *) (list->ItemAt(msg->FindInt32("index")));
if (item)
{
BMessenger tracker("application/x-vnd.Be-TRAK");
if (tracker.IsValid())
{
BMessage message(B_REFS_RECEIVED);
message.AddRef("refs", item->Ref());
tracker.SendMessage(&message);
}
}
}
break;
}
case M_REMOVE:
{
int32 index;
while ((index = fList->CurrentSelection()) >= 0)
{
TListItem *item = (TListItem *) fList->ItemAt(index);
fList->RemoveItem(index);
if (item->Component())
{
TMailWindow *window = dynamic_cast<TMailWindow *>(Window());
if (window && window->Mail())
window->Mail()->RemoveComponent(item->Component());
(new BAlert("", TR(
"Removing attachments from a forwarded mail is not yet "
"implemented!\nIt will not yet work correctly."),
TR("OK")))->Go();
}
else
watch_node(item->NodeRef(), B_STOP_WATCHING, this);
delete item;
}
break;
}
case M_SELECT:
fList->Select(0, fList->CountItems() - 1, true);
break;
case B_SIMPLE_DATA:
case B_REFS_RECEIVED:
case REFS_RECEIVED:
if (msg->HasRef("refs"))
{
bool badType = false;
int32 index = 0;
entry_ref ref;
while (msg->FindRef("refs", index++, &ref) == B_NO_ERROR)
{
BFile file(&ref, O_RDONLY);
if (file.InitCheck() == B_OK && file.IsFile())
{
TListItem *item;
for (int16 loop = 0; loop < fList->CountItems(); loop++)
{
item = (TListItem *) fList->ItemAt(loop);
if (ref == *(item->Ref()))
{
fList->Select(loop);
fList->ScrollToSelection();
continue;
}
}
fList->AddItem(item = new TListItem(&ref));
fList->Select(fList->CountItems() - 1);
fList->ScrollToSelection();
watch_node(item->NodeRef(), B_WATCH_NAME, this);
}
else
badType = true;
}
if (badType)
{
beep();
(new BAlert("",
TR("Only files can be added as attachments."),
TR("OK")))->Go();
}
}
break;
//.........这里部分代码省略.........
示例12: newMessage
void
LocaleWindow::MessageReceived(BMessage* message)
{
switch (message->what) {
case kMsgDefaults:
_Defaults();
break;
case kMsgRevert:
be_app_messenger.SendMessage(message);
_UpdatePreferredFromLocaleRoster();
break;
case kMsgLanguageDragged:
{
void* target = NULL;
if (message->FindPointer("drop_target", &target) != B_OK
|| target != fPreferredListView)
break;
// Add from available languages to preferred languages
int32 dropIndex;
if (message->FindInt32("drop_index", &dropIndex) != B_OK)
dropIndex = fPreferredListView->CountItems();
int32 index = 0;
for (int32 i = 0; message->FindInt32("index", i, &index) == B_OK;
i++) {
LanguageListItem* item = static_cast<LanguageListItem*>(
fLanguageListView->FullListItemAt(index));
_InsertPreferredLanguage(item, dropIndex++);
}
break;
}
case kMsgLanguageInvoked:
{
int32 index = 0;
for (int32 i = 0; message->FindInt32("index", i, &index) == B_OK;
i++) {
LanguageListItem* item = static_cast<LanguageListItem*>(
fLanguageListView->ItemAt(index));
_InsertPreferredLanguage(item);
}
break;
}
case kMsgPreferredLanguageDragged:
{
void* target = NULL;
if (fPreferredListView->CountItems() == 1
|| message->FindPointer("drop_target", &target) != B_OK)
break;
if (target == fPreferredListView) {
// change ordering
int32 dropIndex = message->FindInt32("drop_index");
int32 index = 0;
if (message->FindInt32("index", &index) == B_OK
&& dropIndex != index) {
BListItem* item = fPreferredListView->RemoveItem(index);
if (dropIndex > index)
index--;
fPreferredListView->AddItem(item, dropIndex);
_PreferredLanguagesChanged();
}
break;
}
// supposed to fall through - remove item
}
case kMsgPreferredLanguageDeleted:
case kMsgPreferredLanguageInvoked:
{
if (fPreferredListView->CountItems() == 1)
break;
// Remove from preferred languages
int32 index = 0;
if (message->FindInt32("index", &index) == B_OK) {
delete fPreferredListView->RemoveItem(index);
_PreferredLanguagesChanged();
if (message->what == kMsgPreferredLanguageDeleted)
fPreferredListView->Select(index);
}
break;
}
case kMsgCountrySelection:
{
// Country selection changed.
// Get the new selected country from the ListView and send it to the
// main app event handler.
void* listView;
if (message->FindPointer("source", &listView) != B_OK)
break;
BListView* countryList = static_cast<BListView*>(listView);
//.........这里部分代码省略.........