summaryrefslogtreecommitdiff
path: root/indra/llui/llfiltereditor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui/llfiltereditor.cpp')
-rw-r--r--indra/llui/llfiltereditor.cpp74
1 files changed, 4 insertions, 70 deletions
diff --git a/indra/llui/llfiltereditor.cpp b/indra/llui/llfiltereditor.cpp
index 26b5f2e182..390504234d 100644
--- a/indra/llui/llfiltereditor.cpp
+++ b/indra/llui/llfiltereditor.cpp
@@ -37,81 +37,15 @@
#include "llfiltereditor.h"
LLFilterEditor::LLFilterEditor(const LLFilterEditor::Params& p)
-: LLUICtrl(p)
+: LLSearchEditor(p)
{
- LLLineEditor::Params line_editor_p(p);
- line_editor_p.name("filter edit box");
- line_editor_p.rect(getLocalRect());
- line_editor_p.follows.flags(FOLLOWS_ALL);
- line_editor_p.text_pad_right(getRect().getHeight());
- line_editor_p.revert_on_esc(false);
- line_editor_p.keystroke_callback(boost::bind(&LLUICtrl::onCommit, this));
-
- mFilterEditor = LLUICtrlFactory::create<LLLineEditor>(line_editor_p);
- addChild(mFilterEditor);
-
- S32 btn_width = getRect().getHeight(); // button is square, and as tall as search editor
- LLRect clear_btn_rect(getRect().getWidth() - btn_width, getRect().getHeight(), getRect().getWidth(), 0);
- LLButton::Params button_params(p.clear_filter_button);
- button_params.name(std::string("clear filter"));
- button_params.rect(clear_btn_rect) ;
- button_params.follows.flags(FOLLOWS_RIGHT|FOLLOWS_TOP);
- button_params.tab_stop(false);
- button_params.click_callback.function(boost::bind(&LLFilterEditor::onClearFilter, this, _2));
-
- mClearFilterButton = LLUICtrlFactory::create<LLButton>(button_params);
- mFilterEditor->addChild(mClearFilterButton);
-}
-
-//virtual
-void LLFilterEditor::setValue(const LLSD& value )
-{
- mFilterEditor->setValue(value);
-}
-
-//virtual
-LLSD LLFilterEditor::getValue() const
-{
- return mFilterEditor->getValue();
-}
-
-//virtual
-BOOL LLFilterEditor::setTextArg( const std::string& key, const LLStringExplicit& text )
-{
- return mFilterEditor->setTextArg(key, text);
}
-//virtual
-BOOL LLFilterEditor::setLabelArg( const std::string& key, const LLStringExplicit& text )
-{
- return mFilterEditor->setLabelArg(key, text);
-}
-
-//virtual
-void LLFilterEditor::setLabel( const LLStringExplicit &new_label )
-{
- mFilterEditor->setLabel(new_label);
-}
-
-//virtual
-void LLFilterEditor::clear()
-{
- if (mFilterEditor)
- {
- mFilterEditor->clear();
- }
-}
-void LLFilterEditor::draw()
+void LLFilterEditor::handleKeystroke()
{
- mClearFilterButton->setVisible(!mFilterEditor->getWText().empty());
-
- LLUICtrl::draw();
-}
+ this->LLSearchEditor::handleKeystroke();
-void LLFilterEditor::onClearFilter(const LLSD& data)
-{
- setText(LLStringUtil::null);
+ // Commit on every keystroke.
onCommit();
}
-