1fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch// found in the LICENSE file. 4fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 5fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch#ifndef UI_VIEWS_CONTROLS_PREFIX_DELEGATE_H_ 6fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch#define UI_VIEWS_CONTROLS_PREFIX_DELEGATE_H_ 7fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 8fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch#include "ui/views/view.h" 9fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 10fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdochnamespace views { 11fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 12fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch// An interface used to expose lists of items for selection by text input. 13fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdochclass VIEWS_EXPORT PrefixDelegate : public View { 14fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch public: 15fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch // Returns the total number of selectable items. 16fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch virtual int GetRowCount() = 0; 17fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 18fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch // Returns the row of the currently selected item, or -1 if no item is 19fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch // selected. 20fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch virtual int GetSelectedRow() = 0; 21fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 22fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch // Sets the selection to the specified row. 23fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch virtual void SetSelectedRow(int row) = 0; 24fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 25fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch // Returns the item at the specified row. 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual base::string16 GetTextForRow(int row) = 0; 27fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 28fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch protected: 29fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch virtual ~PrefixDelegate() {} 30fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch}; 31fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 32fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch} // namespace views 33fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 34fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch#endif // UI_VIEWS_CONTROLS_PREFIX_DELEGATE_H_ 35