| Index: views/controls/native/native_view_host_win.h
|
| ===================================================================
|
| --- views/controls/native/native_view_host_win.h (revision 0)
|
| +++ views/controls/native/native_view_host_win.h (working copy)
|
| @@ -5,60 +5,40 @@
|
| #ifndef VIEWS_CONTROLS_HWND_VIEW_H_
|
| #define VIEWS_CONTROLS_HWND_VIEW_H_
|
|
|
| -#include <string>
|
| +#include "base/logging.h"
|
| +#include "views/controls/native/native_view_host_wrapper.h"
|
|
|
| -#include "views/controls/native_view_host.h"
|
| -
|
| namespace views {
|
|
|
| -/////////////////////////////////////////////////////////////////////////////
|
| -//
|
| -// HWNDView class
|
| -//
|
| -// The HWNDView class hosts a native window handle (HWND) sizing it
|
| -// according to the bounds of the view. This is useful whenever you need to
|
| -// show a UI control that has a HWND (e.g. a native windows Edit control)
|
| -// within thew View hierarchy and benefit from the sizing/layout.
|
| -//
|
| -/////////////////////////////////////////////////////////////////////////////
|
| -// TODO: Rename this to NativeViewHostWin.
|
| -class HWNDView : public NativeViewHost {
|
| +class NativeViewHost;
|
| +
|
| +// A Windows implementation of NativeViewHostWrapper
|
| +class NativeViewHostWin : public NativeViewHostWrapper {
|
| public:
|
| - HWNDView();
|
| - virtual ~HWNDView();
|
| + explicit NativeViewHostWin(NativeViewHost* host);
|
| + virtual ~NativeViewHostWin();
|
|
|
| - // Attach a window handle to this View, making the window it represents
|
| - // subject to sizing according to this View's parent container's Layout
|
| - // Manager's sizing heuristics.
|
| - //
|
| - // This object should be added to the view hierarchy before calling this
|
| - // function, which will expect the parent to be valid.
|
| - void Attach(HWND hwnd);
|
| -
|
| - // Detach the attached window handle. It will no longer be updated
|
| - void Detach();
|
| -
|
| - // TODO(sky): convert this to native_view().
|
| - HWND GetHWND() const { return native_view(); }
|
| -
|
| - virtual void Paint(gfx::Canvas* canvas);
|
| -
|
| - // Overridden from View.
|
| - virtual std::string GetClassName() const;
|
| -
|
| - protected:
|
| - virtual void ViewHierarchyChanged(bool is_add, View *parent, View *child);
|
| -
|
| - virtual void Focus();
|
| -
|
| - // NativeHostView overrides.
|
| + // Overridden from NativeViewHostWrapper:
|
| + virtual void NativeViewAttached();
|
| + virtual void NativeViewDetaching();
|
| + virtual void AddedToWidget();
|
| + virtual void RemovedFromWidget();
|
| virtual void InstallClip(int x, int y, int w, int h);
|
| + virtual bool HasInstalledClip();
|
| virtual void UninstallClip();
|
| virtual void ShowWidget(int x, int y, int w, int h);
|
| virtual void HideWidget();
|
| + virtual void SetFocus();
|
|
|
| private:
|
| - DISALLOW_COPY_AND_ASSIGN(HWNDView);
|
| + // Our associated NativeViewHost.
|
| + NativeViewHost* host_;
|
| +
|
| + // Have we installed a region on the gfx::NativeView used to clip to only the
|
| + // visible portion of the gfx::NativeView ?
|
| + bool installed_clip_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(NativeViewHostWin);
|
| };
|
|
|
| } // namespace views
|
|
|