| Index: ios/chrome/browser/ui/bookmarks/bookmark_folder_view_controller.h
|
| diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_folder_view_controller.h b/ios/chrome/browser/ui/bookmarks/bookmark_folder_view_controller.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d2deeaa2c2dd05b037512809dd696bc5ceb89b52
|
| --- /dev/null
|
| +++ b/ios/chrome/browser/ui/bookmarks/bookmark_folder_view_controller.h
|
| @@ -0,0 +1,87 @@
|
| +// Copyright 2014 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 IOS_CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_FOLDER_VIEW_CONTROLLER_H_
|
| +#define IOS_CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_FOLDER_VIEW_CONTROLLER_H_
|
| +
|
| +#import <UIKit/UIKit.h>
|
| +#include <set>
|
| +
|
| +@class BookmarkFolderViewController;
|
| +namespace bookmarks {
|
| +class BookmarkModel;
|
| +class BookmarkNode;
|
| +} // namespace bookmarks
|
| +
|
| +@protocol BookmarkFolderViewControllerDelegate
|
| +// Called when a bookmark folder is selected. |folder| is the newly selected
|
| +// folder.
|
| +- (void)folderPicker:(BookmarkFolderViewController*)folderPicker
|
| + didFinishWithFolder:(const bookmarks::BookmarkNode*)folder;
|
| +// Called when the user is done with the picker, either by tapping the Cancel or
|
| +// the Back button.
|
| +- (void)folderPickerDidCancel:(BookmarkFolderViewController*)folderPicker;
|
| +@end
|
| +
|
| +// A folder selector view controller.
|
| +//
|
| +// This controller monitors the state of the bookmark model, so changes to the
|
| +// bookmark model can affect this controller's state.
|
| +// The bookmark model is assumed to be loaded, thus also not to be NULL.
|
| +@interface BookmarkFolderViewController : UIViewController
|
| +
|
| +@property(nonatomic, assign) id<BookmarkFolderViewControllerDelegate> delegate;
|
| +
|
| +// The current nodes (bookmarks or folders) that are considered for a move.
|
| +@property(nonatomic, assign, readonly)
|
| + const std::set<const bookmarks::BookmarkNode*>& editedNodes;
|
| +
|
| +// Initializes the view controller with a bookmarks model. |allowsNewFolders|
|
| +// will instruct the controller to provide the necessary UI to create a folder.
|
| +// |bookmarkModel| must not be NULL and must be loaded.
|
| +// |editedNodes| affects which cells can be selected, since it is not possible
|
| +// to move a node into its subnode.
|
| +// |allowsCancel| puts a cancel and done button in the navigation bar instead of
|
| +// a back button, which is needed if this view controller is presented modally.
|
| +- (instancetype)
|
| +initWithBookmarkModel:(bookmarks::BookmarkModel*)bookmarkModel
|
| + allowsNewFolders:(BOOL)allowsNewFolders
|
| + editedNodes:(const std::set<const bookmarks::BookmarkNode*>&)nodes
|
| + allowsCancel:(BOOL)allowsCancel
|
| + selectedFolder:(const bookmarks::BookmarkNode*)selectedFolder;
|
| +
|
| +// This method changes the currently selected folder and updates the UI. The
|
| +// delegate is not notified of the change.
|
| +- (void)changeSelectedFolder:(const bookmarks::BookmarkNode*)selectedFolder;
|
| +
|
| +#pragma mark UIScrollViewDelegate
|
| +
|
| +// Updates the MDCAppBar with changes to the collection view scroll state. Must
|
| +// be called by subclasses if they override this method in order to maintain
|
| +// this functionality.
|
| +- (void)scrollViewDidScroll:(UIScrollView*)scrollView NS_REQUIRES_SUPER;
|
| +
|
| +// Updates the MDCAppBar with changes to the collection view scroll state. Must
|
| +// be called by subclasses if they override this method in order to maintain
|
| +// this functionality.
|
| +- (void)scrollViewDidEndDragging:(UIScrollView*)scrollView
|
| + willDecelerate:(BOOL)decelerate NS_REQUIRES_SUPER;
|
| +
|
| +// Updates the MDCAppBar with changes to the collection view scroll state. Must
|
| +// be called by subclasses if they override this method in order to maintain
|
| +// this functionality.
|
| +- (void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView
|
| + NS_REQUIRES_SUPER;
|
| +
|
| +// Updates the MDCAppBar with changes to the collection view scroll state. Must
|
| +// be called by subclasses if they override this method in order to maintain
|
| +// this functionality.
|
| +- (void)scrollViewWillEndDragging:(UIScrollView*)scrollView
|
| + withVelocity:(CGPoint)velocity
|
| + targetContentOffset:(inout CGPoint*)targetContentOffset
|
| + NS_REQUIRES_SUPER;
|
| +
|
| +@end
|
| +
|
| +#endif // IOS_CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_FOLDER_VIEW_CONTROLLER_H_
|
|
|