| // Copyright 2016 The Chromium Embedded Framework 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 CEF_LIBCEF_BROWSER_VIEWS_TEXTFIELD_IMPL_H_ | |
| #define CEF_LIBCEF_BROWSER_VIEWS_TEXTFIELD_IMPL_H_ | |
| #pragma once | |
| #include "include/views/cef_textfield.h" | |
| #include "include/views/cef_textfield_delegate.h" | |
| #include "libcef/browser/views/textfield_view.h" | |
| #include "libcef/browser/views/view_impl.h" | |
| class CefTextfieldImpl | |
| : public CefViewImpl<CefTextfieldView, CefTextfield, CefTextfieldDelegate> { | |
| public: | |
| typedef CefViewImpl<CefTextfieldView, CefTextfield, CefTextfieldDelegate> | |
| ParentClass; | |
| // Create a new CefTextfield instance. |delegate| may be nullptr. | |
| static CefRefPtr<CefTextfieldImpl> Create( | |
| CefRefPtr<CefTextfieldDelegate> delegate); | |
| // CefTextfield methods: | |
| void SetPasswordInput(bool password_input) override; | |
| bool IsPasswordInput() override; | |
| void SetReadOnly(bool read_only) override; | |
| bool IsReadOnly() override; | |
| CefString GetText() override; | |
| void SetText(const CefString& text) override; | |
| void AppendText(const CefString& text) override; | |
| void InsertOrReplaceText(const CefString& text) override; | |
| bool HasSelection() override; | |
| CefString GetSelectedText() override; | |
| void SelectAll(bool reversed) override; | |
| void ClearSelection() override; | |
| CefRange GetSelectedRange() override; | |
| void SelectRange(const CefRange& range) override; | |
| size_t GetCursorPosition() override; | |
| void SetTextColor(cef_color_t color) override; | |
| cef_color_t GetTextColor() override; | |
| void SetSelectionTextColor(cef_color_t color) override; | |
| cef_color_t GetSelectionTextColor() override; | |
| void SetSelectionBackgroundColor(cef_color_t color) override; | |
| cef_color_t GetSelectionBackgroundColor() override; | |
| void SetFontList(const CefString& font_list) override; | |
| void ApplyTextColor(cef_color_t color, const CefRange& range) override; | |
| void ApplyTextStyle(cef_text_style_t style, | |
| bool add, | |
| const CefRange& range) override; | |
| bool IsCommandEnabled(int command_id) override; | |
| void ExecuteCommand(int command_id) override; | |
| void ClearEditHistory() override; | |
| void SetPlaceholderText(const CefString& text) override; | |
| CefString GetPlaceholderText() override; | |
| void SetPlaceholderTextColor(cef_color_t color) override; | |
| void SetAccessibleName(const CefString& name) override; | |
| // CefView methods: | |
| CefRefPtr<CefTextfield> AsTextfield() override { return this; } | |
| void SetBackgroundColor(cef_color_t color) override; | |
| cef_color_t GetBackgroundColor() override; | |
| // CefViewAdapter methods: | |
| std::string GetDebugType() override { return "Textfield"; } | |
| private: | |
| // Create a new implementation object. | |
| // Always call Initialize() after creation. | |
| // |delegate| may be nullptr. | |
| explicit CefTextfieldImpl(CefRefPtr<CefTextfieldDelegate> delegate); | |
| // CefViewImpl methods: | |
| CefTextfieldView* CreateRootView() override; | |
| void InitializeRootView() override; | |
| IMPLEMENT_REFCOUNTING_DELETE_ON_UIT(CefTextfieldImpl); | |
| DISALLOW_COPY_AND_ASSIGN(CefTextfieldImpl); | |
| }; | |
| #endif // CEF_LIBCEF_BROWSER_VIEWS_TEXTFIELD_IMPL_H_ |