Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7771)

Unified Diff: chrome/browser/ui/gtk/gtk_tree.h

Issue 231733005: Delete the GTK+ port of Chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remerge to ToT Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_

Powered by Google App Engine
This is Rietveld 408576698