Home | History | Annotate | Download | only in controls
      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 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