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

Side by Side Diff: chrome/browser/bookmark_drag_data.h

Issue 1868: Moves bookmark related classes into bookmarks directory. There are no... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/bookmark_codec.cc ('k') | chrome/browser/bookmark_drag_data.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_BOOKMARK_DRAG_DATA_
6 #define CHROME_BROWSER_BOOKMARK_DRAG_DATA_
7
8 #include <vector>
9
10 #include "chrome/browser/history/history.h"
11 #include "googleurl/src/gurl.h"
12
13 class BookmarkBarModel;
14 class BookmarkBarNode;
15 class OSExchangeData;
16 class Pickle;
17
18 // BookmarkDragData is used by the bookmark bar to represent a dragged
19 // URL or starred group on the clipboard during drag and drop.
20 //
21 // Typical usage when writing data for a drag is:
22 // BookmarkDragData data(node_user_is_dragging);
23 // data.profile_id = profile_id;
24 // data.Write(os_exchange_data_for_drag);
25 //
26 // Typical usage to read is:
27 // BookmarkDragData data;
28 // if (data.Read(os_exchange_data))
29 // // data is valid
30
31 struct BookmarkDragData {
32 BookmarkDragData();
33
34 // Created a BookmarkDragData populated from node.
35 explicit BookmarkDragData(BookmarkBarNode* node);
36
37 // Writes this BookmarkDragData to data. If BookmarkDragData is a URL,
38 // this writes out the URL and URL title clipboard data as well.
39 void Write(OSExchangeData* data) const;
40
41 // Restores this data from the clipboard, returning true on success.
42 bool Read(const OSExchangeData& data);
43
44 // Returns the node represented by this drag data from root. If the
45 // path can not be found, NULL is returned.
46 //
47 // This is only valid for groups.
48 BookmarkBarNode* BookmarkDragData::GetNode(BookmarkBarModel* model) const;
49
50 // If true, this entry represents a StarredEntry of type URL.
51 bool is_url;
52
53 // ID of the profile we originated from.
54 std::wstring profile_id;
55
56 // The URL, only valid if is_url is true.
57 GURL url;
58
59 // Title of the entry
60 std::wstring title;
61
62 // Children, only used for non-URL nodes.
63 std::vector<BookmarkDragData> children;
64
65 // If true our data is valid.
66 bool is_valid;
67
68 private:
69 // Writes the data to a Pickle.
70 void WriteToPickle(Pickle* pickle) const;
71
72 bool ReadFromPickle(Pickle* pickle, void** iterator);
73
74 // Adds to children an entry for each child of node.
75 void AddChildren(BookmarkBarNode* node);
76
77 // ID (node->id()) of the node this BookmarkDragData was created from.
78 int id_;
79 };
80
81 #endif // CHROME_BROWSER_BOOKMARK_DRAG_DATA_
82
OLDNEW
« no previous file with comments | « chrome/browser/bookmark_codec.cc ('k') | chrome/browser/bookmark_drag_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698