| Index: views/controls/listbox/listbox.h
|
| ===================================================================
|
| --- views/controls/listbox/listbox.h (revision 0)
|
| +++ views/controls/listbox/listbox.h (revision 0)
|
| @@ -0,0 +1,69 @@
|
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef VIEWS_CONTROLS_LISTBOX_LISTBOX_H_
|
| +#define VIEWS_CONTROLS_LISTBOX_LISTBOX_H_
|
| +
|
| +#include "build/build_config.h"
|
| +
|
| +#include <string>
|
| +#include <vector>
|
| +
|
| +#include "base/string16.h"
|
| +#include "views/view.h"
|
| +
|
| +namespace views {
|
| +
|
| +class NativeListboxWrapper;
|
| +
|
| +// A Listbox is a view that displays multiple rows of fixed strings.
|
| +// Exactly one of these strings is shown as selected at all times.
|
| +class Listbox : public View {
|
| + public:
|
| + // An interface implemented by an object to let it know that a listbox
|
| + // selection has changed.
|
| + class Listener {
|
| + public:
|
| + // This is called if the user changes the current selection of the
|
| + // listbox.
|
| + virtual void ListboxSelectionChanged(Listbox* sender) = 0;
|
| + };
|
| +
|
| + // Creates a new listbox, given the list of strings. |listener| can be NULL.
|
| + // Listbox does not take ownership of |listener|.
|
| + Listbox(const std::vector<string16>& strings, Listbox::Listener* listener);
|
| + virtual ~Listbox();
|
| +
|
| + // Returns the number of rows in the table.
|
| + int GetRowCount() const;
|
| +
|
| + // Returns the 0-based index of the currently selected row, or -1 if nothing
|
| + // is selected. Note that as soon as a row has been selected once, there will
|
| + // always be a selected row.
|
| + int SelectedRow() const;
|
| +
|
| + // Selects the specified row. Note that this does NOT call the listener's
|
| + // |ListboxSelectionChanged()| method.
|
| + void SelectRow(int row);
|
| +
|
| + protected:
|
| + virtual NativeListboxWrapper* CreateWrapper();
|
| + virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child);
|
| +
|
| + private:
|
| + // Data stored in the listbox.
|
| + std::vector<string16> strings_;
|
| +
|
| + // Listens to selection changes.
|
| + Listbox::Listener* listener_;
|
| +
|
| + // The object that actually implements the table.
|
| + NativeListboxWrapper* native_wrapper_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(Listbox);
|
| +};
|
| +
|
| +} // namespace views
|
| +
|
| +#endif // VIEWS_CONTROLS_LISTBOX_LISTBOX_H_
|
|
|
| Property changes on: views\controls\listbox\listbox.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|