diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-18 21:58:23 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-18 21:58:23 +0000 |
commit | b1ed27851db7f86d7f71dfe4c897c796a953fc25 (patch) | |
tree | b9d972e7a6770b4c9055507fe2e9d329b0974106 /views/focus/external_focus_tracker.h | |
parent | cee34b707ac41e83ff9d9045c0ffda49ec3f556f (diff) | |
download | chromium_src-b1ed27851db7f86d7f71dfe4c897c796a953fc25.zip chromium_src-b1ed27851db7f86d7f71dfe4c897c796a953fc25.tar.gz chromium_src-b1ed27851db7f86d7f71dfe4c897c796a953fc25.tar.bz2 |
views: Move bubble, events, focus and layout to ui/views/.
Left stub files that will be removed in a follow up patch after updating
the files to point to the new location.
BUG=104039
R=ben@chromium.org
Review URL: http://codereview.chromium.org/8588064
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110761 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/focus/external_focus_tracker.h')
-rw-r--r-- | views/focus/external_focus_tracker.h | 70 |
1 files changed, 2 insertions, 68 deletions
diff --git a/views/focus/external_focus_tracker.h b/views/focus/external_focus_tracker.h index 62f553b..b350c9c 100644 --- a/views/focus/external_focus_tracker.h +++ b/views/focus/external_focus_tracker.h @@ -6,73 +6,7 @@ #define VIEWS_FOCUS_EXTERNAL_FOCUS_TRACKER_H_ #pragma once -#include "views/focus/focus_manager.h" - -namespace views { - -class View; -class ViewStorage; - -// ExternalFocusTracker tracks the last focused view which belongs to the -// provided focus manager and is not either the provided parent view or one of -// its descendants. This is generally used if the parent view want to return -// focus to some other view once it is dismissed. The parent view and the focus -// manager must exist for the duration of the tracking. If the focus manager -// must be deleted before this object is deleted, make sure to call -// SetFocusManager(NULL) first. -// -// Typical use: When a view is added to the view hierarchy, it instantiates an -// ExternalFocusTracker and passes in itself and its focus manager. Then, -// when that view wants to return focus to the last focused view which is not -// itself and not a descandant of itself, (usually when it is being closed) -// it calls FocusLastFocusedExternalView. -class VIEWS_EXPORT ExternalFocusTracker : public FocusChangeListener { - public: - ExternalFocusTracker(View* parent_view, FocusManager* focus_manager); - - virtual ~ExternalFocusTracker(); - // FocusChangeListener implementation. - virtual void OnWillChangeFocus(View* focused_before, View* focused_now); - virtual void OnDidChangeFocus(View* focused_before, View* focused_now); - - // Focuses last focused view which is not a child of parent view and is not - // parent view itself. Returns true if focus for a view was requested, false - // otherwise. - void FocusLastFocusedExternalView(); - - // Sets the focus manager whose focus we are tracking. |focus_manager| can - // be NULL, but no focus changes will be tracked. This is useful if the focus - // manager went away, but you might later want to start tracking with a new - // manager later, or call FocusLastFocusedExternalView to focus the previous - // view. - void SetFocusManager(FocusManager* focus_manager); - - private: - // Store the provided view. This view will be focused when - // FocusLastFocusedExternalView is called. - void StoreLastFocusedView(View* view); - - // Store the currently focused view for our view manager and register as a - // listener for future focus changes. - void StartTracking(); - - // Focus manager which we are a listener for. - FocusManager* focus_manager_; - - // ID of the last focused view, which we store in view_storage_. - int last_focused_view_storage_id_; - - // Used to store the last focused view which is not a child of - // ExternalFocusTracker. - ViewStorage* view_storage_; - - // The parent view of views which we should not track focus changes to. We - // also do not track changes to parent_view_ itself. - View* parent_view_; - - DISALLOW_COPY_AND_ASSIGN(ExternalFocusTracker); -}; - -} // namespace views +#include "ui/views/focus/external_focus_tracker.h" +// TODO(tfarina): remove this file once all includes have been updated. #endif // VIEWS_FOCUS_EXTERNAL_FOCUS_TRACKER_H_ |