OLD | NEW |
---|---|
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_CUSTOM_HOME_PAGES_TABLE_MODEL_H_ | 5 #ifndef CHROME_BROWSER_CUSTOM_HOME_PAGES_TABLE_MODEL_H_ |
6 #define CHROME_BROWSER_CUSTOM_HOME_PAGES_TABLE_MODEL_H_ | 6 #define CHROME_BROWSER_CUSTOM_HOME_PAGES_TABLE_MODEL_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <string> | 9 #include <string> |
viettrungluu
2010/12/29 23:41:17
No longer needed, but should probably include base
Avi (use Gerrit)
2010/12/30 00:04:15
No, overrides TableModel which includes.
viettrungluu
2010/12/30 00:35:13
I would include it because of the standalone use (
| |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "app/table_model.h" | 12 #include "app/table_model.h" |
13 #include "base/compiler_specific.h" | |
13 #include "chrome/browser/history/history.h" | 14 #include "chrome/browser/history/history.h" |
14 #include "chrome/browser/favicon_service.h" | 15 #include "chrome/browser/favicon_service.h" |
15 | 16 |
16 class GURL; | 17 class GURL; |
17 class Profile; | 18 class Profile; |
18 class SkBitmap; | 19 class SkBitmap; |
19 class TableModelObserver; | 20 class TableModelObserver; |
20 | 21 |
21 // CustomHomePagesTableModel is the model for the TableView showing the list | 22 // CustomHomePagesTableModel is the model for the TableView showing the list |
22 // of pages the user wants opened on startup. | 23 // of pages the user wants opened on startup. |
(...skipping 13 matching lines...) Expand all Loading... | |
36 void Remove(int index); | 37 void Remove(int index); |
37 | 38 |
38 // Clears any entries and fills the list with pages currently opened in the | 39 // Clears any entries and fills the list with pages currently opened in the |
39 // browser. | 40 // browser. |
40 void SetToCurrentlyOpenPages(); | 41 void SetToCurrentlyOpenPages(); |
41 | 42 |
42 // Returns the set of urls this model contains. | 43 // Returns the set of urls this model contains. |
43 std::vector<GURL> GetURLs(); | 44 std::vector<GURL> GetURLs(); |
44 | 45 |
45 // TableModel overrides: | 46 // TableModel overrides: |
46 virtual int RowCount(); | 47 virtual int RowCount() OVERRIDE; |
47 virtual std::wstring GetText(int row, int column_id); | 48 virtual string16 GetText(int row, int column_id) OVERRIDE; |
48 virtual SkBitmap GetIcon(int row); | 49 virtual SkBitmap GetIcon(int row) OVERRIDE; |
49 virtual std::wstring GetTooltip(int row); | 50 virtual string16 GetTooltip(int row) OVERRIDE; |
50 virtual void SetObserver(TableModelObserver* observer); | 51 virtual void SetObserver(TableModelObserver* observer) OVERRIDE; |
51 | 52 |
52 private: | 53 private: |
53 // Each item in the model is represented as an Entry. Entry stores the URL, | 54 // Each item in the model is represented as an Entry. Entry stores the URL, |
54 // title, and favicon of the page. | 55 // title, and favicon of the page. |
55 struct Entry; | 56 struct Entry; |
56 | 57 |
57 // Loads the title and favicon for the specified entry. | 58 // Loads the title and favicon for the specified entry. |
58 void LoadTitleAndFavIcon(Entry* entry); | 59 void LoadTitleAndFavIcon(Entry* entry); |
59 | 60 |
60 // Callback from history service. Updates the title of the Entry whose | 61 // Callback from history service. Updates the title of the Entry whose |
(...skipping 16 matching lines...) Expand all Loading... | |
77 Entry* GetEntryByLoadHandle(CancelableRequestProvider::Handle Entry::* member, | 78 Entry* GetEntryByLoadHandle(CancelableRequestProvider::Handle Entry::* member, |
78 CancelableRequestProvider::Handle handle, | 79 CancelableRequestProvider::Handle handle, |
79 int* entry_index); | 80 int* entry_index); |
80 | 81 |
81 // Returns the entry whose |fav_icon_handle| matches |handle| and sets | 82 // Returns the entry whose |fav_icon_handle| matches |handle| and sets |
82 // |entry_index| to the index of the entry. | 83 // |entry_index| to the index of the entry. |
83 Entry* GetEntryByFavIconHandle(FaviconService::Handle handle, | 84 Entry* GetEntryByFavIconHandle(FaviconService::Handle handle, |
84 int* entry_index); | 85 int* entry_index); |
85 | 86 |
86 // Returns the URL for a particular row, formatted for display to the user. | 87 // Returns the URL for a particular row, formatted for display to the user. |
87 std::wstring FormattedURL(int row) const; | 88 string16 FormattedURL(int row) const; |
88 | 89 |
89 // Set of entries we're showing. | 90 // Set of entries we're showing. |
90 std::vector<Entry> entries_; | 91 std::vector<Entry> entries_; |
91 | 92 |
92 // Default icon to show when one can't be found for the URL. | 93 // Default icon to show when one can't be found for the URL. |
93 SkBitmap* default_favicon_; | 94 SkBitmap* default_favicon_; |
94 | 95 |
95 // Profile used to load titles and icons. | 96 // Profile used to load titles and icons. |
96 Profile* profile_; | 97 Profile* profile_; |
97 | 98 |
98 TableModelObserver* observer_; | 99 TableModelObserver* observer_; |
99 | 100 |
100 // Used in loading titles and favicons. | 101 // Used in loading titles and favicons. |
101 CancelableRequestConsumer query_consumer_; | 102 CancelableRequestConsumer query_consumer_; |
102 | 103 |
103 DISALLOW_COPY_AND_ASSIGN(CustomHomePagesTableModel); | 104 DISALLOW_COPY_AND_ASSIGN(CustomHomePagesTableModel); |
104 }; | 105 }; |
105 | 106 |
106 #endif // CHROME_BROWSER_CUSTOM_HOME_PAGES_TABLE_MODEL_H_ | 107 #endif // CHROME_BROWSER_CUSTOM_HOME_PAGES_TABLE_MODEL_H_ |
OLD | NEW |