本文整理汇总了C++中LLPanelDirBrowser类的典型用法代码示例。如果您正苦于以下问题:C++ LLPanelDirBrowser类的具体用法?C++ LLPanelDirBrowser怎么用?C++ LLPanelDirBrowser使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了LLPanelDirBrowser类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
//static
void LLFloaterDirectory::performQueryOn2(const std::string& name, const std::string& search_text)
{
if (search_text.empty()) return; // We're done here.
LLPanelDirBrowser* panel = sInstance->getChild<LLPanelDirBrowser>(name);
panel->getChild<LLUICtrl>("name")->setValue(search_text);
panel->performQuery();
}
示例2: onClickSearchCore
// static
// called from calssifieds, events, groups, land, people, and places
void LLPanelDirBrowser::onClickSearchCore(void* userdata)
{
LLPanelDirBrowser* self = (LLPanelDirBrowser*)userdata;
if (!self) return;
self->resetSearchStart();
self->performQuery();
LLFloaterDirectory::sOldSearchCount++;
}
示例3: onKeystrokeName
void LLPanelDirBrowser::onKeystrokeName(LLLineEditor* line, void* data)
{
LLPanelDirBrowser *self = (LLPanelDirBrowser*)data;
if (line->getLength() >= (S32)self->mMinSearchChars)
{
self->setDefaultBtn( "Search" );
self->childEnable("Search");
}
else
{
self->setDefaultBtn();
self->childDisable("Search");
}
}
示例4: onCommitList
// static
void LLPanelDirBrowser::onCommitList(LLUICtrl* ctrl, void* data)
{
LLPanelDirBrowser* self = (LLPanelDirBrowser*)data;
LLCtrlListInterface *list = self->childGetListInterface("results");
if (!list) return;
// Start with everyone invisible
if (self->mFloaterDirectory)
{
self->mFloaterDirectory->hideAllDetailPanels();
}
if (FALSE == list->getCanSelect())
{
return;
}
std::string id_str = self->childGetValue("results").asString();
if (id_str.empty())
{
return;
}
LLSD item_id = list->getCurrentID();
S32 type = self->mResultsContents[id_str]["type"];
if (type == EVENT_CODE)
{
// all but events use the UUID above
item_id = self->mResultsContents[id_str]["event_id"];
}
//std::string name = self->mResultsContents[id_str]["name"].asString();
self->showDetailPanel(type, item_id);
if (type == FOR_SALE_CODE)
{
std::string land_type = self->mResultsContents[id_str]["landtype"].asString();
if (self->mFloaterDirectory && self->mFloaterDirectory->mPanelPlaceSmallp)
{
self->mFloaterDirectory->mPanelPlaceSmallp->setLandTypeString(land_type);
}
}
}
示例5: processDirClassifiedReply
// static
void LLPanelDirBrowser::processDirClassifiedReply(LLMessageSystem* msg, void**)
{
S32 i;
S32 num_new_rows;
LLUUID agent_id;
LLUUID query_id;
msg->getUUID("AgentData", "AgentID", agent_id);
if (agent_id != gAgent.getID())
{
llwarns << "Message for wrong agent " << agent_id
<< " in processDirClassifiedReply" << llendl;
return;
}
msg->getUUID("QueryData", "QueryID", query_id);
LLPanelDirBrowser* self = gDirBrowserInstances.getIfThere(query_id);
if (!self)
{
return;
}
if (msg->getNumberOfBlocks("StatusData"))
{
U32 status;
msg->getU32("StatusData", "Status", status);
if (status & STATUS_SEARCH_CLASSIFIEDS_BANNEDWORD)
{
LLNotificationsUtil::add("SearchWordBanned");
}
}
self->mHaveSearchResults = TRUE;
LLScrollListCtrl* list = self->findChild<LLScrollListCtrl>("results");
if (!list) return;
if (!list->getCanSelect())
{
list->operateOnAll(LLCtrlListInterface::OP_DELETE);
self->mResultsContents = LLSD();
}
num_new_rows = msg->getNumberOfBlocksFast(_PREHASH_QueryReplies);
self->mResultsReceived += num_new_rows;
num_new_rows = self->showNextButton(num_new_rows);
for (i = 0; i < num_new_rows; i++)
{
LLUUID classified_id;
std::string name;
U32 creation_date = 0; // unix timestamp
U32 expiration_date = 0; // future use
S32 price_for_listing = 0;
msg->getUUID("QueryReplies", "ClassifiedID", classified_id, i);
msg->getString("QueryReplies", "Name", name, i);
msg->getU32("QueryReplies","CreationDate",creation_date,i);
msg->getU32("QueryReplies","ExpirationDate",expiration_date,i);
msg->getS32("QueryReplies","PriceForListing",price_for_listing,i);
if ( classified_id.notNull() )
{
self->addClassified(list, classified_id, name, creation_date, price_for_listing);
LLSD content;
content["type"] = CLASSIFIED_CODE;
content["name"] = name;
self->mResultsContents[classified_id.asString()] = content;
}
}
// The server does the initial sort, by price paid per listing and date. JC
self->updateResultCount();
// Poke the result received timer
self->mLastResultTimer.reset();
self->mDidAutoSelect = FALSE;
}
示例6: processDirGroupsReply
// static
void LLPanelDirBrowser::processDirGroupsReply(LLMessageSystem* msg, void**)
{
S32 i;
LLUUID query_id;
LLUUID group_id;
std::string group_name;
S32 members;
F32 search_order;
msg->getUUIDFast(_PREHASH_QueryData,_PREHASH_QueryID, query_id );
LLPanelDirBrowser* self;
self = gDirBrowserInstances.getIfThere(query_id);
if (!self)
{
return;
}
self->mHaveSearchResults = TRUE;
LLScrollListCtrl* list = self->findChild<LLScrollListCtrl>("results");
if (!list) return;
if (!list->getCanSelect())
{
list->operateOnAll(LLCtrlListInterface::OP_DELETE);
self->mResultsContents = LLSD();
}
S32 rows = msg->getNumberOfBlocksFast(_PREHASH_QueryReplies);
self->mResultsReceived += rows;
rows = self->showNextButton(rows);
for (i = 0; i < rows; i++)
{
msg->getUUIDFast(_PREHASH_QueryReplies, _PREHASH_GroupID, group_id, i );
msg->getStringFast(_PREHASH_QueryReplies, _PREHASH_GroupName, group_name, i);
msg->getS32Fast(_PREHASH_QueryReplies, _PREHASH_Members, members, i );
msg->getF32Fast(_PREHASH_QueryReplies, _PREHASH_SearchOrder, search_order, i );
if (group_id.isNull())
{
continue;
}
LLSD content;
content["type"] = GROUP_CODE;
content["name"] = group_name;
LLSD row;
row["id"] = group_id;
LLUUID image_id;
row["columns"][0]["column"] = "icon";
row["columns"][0]["type"] = "icon";
row["columns"][0]["value"] = "icon_group.tga";
row["columns"][1]["column"] = "name";
row["columns"][1]["value"] = group_name;
row["columns"][1]["font"] = "SANSSERIF";
row["columns"][2]["column"] = "members";
row["columns"][2]["value"] = members;
row["columns"][2]["font"] = "SANSSERIF_SMALL";
row["columns"][3]["column"] = "score";
row["columns"][3]["value"] = search_order;
list->addElement(row);
self->mResultsContents[group_id.asString()] = content;
}
list->sortByColumn(self->mCurrentSortColumn, self->mCurrentSortAscending);
self->updateResultCount();
// Poke the result received timer
self->mLastResultTimer.reset();
self->mDidAutoSelect = FALSE;
}
示例7: processDirEventsReply
void LLPanelDirBrowser::processDirEventsReply(LLMessageSystem* msg, void**)
{
LLUUID agent_id;
LLUUID query_id;
LLUUID owner_id;
std::string name;
std::string date;
BOOL show_pg = gSavedSettings.getBOOL("ShowPGEvents");
BOOL show_mature = gSavedSettings.getBOOL("ShowMatureEvents");
BOOL show_adult = gSavedSettings.getBOOL("ShowAdultEvents");
msg->getUUID("AgentData", "AgentID", agent_id);
msg->getUUID("QueryData", "QueryID", query_id );
LLPanelDirBrowser* self;
self = gDirBrowserInstances.getIfThere(query_id);
if (!self)
{
return;
}
if (msg->getNumberOfBlocks("StatusData"))
{
U32 status;
msg->getU32("StatusData", "Status", status);
if (status & STATUS_SEARCH_EVENTS_BANNEDWORD)
{
LLNotificationsUtil::add("SearchWordBanned");
}
}
self->mHaveSearchResults = TRUE;
LLScrollListCtrl* list = self->findChild<LLScrollListCtrl>("results");
if (!list) return;
if (!list->getCanSelect())
{
list->operateOnAll(LLCtrlListInterface::OP_DELETE);
self->mResultsContents = LLSD();
}
S32 rows = msg->getNumberOfBlocks("QueryReplies");
self->mResultsReceived += rows;
rows = self->showNextButton(rows);
for (S32 i = 0; i < rows; i++)
{
U32 event_id;
U32 unix_time;
U32 event_flags;
msg->getUUID("QueryReplies", "OwnerID", owner_id, i);
msg->getString("QueryReplies", "Name", name, i);
msg->getU32("QueryReplies", "EventID", event_id, i);
// msg->getString("QueryReplies", "Date", date, i);
msg->getU32("QueryReplies", "UnixTime", unix_time, i);
msg->getU32("QueryReplies", "EventFlags", event_flags, i);
// Skip empty events
if (owner_id.isNull())
{
//RN: should this check event_id instead?
llwarns << "skipped event due to owner_id null, event_id " << event_id << llendl;
continue;
}
// skip events that don't match the flags
// there's no PG flag, so we make sure neither adult nor mature is set
if (((event_flags & (EVENT_FLAG_ADULT | EVENT_FLAG_MATURE)) == EVENT_FLAG_NONE) && !show_pg)
{
//llwarns << "Skipped pg event because we're not showing pg, event_id " << event_id << llendl;
continue;
}
if ((event_flags & EVENT_FLAG_MATURE) && !show_mature)
{
//llwarns << "Skipped mature event because we're not showing mature, event_id " << event_id << llendl;
continue;
}
if ((event_flags & EVENT_FLAG_ADULT) && !show_adult)
{
//llwarns << "Skipped adult event because we're not showing adult, event_id " << event_id << llendl;
continue;
}
LLSD content;
content["type"] = EVENT_CODE;
content["name"] = name;
content["event_id"] = (S32)event_id;
LLSD row;
row["id"] = llformat("%u", event_id);
// Column 0 - event icon
LLUUID image_id;
if (event_flags == EVENT_FLAG_ADULT)
//.........这里部分代码省略.........
示例8: processDirPlacesReply
void LLPanelDirBrowser::processDirPlacesReply(LLMessageSystem* msg, void**)
{
LLUUID agent_id;
LLUUID query_id;
LLUUID parcel_id;
std::string name;
BOOL is_for_sale;
BOOL is_auction;
F32 dwell;
msg->getUUID("AgentData", "AgentID", agent_id);
msg->getUUID("QueryData", "QueryID", query_id );
if (msg->getNumberOfBlocks("StatusData"))
{
U32 status;
msg->getU32("StatusData", "Status", status);
if (status & STATUS_SEARCH_PLACES_BANNEDWORD)
{
LLNotificationsUtil::add("SearchWordBanned");
}
}
LLPanelDirBrowser* self;
self = gDirBrowserInstances.getIfThere(query_id);
if (!self)
{
// data from an old query
return;
}
self->mHaveSearchResults = TRUE;
LLScrollListCtrl* list = self->findChild<LLScrollListCtrl>("results");
if (!list) return;
if (!list->getCanSelect())
{
list->operateOnAll(LLCtrlListInterface::OP_DELETE);
self->mResultsContents = LLSD();
}
S32 count = msg->getNumberOfBlocks("QueryReplies");
self->mResultsReceived += count;
count = self->showNextButton(count);
for (S32 i = 0; i < count ; i++)
{
msg->getUUID("QueryReplies", "ParcelID", parcel_id, i);
msg->getString("QueryReplies", "Name", name, i);
msg->getBOOL("QueryReplies", "ForSale", is_for_sale, i);
msg->getBOOL("QueryReplies", "Auction", is_auction, i);
msg->getF32("QueryReplies", "Dwell", dwell, i);
if (parcel_id.isNull())
{
continue;
}
LLSD content;
S32 type;
LLSD row = self->createLandSale(parcel_id, is_auction, is_for_sale, name, &type);
content["type"] = type;
content["name"] = name;
std::string buffer = llformat("%.0f", (F64)dwell);
row["columns"][3]["column"] = "dwell";
row["columns"][3]["value"] = buffer;
row["columns"][3]["font"] = "SANSSERIF_SMALL";
list->addElement(row);
self->mResultsContents[parcel_id.asString()] = content;
}
list->sortByColumn(self->mCurrentSortColumn, self->mCurrentSortAscending);
self->updateResultCount();
// Poke the result received timer
self->mLastResultTimer.reset();
self->mDidAutoSelect = FALSE;
}
示例9: processDirPeopleReply
void LLPanelDirBrowser::processDirPeopleReply(LLMessageSystem *msg, void**)
{
LLUUID query_id;
std::string first_name;
std::string last_name;
LLUUID agent_id;
msg->getUUIDFast(_PREHASH_QueryData,_PREHASH_QueryID, query_id);
LLPanelDirBrowser* self;
self = gDirBrowserInstances.getIfThere(query_id);
if (!self)
{
// data from an old query
return;
}
self->mHaveSearchResults = TRUE;
LLScrollListCtrl* list = self->findChild<LLScrollListCtrl>("results");
if (!list) return;
if (!list->getCanSelect())
{
list->operateOnAll(LLCtrlListInterface::OP_DELETE);
self->mResultsContents = LLSD();
}
S32 rows = msg->getNumberOfBlocksFast(_PREHASH_QueryReplies);
self->mResultsReceived += rows;
rows = self->showNextButton(rows);
for (S32 i = 0; i < rows; i++)
{
msg->getStringFast(_PREHASH_QueryReplies,_PREHASH_FirstName, first_name, i);
msg->getStringFast(_PREHASH_QueryReplies,_PREHASH_LastName, last_name, i);
msg->getUUIDFast( _PREHASH_QueryReplies,_PREHASH_AgentID, agent_id, i);
// msg->getU8Fast( _PREHASH_QueryReplies,_PREHASH_Online, online, i);
// unused
// msg->getStringFast(_PREHASH_QueryReplies,_PREHASH_Group, group, i);
// msg->getS32Fast( _PREHASH_QueryReplies,_PREHASH_Reputation, reputation, i);
if (agent_id.isNull())
{
continue;
}
LLSD content;
LLSD row;
row["id"] = agent_id;
// We don't show online status in the finder anymore,
// so just use the 'offline' icon as the generic 'person' icon
row["columns"][0]["column"] = "icon";
row["columns"][0]["type"] = "icon";
row["columns"][0]["value"] = "icon_avatar_offline.tga";
content["type"] = AVATAR_CODE;
std::string fullname = first_name + " " + last_name;
row["columns"][1]["column"] = "name";
row["columns"][1]["value"] = fullname;
row["columns"][1]["font"] = "SANSSERIF";
content["name"] = fullname;
list->addElement(row);
self->mResultsContents[agent_id.asString()] = content;
}
list->sortByColumn(self->mCurrentSortColumn, self->mCurrentSortAscending);
self->updateResultCount();
// Poke the result received timer
self->mLastResultTimer.reset();
self->mDidAutoSelect = FALSE;
}
示例10: onClickNext
// static
void LLPanelDirBrowser::onClickNext(void* data)
{
LLPanelDirBrowser* self = (LLPanelDirBrowser*)data;
self->nextPage();
}
示例11: onClickPrev
// static
void LLPanelDirBrowser::onClickPrev(void* data)
{
LLPanelDirBrowser* self = (LLPanelDirBrowser*)data;
self->prevPage();
}