1 // Copyright 2013 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 UI_VIEWS_CONTROLS_PREFIX_DELEGATE_H_ 6 #define UI_VIEWS_CONTROLS_PREFIX_DELEGATE_H_ 7 8 #include "ui/views/view.h" 9 10 namespace views { 11 12 // An interface used to expose lists of items for selection by text input. 13 class VIEWS_EXPORT PrefixDelegate : public View { 14 public: 15 // Returns the total number of selectable items. 16 virtual int GetRowCount() = 0; 17 18 // Returns the row of the currently selected item, or -1 if no item is 19 // selected. 20 virtual int GetSelectedRow() = 0; 21 22 // Sets the selection to the specified row. 23 virtual void SetSelectedRow(int row) = 0; 24 25 // Returns the item at the specified row. 26 virtual base::string16 GetTextForRow(int row) = 0; 27 28 protected: 29 virtual ~PrefixDelegate() {} 30 }; 31 32 } // namespace views 33 34 #endif // UI_VIEWS_CONTROLS_PREFIX_DELEGATE_H_ 35