| Index: views/controls/table/group_table_view.h
|
| diff --git a/views/controls/table/group_table_view.h b/views/controls/table/group_table_view.h
|
| deleted file mode 100644
|
| index 586fb806a90e716628ea19f8ebabbff48180eadf..0000000000000000000000000000000000000000
|
| --- a/views/controls/table/group_table_view.h
|
| +++ /dev/null
|
| @@ -1,87 +0,0 @@
|
| -// Copyright (c) 2011 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_TABLE_GROUP_TABLE_VIEW_H_
|
| -#define VIEWS_CONTROLS_TABLE_GROUP_TABLE_VIEW_H_
|
| -#pragma once
|
| -
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "ui/base/models/table_model.h"
|
| -#include "views/controls/table/table_view.h"
|
| -
|
| -namespace views {
|
| -
|
| -struct GroupRange {
|
| - int start;
|
| - int length;
|
| -};
|
| -
|
| -// The model driving the GroupTableView.
|
| -class GroupTableModel : public ui::TableModel {
|
| - public:
|
| - // Populates the passed range with the first row/last row (included)
|
| - // that this item belongs to.
|
| - virtual void GetGroupRangeForItem(int item, GroupRange* range) = 0;
|
| -};
|
| -
|
| -// GroupTableView adds grouping to the TableView class.
|
| -// It allows to have groups of rows that act as a single row from the selection
|
| -// perspective. Groups are visually separated by a horizontal line.
|
| -class VIEWS_EXPORT GroupTableView : public TableView {
|
| - public:
|
| - // The view class name.
|
| - static const char kViewClassName[];
|
| -
|
| - GroupTableView(GroupTableModel* model,
|
| - const std::vector<ui::TableColumn>& columns,
|
| - TableTypes table_type, bool single_selection,
|
| - bool resizable_columns, bool autosize_columns,
|
| - bool draw_group_separators);
|
| - virtual ~GroupTableView();
|
| -
|
| - virtual std::string GetClassName() const;
|
| -
|
| - protected:
|
| - // Notification from the ListView that the selected state of an item has
|
| - // changed.
|
| - void OnSelectedStateChanged();
|
| -
|
| - // Extra-painting required to draw the separator line between groups.
|
| - virtual bool ImplementPostPaint() { return true; }
|
| - virtual void PostPaint(int model_row, int column, bool selected,
|
| - const gfx::Rect& bounds, HDC device_context);
|
| -
|
| - // In order to make keyboard navigation possible (using the Up and Down
|
| - // keys), we must take action when an arrow key is pressed. The reason we
|
| - // need to process this message has to do with the manner in which the focus
|
| - // needs to be set on a group item when a group is selected.
|
| - virtual bool OnKeyDown(ui::KeyboardCode virtual_keycode);
|
| -
|
| - // Overriden to make sure rows in the same group stay grouped together.
|
| - virtual int CompareRows(int model_row1, int model_row2);
|
| -
|
| - // Updates model_index_to_range_start_map_ from the model.
|
| - virtual void PrepareForSort();
|
| -
|
| - private:
|
| - // Make the selection of group consistent.
|
| - void SyncSelection();
|
| -
|
| - GroupTableModel* model_;
|
| -
|
| - // If true, draw separators between groups.
|
| - bool draw_group_separators_;
|
| -
|
| - // A factory to make the selection consistent among groups.
|
| - base::WeakPtrFactory<GroupTableView> sync_selection_factory_;
|
| -
|
| - // Maps from model row to start of group.
|
| - std::map<int,int> model_index_to_range_start_map_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(GroupTableView);
|
| -};
|
| -
|
| -} // namespace views
|
| -
|
| -#endif // VIEWS_CONTROLS_TABLE_GROUP_TABLE_VIEW_H_
|
|
|