Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / ui / cocoa / applescript / bookmark_node_applescript.h
blob4556e0b7d8977ac5007bfd4da19d3d091a6ab7eb
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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_COCOA_APPLESCRIPT_BOOKMARK_NODE_APPLESCRIPT_H_
6 #define CHROME_BROWSER_UI_COCOA_APPLESCRIPT_BOOKMARK_NODE_APPLESCRIPT_H_
8 #import <Cocoa/Cocoa.h>
10 #import "chrome/browser/ui/cocoa/applescript/element_applescript.h"
12 namespace bookmarks {
13 class BookmarkModel;
14 class BookmarkNode;
17 // Contains all the elements that are common to both a bookmark folder and
18 // bookmark item.
19 @interface BookmarkNodeAppleScript : ElementAppleScript {
20 @protected
21 const bookmarks::BookmarkNode* bookmarkNode_; // weak.
22 // Contains the temporary title when a scripter creates a new folder/item with
23 // title specified like
24 // |make new bookmark folder with properties {title:"foo"}|.
25 NSString* tempTitle_;
28 // Does not actually create a folder/item but just sets its ID, the folder is
29 // created in insertInBookmarksFolder: in the corresponding bookmarks folder.
30 - (id)init;
32 // Does not make a folder/item but instead uses an existing one.
33 - (id)initWithBookmarkNode:(const bookmarks::BookmarkNode*)aBookmarkNode;
35 // Assigns a node, sets its unique ID and also copies temporary values.
36 - (void)setBookmarkNode:(const bookmarks::BookmarkNode*)aBookmarkNode;
38 // Get and Set title.
39 - (NSString*)title;
40 - (void)setTitle:(NSString*)aTitle;
42 // Returns the index with respect to its parent bookmark folder.
43 - (NSNumber*)index;
45 // Returns the bookmark model of the browser, returns NULL if there is an error.
46 - (bookmarks::BookmarkModel*)bookmarkModel;
48 @end
50 #endif // CHROME_BROWSER_UI_COCOA_APPLESCRIPT_BOOKMARK_NODE_APPLESCRIPT_H_