Index: chrome/browser/ui/gtk/gtk_tree.h |
diff --git a/chrome/browser/ui/gtk/gtk_tree.h b/chrome/browser/ui/gtk/gtk_tree.h |
deleted file mode 100644 |
index 3711c26eaa6b05e7b669715ec3f41c3b9b121f76..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/gtk/gtk_tree.h |
+++ /dev/null |
@@ -1,212 +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 CHROME_BROWSER_UI_GTK_GTK_TREE_H_ |
-#define CHROME_BROWSER_UI_GTK_GTK_TREE_H_ |
- |
-#include <gtk/gtk.h> |
- |
-#include <set> |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/compiler_specific.h" |
-#include "chrome/browser/remove_rows_table_model.h" |
-#include "ui/base/models/table_model_observer.h" |
-#include "ui/base/models/tree_model.h" |
- |
-namespace ui { |
-class TableModel; |
-} |
- |
-namespace gtk_tree { |
- |
-// Get the row number corresponding to |path|. |
-gint GetRowNumForPath(GtkTreePath* path); |
- |
-// Get the row number corresponding to |iter|. |
-gint GetRowNumForIter(GtkTreeModel* model, GtkTreeIter* iter); |
- |
-// Get the row number in the child tree model corresponding to |sort_path| in |
-// the parent tree model. |
-gint GetTreeSortChildRowNumForPath(GtkTreeModel* sort_model, |
- GtkTreePath* sort_path); |
- |
-// Select the given row by number. |
-void SelectAndFocusRowNum(int row, GtkTreeView* tree_view); |
- |
-// Remove the row and all its children from the |tree_store|. If there is a |
-// following row, |iter| will be updated to point to the it and the return value |
-// will be true, otherwise the return will be false and |iter| is no longer |
-// valid. |
-bool RemoveRecursively(GtkTreeStore* tree_store, GtkTreeIter* iter); |
- |
-// Writes all the indexes of selected rows into |out|. |
-void GetSelectedIndices(GtkTreeSelection* selection, std::set<int>* out); |
- |
-// A helper class for populating a GtkListStore from a ui::TableModel. |
-class TableAdapter : public ui::TableModelObserver { |
- public: |
- |
- enum ColumnID { |
- COL_TITLE = 0, |
- COL_IS_HEADER, |
- COL_IS_SEPARATOR, |
- COL_GROUP_ID, |
- COL_WEIGHT, |
- COL_WEIGHT_SET, |
- COL_LAST_ID |
- }; |
- |
- class Delegate { |
- public: |
- // Should fill in the column and row. |
- virtual void SetColumnValues(int row, GtkTreeIter* iter) = 0; |
- |
- // Called after any change to the ui::TableModel but before the |
- // corresponding change to the GtkListStore. |
- virtual void OnAnyModelUpdateStart() {} |
- |
- // Called after any change to the ui::TableModel. |
- virtual void OnAnyModelUpdate() {} |
- |
- // When the ui::TableModel has been completely changed, called by |
- // OnModelChanged after clearing the list store. Can be overridden by the |
- // delegate if it needs to do extra initialization before the list store is |
- // populated. |
- virtual void OnModelChanged() {} |
- |
- protected: |
- virtual ~Delegate() {} |
- }; |
- |
- // |table_model| may be NULL. |
- TableAdapter(Delegate* delegate, |
- GtkListStore* list_store, |
- ui::TableModel* table_model); |
- virtual ~TableAdapter() {} |
- |
- // Replace the ui::TableModel with a different one. If the list store |
- // currently has items this would cause weirdness, so this should generally |
- // only be called during the Delegate's OnModelChanged call, or if the adapter |
- // was created with a NULL |table_model|. |
- void SetModel(ui::TableModel* table_model); |
- |
- // Add all model rows corresponding to the given list store indices to |rows|. |
- void MapListStoreIndicesToModelRows(const std::set<int>& list_store_indices, |
- RemoveRowsTableModel::Rows* model_rows); |
- |
- // GtkTreeModel callbacks: |
- // Callback checking whether a row should be drawn as a separator. |
- static gboolean OnCheckRowIsSeparator(GtkTreeModel* model, |
- GtkTreeIter* iter, |
- gpointer user_data); |
- |
- // Callback checking whether a row may be selected. We use some rows in the |
- // table as headers/separators for the groups, which should not be selectable. |
- static gboolean OnSelectionFilter(GtkTreeSelection* selection, |
- GtkTreeModel* model, |
- GtkTreePath* path, |
- gboolean path_currently_selected, |
- gpointer user_data); |
- |
- // ui::TableModelObserver implementation. |
- virtual void OnModelChanged() OVERRIDE; |
- virtual void OnItemsChanged(int start, int length) OVERRIDE; |
- virtual void OnItemsAdded(int start, int length) OVERRIDE; |
- virtual void OnItemsRemoved(int start, int length) OVERRIDE; |
- |
- private: |
- // Return whether the row pointed to by |iter| is a group row, i.e. a group |
- // header, or a separator. |
- bool IsGroupRow(GtkTreeIter* iter) const; |
- |
- // Return the index into the list store for the given model row. |
- int GetListStoreIndexForModelRow(int model_row) const; |
- |
- // Add the values from |row| of the ui::TableModel. |
- void AddNodeToList(int row); |
- |
- Delegate* delegate_; |
- GtkListStore* list_store_; |
- ui::TableModel* table_model_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TableAdapter); |
-}; |
- |
-// A helper class for populating a GtkTreeStore from a TreeModel. |
-// TODO(mattm): support SetRootShown(true) |
-class TreeAdapter : public ui::TreeModelObserver { |
- public: |
- // Column ids for |tree_store_|. |
- enum { |
- COL_ICON, |
- COL_TITLE, |
- COL_NODE_PTR, |
- COL_COUNT, |
- }; |
- |
- class Delegate { |
- public: |
- // Called after any change to the TreeModel but before the corresponding |
- // change to the GtkTreeStore. |
- virtual void OnAnyModelUpdateStart() {} |
- |
- // Called after any change to the GtkTreeStore. |
- virtual void OnAnyModelUpdate() {} |
- |
- protected: |
- virtual ~Delegate() {} |
- }; |
- |
- TreeAdapter(Delegate* delegate, ui::TreeModel* tree_model); |
- virtual ~TreeAdapter(); |
- |
- // Populate the tree store from the |tree_model_|. |
- void Init(); |
- |
- // Return the tree store. |
- GtkTreeStore* tree_store() { return tree_store_; } |
- |
- // Get the TreeModelNode corresponding to iter in the tree store. |
- ui::TreeModelNode* GetNode(GtkTreeIter* iter); |
- |
- // Begin TreeModelObserver implementation. |
- virtual void TreeNodesAdded(ui::TreeModel* model, |
- ui::TreeModelNode* parent, |
- int start, |
- int count) OVERRIDE; |
- virtual void TreeNodesRemoved(ui::TreeModel* model, |
- ui::TreeModelNode* parent, |
- int start, |
- int count) OVERRIDE; |
- virtual void TreeNodeChanged(ui::TreeModel* model, |
- ui::TreeModelNode* node) OVERRIDE; |
- // End TreeModelObserver implementation. |
- |
- private: |
- // Fill the tree store values for a given node. |
- void FillRow(GtkTreeIter* iter, ui::TreeModelNode* node); |
- |
- // Fill the tree store for a row and all its descendants. |
- void Fill(GtkTreeIter* parent_iter, ui::TreeModelNode* parent_node); |
- |
- // Get the GtkTreePath in the tree store for the given node. |
- // The returned path should be freed with gtk_tree_path_free. |
- GtkTreePath* GetTreePath(ui::TreeModelNode* node); |
- |
- // Get the GtkTreeIter in the tree store for the given node. |
- bool GetTreeIter(ui::TreeModelNode* node, GtkTreeIter* iter); |
- |
- Delegate* delegate_; |
- GtkTreeStore* tree_store_; |
- ui::TreeModel* tree_model_; |
- std::vector<GdkPixbuf*> pixbufs_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TreeAdapter); |
-}; |
- |
-} // namespace gtk_tree |
- |
-#endif // CHROME_BROWSER_UI_GTK_GTK_TREE_H_ |