autofill_popup_view.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_VIEW_H_ 6#define CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_VIEW_H_ 7 8#include "ui/gfx/native_widget_types.h" 9 10namespace gfx { 11class Rect; 12} 13 14namespace ui { 15class KeyEvent; 16} 17 18namespace autofill { 19 20class AutofillPopupController; 21 22// The interface for creating and controlling a platform-dependent 23// AutofillPopupView. 24class AutofillPopupView { 25 public: 26 // The minimum amount of padding between the Autofill name and subtext, 27 // in pixels. 28 static const size_t kNamePadding = 15; 29 30 // The amount of padding between icons in pixels. 31 static const int kIconPadding = 5; 32 33 // The amount of padding at the end of the popup in pixels. 34 static const int kEndPadding = 3; 35 36 // Height of the delete icon in pixels. 37 static const int kDeleteIconHeight = 16; 38 39 // Width of the delete icon in pixels. 40 static const int kDeleteIconWidth = 16; 41 42 // Displays the Autofill popup and fills it in with data from the controller. 43 virtual void Show() = 0; 44 45 // Hides the popup from view. This will cause the popup to be deleted. 46 virtual void Hide() = 0; 47 48 // Invalidates the given row and redraw it. 49 virtual void InvalidateRow(size_t row) = 0; 50 51 // Refreshes the position of the popup. 52 virtual void UpdateBoundsAndRedrawPopup() = 0; 53 54 // Factory function for creating the view. 55 static AutofillPopupView* Create(AutofillPopupController* controller); 56 57 protected: 58 virtual ~AutofillPopupView() {} 59}; 60 61} // namespace autofill 62 63#endif // CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_VIEW_H_ 64