From 55dc100b65d59fcca16f64de75e2c985bb7c3bf6 Mon Sep 17 00:00:00 2001 From: "tfarina@chromium.org" Date: Mon, 26 Sep 2011 14:38:36 +0000 Subject: views: Factor out ResizeAreaDelegate into its own header file. R=sky@chromium.org Review URL: http://codereview.chromium.org/8037010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102727 0039d316-1c4b-4281-b951-d872f2087c98 --- views/controls/resize_area.cc | 1 + views/controls/resize_area.h | 18 ++---------------- views/controls/resize_area_delegate.h | 29 +++++++++++++++++++++++++++++ views/views.gyp | 3 ++- 4 files changed, 34 insertions(+), 17 deletions(-) create mode 100644 views/controls/resize_area_delegate.h (limited to 'views') diff --git a/views/controls/resize_area.cc b/views/controls/resize_area.cc index 951c82d..6492d11 100644 --- a/views/controls/resize_area.cc +++ b/views/controls/resize_area.cc @@ -7,6 +7,7 @@ #include "base/logging.h" #include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/resource/resource_bundle.h" +#include "views/controls/resize_area_delegate.h" #if defined(OS_LINUX) #include "ui/gfx/gtk_util.h" diff --git a/views/controls/resize_area.h b/views/controls/resize_area.h index 9211229..3f06a1e 100644 --- a/views/controls/resize_area.h +++ b/views/controls/resize_area.h @@ -12,6 +12,8 @@ namespace views { +class ResizeAreaDelegate; + //////////////////////////////////////////////////////////////////////////////// // // An invisible area that acts like a horizontal resizer. @@ -19,22 +21,6 @@ namespace views { //////////////////////////////////////////////////////////////////////////////// class VIEWS_EXPORT ResizeArea : public View { public: - ////////////////////////////////////////////////////////////////////////////// - // - // The interface needed for getting notified about the resize event. - // - ////////////////////////////////////////////////////////////////////////////// - class ResizeAreaDelegate { - public: - // OnResize is sent when resizing is detected. |resize_amount| specifies the - // number of pixels that the user wants to resize by, and can be negative or - // positive (depending on direction of dragging and flips according to - // locale directionality: dragging to the left in LTR locales gives negative - // |resize_amount| but positive amount for RTL). |done_resizing| is true if - // the user has released the mouse. - virtual void OnResize(int resize_amount, bool done_resizing) = 0; - }; - static const char kViewClassName[]; explicit ResizeArea(ResizeAreaDelegate* delegate); diff --git a/views/controls/resize_area_delegate.h b/views/controls/resize_area_delegate.h new file mode 100644 index 0000000..041495f --- /dev/null +++ b/views/controls/resize_area_delegate.h @@ -0,0 +1,29 @@ +// Copyright (c) 2011 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 VIEWS_CONTROLS_RESIZE_AREA_DELEGATE_H_ +#define VIEWS_CONTROLS_RESIZE_AREA_DELEGATE_H_ +#pragma once + +namespace views { + +// An interface implemented by objects that want to be notified about the resize +// event. +class ResizeAreaDelegate { + public: + // OnResize is sent when resizing is detected. |resize_amount| specifies the + // number of pixels that the user wants to resize by, and can be negative or + // positive (depending on direction of dragging and flips according to + // locale directionality: dragging to the left in LTR locales gives negative + // |resize_amount| but positive amount for RTL). |done_resizing| is true if + // the user has released the mouse. + virtual void OnResize(int resize_amount, bool done_resizing) = 0; + + protected: + virtual ~ResizeAreaDelegate() {} +}; + +} // namespace views + +#endif // VIEWS_CONTROLS_RESIZE_AREA_DELEGATE_H_ diff --git a/views/views.gyp b/views/views.gyp index 85619a3..96a2433 100644 --- a/views/views.gyp +++ b/views/views.gyp @@ -24,7 +24,7 @@ 'sources/': [ ['exclude', '_win\\.(h|cc)$'], ['exclude', '_gtk\\.(h|cc)$'], ['exclude', '_x\\.(h|cc)$'] ], - }], + }], ], }, 'targets': [ @@ -179,6 +179,7 @@ 'controls/progress_bar.cc', 'controls/resize_area.cc', 'controls/resize_area.h', + 'controls/resize_area_delegate.h', 'controls/scroll_view.cc', 'controls/scroll_view.h', 'controls/scrollbar/base_scroll_bar.cc', -- cgit v1.1