// Checked: 2011-11-08 (RLVa-1.5.0) BOOL RlvFloaterStrings::postBuild() { // Set up the UI controls m_pStringList = findChild<LLComboBox>("string_list"); m_pStringList->setCommitCallback(boost::bind(&RlvFloaterStrings::checkDirty, this, true)); LLUICtrl* pDefaultBtn = findChild<LLUICtrl>("default_btn"); pDefaultBtn->setCommitCallback(boost::bind(&RlvFloaterStrings::onStringRevertDefault, this)); // Read all string metadata from the default strings file llifstream fileStream(RlvStrings::getStringMapPath(), std::ios::binary); LLSD sdFileData; if ( (fileStream.is_open()) && (LLSDSerialize::fromXMLDocument(sdFileData, fileStream)) ) { m_sdStringsInfo = sdFileData["strings"]; fileStream.close(); } // Populate the combo box for (LLSD::map_const_iterator itString = m_sdStringsInfo.beginMap(); itString != m_sdStringsInfo.endMap(); ++itString) { const LLSD& sdStringInfo = itString->second; if ( (!sdStringInfo.has("customizable")) || (!sdStringInfo["customizable"].asBoolean()) ) continue; m_pStringList->add( (sdStringInfo.has("label")) ? sdStringInfo["label"].asString() : itString->first, itString->first); } refresh(); return TRUE; }
bool LLPanelPlacesTab::isTabVisible() { LLUICtrl* parent = getParentUICtrl(); if (!parent) return false; if (!parent->getVisible()) return false; return true; }
bool LLPanelPreferenceGraphics::hasDirtyChilds() { std::list<LLView*> view_stack; view_stack.push_back(this); while(!view_stack.empty()) { // Process view on top of the stack LLView* curview = view_stack.front(); view_stack.pop_front(); LLUICtrl* ctrl = dynamic_cast<LLUICtrl*>(curview); if (ctrl) { if(ctrl->isDirty()) return true; } // Push children onto the end of the work stack for (child_list_t::const_iterator iter = curview->getChildList()->begin(); iter != curview->getChildList()->end(); ++iter) { view_stack.push_back(*iter); } } return false; }
void LLPanel::setFocus(BOOL b) { if( b ) { if (!gFocusMgr.childHasKeyboardFocus(this)) { //refresh(); if (!focusFirstItem()) { LLUICtrl::setFocus(TRUE); } onFocusReceived(); } } else { if( this == gFocusMgr.getKeyboardFocus() ) { gFocusMgr.setKeyboardFocus( NULL ); } else { //RN: why is this here? LLView::ctrl_list_t ctrls = getCtrlList(); for (LLView::ctrl_list_t::iterator ctrl_it = ctrls.begin(); ctrl_it != ctrls.end(); ++ctrl_it) { LLUICtrl* ctrl = *ctrl_it; ctrl->setFocus( FALSE ); } } } }
void LLNearbyChatToastPanel::setHeaderVisibility(EShowItemHeader e) { LLUICtrl* icon = getChild<LLUICtrl>("avatar_icon", false); if(icon) icon->setVisible(e == CHATITEMHEADER_SHOW_ONLY_ICON || e==CHATITEMHEADER_SHOW_BOTH); }
void LLPanel::childSetUserData(const std::string& id, void* userdata) { LLUICtrl* child = getChild<LLUICtrl>(id, true); if (child) { child->setCallbackUserData(userdata); } }
void LLPanel::childSetValidate(const std::string& id, BOOL (*cb)(LLUICtrl*, void*)) { LLUICtrl* child = getChild<LLUICtrl>(id, true); if (child) { child->setValidateBeforeCommit(cb); } }
void LLPanel::childSetFocusChangedCallback(const std::string& id, void (*cb)(LLFocusableElement*, void*), void* user_data) { LLUICtrl* child = getChild<LLUICtrl>(id, true); if (child) { child->setFocusChangedCallback(cb, user_data); } }
void LLPanel::childSetMaxValue(const std::string& id, LLSD max_value) { LLUICtrl* child = getChild<LLUICtrl>(id, true); if (child) { child->setMaxValue(max_value); } }
void LLPanel::childSetTentative(const std::string& id, bool tentative) { LLUICtrl* child = findChild<LLUICtrl>(id); if (child) { child->setTentative(tentative); } }
void LLPanel::childSetAlpha(const std::string& id, F32 alpha) { LLUICtrl* child = getChild<LLUICtrl>(id, true); if (child) { child->setAlpha(alpha); } }
void LLPanel::childSetFocus(const std::string& id, BOOL focus) { LLUICtrl* child = findChild<LLUICtrl>(id); if (child) { child->setFocus(focus); } }
void LLPanel::childSetColor(const std::string& id, const LLColor4& color) { LLUICtrl* child = findChild<LLUICtrl>(id); if (child) { child->setColor(color); } }
void LLPanel::childSetValue(const std::string& id, LLSD value) { LLUICtrl* child = findChild<LLUICtrl>(id); if (child) { child->setValue(value); } }
void LLPanel::childSetControlName(const std::string& id, const std::string& control_name) { LLUICtrl* view = findChild<LLUICtrl>(id); if (view) { view->setControlName(control_name, NULL); } }
// *TODO: Deprecate; for backwards compatability only: // Prefer getChild<LLUICtrl>("foo")->setCommitCallback(boost:bind(...)), // which takes a generic slot. Or use mCommitCallbackRegistrar.add() with // a named callback and reference it in XML. void LLPanel::childSetCommitCallback(const std::string& id, boost::function<void (LLUICtrl*,void*)> cb, void* data) { LLUICtrl* child = findChild<LLUICtrl>(id); if (child) { child->setCommitCallback(boost::bind(cb, child, data)); } }
void LLPanel::childSetValidate(const std::string& id, boost::function<bool (const LLSD& data)> cb) { LLUICtrl* child = findChild<LLUICtrl>(id); if (child) { child->setValidateBeforeCommit(cb); } }
void LLPanel::setCtrlsEnabled( BOOL b ) { LLView::ctrl_list_t ctrls = getCtrlList(); for (LLView::ctrl_list_t::iterator ctrl_it = ctrls.begin(); ctrl_it != ctrls.end(); ++ctrl_it) { LLUICtrl* ctrl = *ctrl_it; ctrl->setEnabled( b ); } }
LLCtrlListInterface* LLPanel::childGetListInterface(const std::string& id) const { LLUICtrl* child = getChild<LLUICtrl>(id, true); if (child) { return child->getListInterface(); } return NULL; }
LLCtrlScrollInterface* LLPanel::childGetScrollInterface(const std::string& id) const { LLUICtrl* child = findChild<LLUICtrl>(id); if (child) { return child->getScrollInterface(); } return NULL; }
BOOL LLPanel::childSetTextArg(const std::string& id, const std::string& key, const LLStringExplicit& text) { LLUICtrl* child = findChild<LLUICtrl>(id); if (child) { return child->setTextArg(key, text); } return FALSE; }
LLSD LLPanel::childGetValue(const std::string& id) const { LLUICtrl* child = findChild<LLUICtrl>(id); if (child) { return child->getValue(); } // Not found => return undefined return LLSD(); }
void LLObjectBackup::updateExportNumbers() { std::stringstream sstr; LLUICtrl* ctrl = getChild<LLUICtrl>("name_label"); sstr << "Export Progress \n"; sstr << "Remaining Textures " << mTexturesList.size() << "\n"; ctrl->setValue(LLSD("Text") = sstr.str()); }
BOOL LLFloaterAutoReplaceSettings::postBuild(void) { // get copies of the current settings that we will operate on mEnabled = gSavedSettings.getBOOL("AutoReplace"); LL_DEBUGS("AutoReplace") << ( mEnabled ? "enabled" : "disabled") << LL_ENDL; mSettings = LLAutoReplace::getInstance()->getSettings(); // global checkbox for whether or not autoreplace is active LLUICtrl* enabledCheckbox = getChild<LLUICtrl>("autoreplace_enable"); enabledCheckbox->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onAutoReplaceToggled, this)); enabledCheckbox->setValue(LLSD(mEnabled)); // top row list creation and deletion getChild<LLUICtrl>("autoreplace_import_list")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onImportList,this)); getChild<LLUICtrl>("autoreplace_export_list")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onExportList,this)); getChild<LLUICtrl>("autoreplace_new_list")->setCommitCallback( boost::bind(&LLFloaterAutoReplaceSettings::onNewList,this)); getChild<LLUICtrl>("autoreplace_delete_list")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onDeleteList,this)); // the list of keyword->replacement lists mListNames = getChild<LLScrollListCtrl>("autoreplace_list_name"); mListNames->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onSelectList, this)); mListNames->setCommitOnSelectionChange(true); // list ordering getChild<LLUICtrl>("autoreplace_list_up")->setCommitCallback( boost::bind(&LLFloaterAutoReplaceSettings::onListUp,this)); getChild<LLUICtrl>("autoreplace_list_down")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onListDown,this)); // keyword->replacement entry add / delete getChild<LLUICtrl>("autoreplace_add_entry")->setCommitCallback( boost::bind(&LLFloaterAutoReplaceSettings::onAddEntry,this)); getChild<LLUICtrl>("autoreplace_delete_entry")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onDeleteEntry,this)); // entry edits mKeyword = getChild<LLLineEditor>("autoreplace_keyword"); mReplacement = getChild<LLLineEditor>("autoreplace_replacement"); getChild<LLUICtrl>("autoreplace_save_entry")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onSaveEntry, this)); // dialog termination ( Save Changes / Cancel ) getChild<LLUICtrl>("autoreplace_save_changes")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onSaveChanges, this)); getChild<LLUICtrl>("autoreplace_cancel")->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::close, this, false)); // the list of keyword->replacement pairs mReplacementsList = getChild<LLScrollListCtrl>("autoreplace_list_replacements"); mReplacementsList->setCommitCallback(boost::bind(&LLFloaterAutoReplaceSettings::onSelectEntry, this)); mReplacementsList->setCommitOnSelectionChange(true); center(); mSelectedListName.clear(); updateListNames(); updateListNamesControls(); updateReplacementsList(); return true; }
// virtual void LLPanel::clearCtrls() { LLView::ctrl_list_t ctrls = getCtrlList(); for (LLView::ctrl_list_t::iterator ctrl_it = ctrls.begin(); ctrl_it != ctrls.end(); ++ctrl_it) { LLUICtrl* ctrl = *ctrl_it; ctrl->setFocus( FALSE ); ctrl->setEnabled( FALSE ); ctrl->clear(); } }
void LLPanel::childSetDoubleClickCallback(const std::string& id, void (*cb)(void*), void *userdata ) { LLUICtrl* child = getChild<LLUICtrl>(id, true); if (child) { child->setDoubleClickCallback(cb); if (userdata) { child->setCallbackUserData(userdata); } } }
BOOL LLPanel::childHasFocus(const std::string& id) { LLUICtrl* child = findChild<LLUICtrl>(id); if (child) { return child->hasFocus(); } else { return FALSE; } }
BOOL LLPanel::childHasFocus(const std::string& id) { LLUICtrl* child = getChild<LLUICtrl>(id, true); if (child) { return child->hasFocus(); } else { childNotFound(id); return FALSE; } }
BOOL LLUICtrl::focusLastItem(BOOL prefer_text_fields) { // search for text field first if(prefer_text_fields) { LLCtrlQuery query = getTabOrderQuery(); query.addPreFilter(LLUICtrl::LLTextInputFilter::getInstance()); child_list_t result = query(this); if(result.size() > 0) { LLUICtrl * ctrl = static_cast<LLUICtrl*>(result.back()); if(!ctrl->hasFocus()) { ctrl->setFocus(TRUE); ctrl->onTabInto(); gFocusMgr.triggerFocusFlash(); } return TRUE; } } // no text field found, or we don't care about text fields child_list_t result = getTabOrderQuery().run(this); if(result.size() > 0) { LLUICtrl * ctrl = static_cast<LLUICtrl*>(result.back()); if(!ctrl->hasFocus()) { ctrl->setFocus(TRUE); ctrl->onTabInto(); gFocusMgr.triggerFocusFlash(); } return TRUE; } return FALSE; }
void LLPanelMediaHUD::setAlpha(F32 alpha) { LLViewQuery query; LLView* query_view = mMediaFocus ? getChildView("media_focused_controls") : getChildView("media_hover_controls"); child_list_t children = query(query_view); for (child_list_iter_t child_iter = children.begin(); child_iter != children.end(); ++child_iter) { LLUICtrl* ctrl = dynamic_cast<LLUICtrl*>(*child_iter); if (ctrl) ctrl->setAlpha(alpha); } LLPanel::setAlpha(alpha); }