diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-07 15:38:19 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-07 15:38:19 +0000 |
commit | 9fc4f203c93d906a5b94a0e48556ee52515185f0 (patch) | |
tree | bd16f20b4442184b98ccf9db656491940b64cbcd /views | |
parent | 2f4294538dea93c4b48b20b9b564d09bb7591301 (diff) | |
download | chromium_src-9fc4f203c93d906a5b94a0e48556ee52515185f0.zip chromium_src-9fc4f203c93d906a5b94a0e48556ee52515185f0.tar.gz chromium_src-9fc4f203c93d906a5b94a0e48556ee52515185f0.tar.bz2 |
Bye bye tab close dot, we hardly knew you.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/2813045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51718 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r-- | views/controls/button/image_button.h | 19 | ||||
-rw-r--r-- | views/event.h | 6 | ||||
-rw-r--r-- | views/view.cc | 33 | ||||
-rw-r--r-- | views/view.h | 30 | ||||
-rw-r--r-- | views/widget/root_view.cc | 72 | ||||
-rw-r--r-- | views/widget/root_view.h | 24 |
6 files changed, 21 insertions, 163 deletions
diff --git a/views/controls/button/image_button.h b/views/controls/button/image_button.h index ffd426b..f755c18 100644 --- a/views/controls/button/image_button.h +++ b/views/controls/button/image_button.h @@ -18,14 +18,6 @@ namespace views { class ImageButton : public CustomButton { public: - enum HorizontalAlignment { ALIGN_LEFT = 0, - ALIGN_CENTER, - ALIGN_RIGHT, }; - - enum VerticalAlignment { ALIGN_TOP = 0, - ALIGN_MIDDLE, - ALIGN_BOTTOM }; - explicit ImageButton(ButtonListener* listener); virtual ~ImageButton(); @@ -37,10 +29,13 @@ class ImageButton : public CustomButton { const SkBitmap* image, const SkBitmap* mask); - // Explicitly sets the background image. - void set_background_image(const SkBitmap& background) { - background_image_ = background; - } + enum HorizontalAlignment { ALIGN_LEFT = 0, + ALIGN_CENTER, + ALIGN_RIGHT, }; + + enum VerticalAlignment { ALIGN_TOP = 0, + ALIGN_MIDDLE, + ALIGN_BOTTOM }; // Sets how the image is laid out within the button's bounds. void SetImageAlignment(HorizontalAlignment h_align, diff --git a/views/event.h b/views/event.h index 91c0a53..6f96a71 100644 --- a/views/event.h +++ b/views/event.h @@ -41,8 +41,6 @@ class Event { ET_MOUSE_MOVED, ET_MOUSE_ENTERED, ET_MOUSE_EXITED, - ET_MOUSE_NEAR, - ET_MOUSE_EXITED_NEAR, ET_KEY_PRESSED, ET_KEY_RELEASED, ET_MOUSEWHEEL, @@ -102,9 +100,7 @@ class Event { type_ == ET_MOUSE_MOVED || type_ == ET_MOUSE_ENTERED || type_ == ET_MOUSE_EXITED || - type_ == ET_MOUSEWHEEL || - type_ == ET_MOUSE_NEAR || - type_ == ET_MOUSE_EXITED_NEAR; + type_ == ET_MOUSEWHEEL; } #if defined(OS_WIN) diff --git a/views/view.cc b/views/view.cc index 22b048b..d3a9b98 100644 --- a/views/view.cc +++ b/views/view.cc @@ -133,21 +133,6 @@ void View::SetBounds(const gfx::Rect& bounds) { } } -void View::RegisterForMouseNearEvents(const gfx::Insets& insets) { - RootView* root = GetRootView(); - if (insets.empty()) { - near_insets_.reset(NULL); - if (root) - root->UnregisterViewForNearNotification(this); - } else { - near_insets_.reset( - new gfx::Insets(insets.top(), insets.left(), insets.bottom(), - insets.right())); - if (root) - root->RegisterViewForNearNotification(this); - } -} - gfx::Rect View::GetLocalBounds(bool include_border) const { if (include_border || !border_.get()) return gfx::Rect(0, 0, width(), height()); @@ -556,7 +541,7 @@ void View::AddChildView(int index, View* v) { UpdateTooltip(); RootView* root = GetRootView(); if (root) - RegisterChildrenForRootNotifications(root, v); + RegisterChildrenForVisibleBoundsNotification(root, v); if (layout_manager_.get()) layout_manager_->ViewAdded(this, v); @@ -628,7 +613,7 @@ void View::DoRemoveChildView(View* a_view, RootView* root = GetRootView(); if (root) - UnregisterChildrenForRootNotifications(root, a_view); + UnregisterChildrenForVisibleBoundsNotification(root, a_view); a_view->PropagateRemoveNotifications(this); a_view->SetParent(NULL); @@ -1459,26 +1444,24 @@ ThemeProvider* View::GetThemeProvider() const { } // static -void View::RegisterChildrenForRootNotifications(RootView* root, View* view) { +void View::RegisterChildrenForVisibleBoundsNotification( + RootView* root, View* view) { DCHECK(root && view); if (view->GetNotifyWhenVisibleBoundsInRootChanges()) root->RegisterViewForVisibleBoundsNotification(view); - if (view->near_insets_.get()) - root->RegisterViewForNearNotification(view); for (int i = 0; i < view->GetChildViewCount(); ++i) - RegisterChildrenForRootNotifications(root, view->GetChildViewAt(i)); + RegisterChildrenForVisibleBoundsNotification(root, view->GetChildViewAt(i)); } // static -void View::UnregisterChildrenForRootNotifications( +void View::UnregisterChildrenForVisibleBoundsNotification( RootView* root, View* view) { DCHECK(root && view); if (view->GetNotifyWhenVisibleBoundsInRootChanges()) root->UnregisterViewForVisibleBoundsNotification(view); - if (view->near_insets_.get()) - root->UnregisterViewForNearNotification(view); for (int i = 0; i < view->GetChildViewCount(); ++i) - UnregisterChildrenForRootNotifications(root, view->GetChildViewAt(i)); + UnregisterChildrenForVisibleBoundsNotification(root, + view->GetChildViewAt(i)); } void View::AddDescendantToNotify(View* view) { diff --git a/views/view.h b/views/view.h index 67cae75..3ac8349 100644 --- a/views/view.h +++ b/views/view.h @@ -178,11 +178,6 @@ class View : public AcceleratorTarget { void SetX(int x) { SetBounds(x, y(), width(), height()); } void SetY(int y) { SetBounds(x(), y, width(), height()); } - // Registers this view for mouse near events (OnMouseNear and - // OnMouseExitedNear). Mouse near events are sent for the extended rectangle - // defined by the bounds of this view + |insets|. - void RegisterForMouseNearEvents(const gfx::Insets& insets); - // Returns the left coordinate of the View, relative to the parent View, // which is the value of bounds_.x(). // @@ -695,18 +690,6 @@ class View : public AcceleratorTarget { // Default implementation does nothing. Override as needed. virtual void OnMouseExited(const MouseEvent& event); - // Sent when the mouse enters the rectangle defined by this views bounds and - // the insets passed to RegisterForMouseNearEvents. This is only sent for - // views that have explicitly registered for near notification - // (RegisterForMouseNearEvents). - virtual void OnMouseNear(const MouseEvent& event) {} - - // Sent when the mouse exits the rectangle defined by this views bounds and - // the insets passed to RegisterForMouseNearEvents. This is only sent for - // views that have explicitly registered for near notification - // (RegisterForMouseNearEvents). - virtual void OnMouseExitedNear(const MouseEvent& event) {} - // Set the MouseHandler for a drag session. // // A drag session is a stream of mouse events starting @@ -1208,11 +1191,11 @@ class View : public AcceleratorTarget { // Recursively descends through all descendant views, // registering/unregistering all views that want visible bounds in root - // view notification and/or mouse near events. - static void RegisterChildrenForRootNotifications(RootView* root, View* view); - static void UnregisterChildrenForRootNotifications(RootView* root, - View* view); - + // view notification. + static void RegisterChildrenForVisibleBoundsNotification(RootView* root, + View* view); + static void UnregisterChildrenForVisibleBoundsNotification(RootView* root, + View* view); // Adds/removes view to the list of descendants that are notified any time // this views location and possibly size are changed. @@ -1312,9 +1295,6 @@ class View : public AcceleratorTarget { // right-to-left locales for this View. bool flip_canvas_on_paint_for_rtl_ui_; - // Insets passed to RegisterForMouseNearEvents. - scoped_ptr<gfx::Insets> near_insets_; - // The default value for how long to wait (in ms) before showing a menu // button on hover. This value is used if the OS doesn't supply one. static const int kShowFolderDropMenuDelay; diff --git a/views/widget/root_view.cc b/views/widget/root_view.cc index b9cf725..cfe7505 100644 --- a/views/widget/root_view.cc +++ b/views/widget/root_view.cc @@ -490,33 +490,6 @@ void RootView::OnMouseMoved(const MouseEvent& e) { mouse_move_handler_->OnMouseExited(exited_event); SetActiveCursor(NULL); } - - if (registered_near_views_.empty()) - return; - - std::set<View*> near_views; - GetViewsRegisteredForNearNotification(e, &near_views); - - MouseEvent exited_near_event(Event::ET_MOUSE_EXITED_NEAR, 0, 0, 0); - for (std::set<View*>::const_iterator i = near_views_.begin(); - i != near_views_.end(); ++i) { - if (near_views.find(*i) == near_views.end()) - (*i)->OnMouseExitedNear(exited_near_event); - } - - for (std::set<View*>::const_iterator i = near_views.begin(); - i != near_views.end(); ++i) { - if (near_views_.find(*i) == near_views_.end()) { - MouseEvent entered_event(Event::ET_MOUSE_ENTERED, - this, - *i, - e.location(), - 0); - (*i)->OnMouseNear(entered_event); - } - } - - near_views_.swap(near_views); } void RootView::ProcessOnMouseExited() { @@ -525,8 +498,6 @@ void RootView::ProcessOnMouseExited() { mouse_move_handler_->OnMouseExited(exited_event); mouse_move_handler_ = NULL; } - - SendMouseExitedNear(); } void RootView::SetMouseHandler(View *new_mh) { @@ -687,15 +658,6 @@ void RootView::UnregisterViewForVisibleBoundsNotification(View* view) { } } -void RootView::RegisterViewForNearNotification(View* view) { - registered_near_views_.insert(view); -} - -void RootView::UnregisterViewForNearNotification(View* view) { - registered_near_views_.erase(view); - near_views_.erase(view); -} - void RootView::SetMouseLocationAndFlags(const MouseEvent& e) { last_mouse_event_flags_ = e.GetFlags(); last_mouse_event_x_ = e.x(); @@ -752,38 +714,4 @@ void RootView::SetActiveCursor(gfx::NativeCursor cursor) { #endif } -void RootView::GetViewsRegisteredForNearNotification( - const MouseEvent& e, - std::set<View*>* near_views) { - const gfx::Point& location = e.location(); - for (std::set<View*>::const_iterator i = registered_near_views_.begin(); - i != registered_near_views_.end(); ++i) { - View* view = *i; - DCHECK(view->near_insets_.get()); - const gfx::Insets& insets = *view->near_insets_; - gfx::Point view_loc(view->x() - insets.left(), - view->y() - insets.top()); - View::ConvertPointToView(view->GetParent(), this, &view_loc); - if (location.x() >= view_loc.x() && - location.y() >= view_loc.y() && - location.x() < view_loc.x() + (view->width() + insets.width()) && - location.y() < view_loc.y() + (view->height() + insets.height())) { - near_views->insert(view); - } - } -} - -void RootView::SendMouseExitedNear() { - if (near_views_.empty()) - return; - - MouseEvent exited_near_event(Event::ET_MOUSE_EXITED_NEAR, 0, 0, 0); - for (std::set<View*>::const_iterator i = near_views_.begin(); - i != near_views_.end(); ++i) { - (*i)->OnMouseExitedNear(exited_near_event); - } - - near_views_.clear(); -} - } // namespace views diff --git a/views/widget/root_view.h b/views/widget/root_view.h index 280742f..4d40b21 100644 --- a/views/widget/root_view.h +++ b/views/widget/root_view.h @@ -5,7 +5,6 @@ #ifndef VIEWS_WIDGET_ROOT_VIEW_H_ #define VIEWS_WIDGET_ROOT_VIEW_H_ -#include <set> #include <string> #include "base/ref_counted.h" @@ -210,10 +209,6 @@ class RootView : public View, void RegisterViewForVisibleBoundsNotification(View* view); void UnregisterViewForVisibleBoundsNotification(View* view); - // Registers/unregisters the View for mouse near events. - void RegisterViewForNearNotification(View* view); - void UnregisterViewForNearNotification(View* view); - // Returns the next focusable view or view containing a FocusTraversable (NULL // if none was found), starting at the starting_view. // check_starting_view, can_go_up and can_go_down controls the traversal of @@ -255,15 +250,6 @@ class RootView : public View, // Sets the current cursor, or resets it to the last one if NULL is provided. void SetActiveCursor(gfx::NativeCursor cursor); - // Returns in |near_views| the set of views registered for mouse near events - // that overlap with the location of the specified event. - void GetViewsRegisteredForNearNotification(const MouseEvent& e, - std::set<View*>* near_views); - - // Sends OnMouseExitedNear to the set of views the mouse is near and empties - // the set. - void SendMouseExitedNear(); - // The view currently handing down - drag - up View* mouse_pressed_handler_; @@ -339,16 +325,6 @@ class RootView : public View, bool is_processing_paint_; #endif - // Set of views registered for mouse near events. - // NOTE: because views registered for near mouse events can overlap other - // views and extend outside the bounds of themselves and ancestors we store - // the registered views here and treat them separately. This is generally ok - // as there are a small set of views registered for near notification. - std::set<View*> registered_near_views_; - - // Set of views the mouse is currently near. - std::set<View*> near_views_; - DISALLOW_COPY_AND_ASSIGN(RootView); }; |