summaryrefslogtreecommitdiffstats
path: root/views
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-07 15:38:19 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-07 15:38:19 +0000
commit9fc4f203c93d906a5b94a0e48556ee52515185f0 (patch)
treebd16f20b4442184b98ccf9db656491940b64cbcd /views
parent2f4294538dea93c4b48b20b9b564d09bb7591301 (diff)
downloadchromium_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.h19
-rw-r--r--views/event.h6
-rw-r--r--views/view.cc33
-rw-r--r--views/view.h30
-rw-r--r--views/widget/root_view.cc72
-rw-r--r--views/widget/root_view.h24
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);
};