summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/views/autofill/expanding_textfield.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/views/autofill/expanding_textfield.h')
-rw-r--r--chrome/browser/ui/views/autofill/expanding_textfield.h88
1 files changed, 0 insertions, 88 deletions
diff --git a/chrome/browser/ui/views/autofill/expanding_textfield.h b/chrome/browser/ui/views/autofill/expanding_textfield.h
deleted file mode 100644
index c34bf76..0000000
--- a/chrome/browser/ui/views/autofill/expanding_textfield.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_VIEWS_AUTOFILL_EXPANDING_TEXTFIELD_H_
-#define CHROME_BROWSER_UI_VIEWS_AUTOFILL_EXPANDING_TEXTFIELD_H_
-
-#include <list>
-
-#include "base/strings/string16.h"
-#include "chrome/browser/ui/views/autofill/decorated_textfield.h"
-#include "ui/views/controls/textfield/textfield_controller.h"
-#include "ui/views/view.h"
-
-namespace gfx {
-class Image;
-}
-
-namespace autofill {
-
-// A view that houses a stack of textfields. The stack grows as needed.
-class ExpandingTextfield : public views::View,
- public views::TextfieldController {
- public:
- static const char kViewClassName[];
-
- // When |multiline| is false, the view acts pretty much like a normal
- // DecoratedTextfield.
- ExpandingTextfield(const base::string16& default_value,
- const base::string16& placeholder,
- bool multiline,
- views::TextfieldController* controller);
- virtual ~ExpandingTextfield();
-
- // Sets the contents of the textfields. Textfield n is set to the nth line
- // of |text|, as separated by line returns.
- void SetText(const base::string16& text);
- // Concatenates text contents of all textfields (with line returns as the
- // joining character) and returns it.
- base::string16 GetText();
-
- // Sets whether to indicate the first textfield has invalid content. Latter
- // textfields are always valid.
- void SetInvalid(bool invalid);
- bool invalid() {
- return textfields_.front()->invalid();
- }
-
- // Like validity, this only cares about the first textfield.
- void SetEditable(bool editable);
- bool editable() {
- return textfields_.front()->editable();
- }
-
- // DecoratedTextfield pass-throughs.
- void SetDefaultWidthInCharacters(int chars);
- void SetPlaceholderText(const base::string16& placeholder);
- void SetIcon(const gfx::Image& icon);
- void SetTooltipIcon(const base::string16& text);
-
- // View implementation.
- virtual const char* GetClassName() const OVERRIDE;
- using views::View::needs_layout;
-
- // TextfieldController implementation.
- virtual void ContentsChanged(views::Textfield* sender,
- const base::string16& new_contents) OVERRIDE;
- virtual bool HandleKeyEvent(views::Textfield* sender,
- const ui::KeyEvent& key_event) OVERRIDE;
- virtual bool HandleMouseEvent(views::Textfield* sender,
- const ui::MouseEvent& mouse_event) OVERRIDE;
-
- private:
- // Calls a given function on every textfield.
- template <typename BaseType, typename Param>
- void ForEachTextfield(void (BaseType::* f)(Param), Param p) const;
-
- // The list of textfields. Owned as child views.
- std::list<DecoratedTextfield*> textfields_;
-
- TextfieldController* controller_;
-
- DISALLOW_COPY_AND_ASSIGN(ExpandingTextfield);
-};
-
-} // namespace autofill
-
-#endif // CHROME_BROWSER_UI_VIEWS_AUTOFILL_EXPANDING_TEXTFIELD_H_