Home | History | Annotate | Download | only in models
      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 UI_BASE_MODELS_COMBOBOX_MODEL_H_
      6 #define UI_BASE_MODELS_COMBOBOX_MODEL_H_
      7 
      8 #include "base/strings/string16.h"
      9 #include "ui/base/ui_export.h"
     10 
     11 namespace ui {
     12 
     13 // A data model for a combo box.
     14 class UI_EXPORT ComboboxModel {
     15  public:
     16   // Returns the number of items in the combo box.
     17   virtual int GetItemCount() const = 0;
     18 
     19   // Returns the string at the specified index.
     20   virtual base::string16 GetItemAt(int index) = 0;
     21 
     22   // Should return true if the item at |index| is a non-selectable separator
     23   // item.
     24   virtual bool IsItemSeparatorAt(int index);
     25 
     26   // The index of the item that is selected by default (before user
     27   // interaction).
     28   virtual int GetDefaultIndex() const;
     29 
     30  protected:
     31   virtual ~ComboboxModel() {}
     32 };
     33 
     34 }  // namespace ui
     35 
     36 #endif  // UI_BASE_MODELS_COMBOBOX_MODEL_H_
     37