chromeos: dbus: add Bluetooth properties support
[chromium-blink-merge.git] / chrome_frame / find_dialog.h
blob07e2d39ea7a19de6dd2be16d968b5438a2c8e2a0
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_FRAME_FIND_DIALOG_H_
6 #define CHROME_FRAME_FIND_DIALOG_H_
8 #include <atlbase.h>
9 #include <atlwin.h>
11 #include "base/memory/ref_counted.h"
12 #include "resource.h"
13 #include "grit/chrome_frame_dialogs.h"
15 class ChromeFrameAutomationClient;
17 class CFFindDialog : public CDialogImpl<CFFindDialog> {
18 public:
19 enum { IDD = IDD_CHROME_FRAME_FIND_DIALOG };
21 BEGIN_MSG_MAP(CFFindDialog)
22 MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
23 MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
24 COMMAND_ID_HANDLER(IDOK, OnFind)
25 COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
26 END_MSG_MAP()
28 CFFindDialog();
29 void Init(ChromeFrameAutomationClient* automation_client);
31 LRESULT OnDestroy(UINT msg, WPARAM wparam,
32 LPARAM lparam, BOOL& handled); // NOLINT
33 LRESULT OnFind(WORD wNotifyCode, WORD wID,
34 HWND hWndCtl, BOOL& bHandled); // NOLINT
35 LRESULT OnCancel(WORD wNotifyCode, WORD wID,
36 HWND hWndCtl, BOOL& bHandled); // NOLINT
37 LRESULT OnInitDialog(UINT msg, WPARAM wparam,
38 LPARAM lparam, BOOL& handled); // NOLINT
40 private:
42 // Since the message loop we expect to run in isn't going to be nicely
43 // calling IsDialogMessage(), we need to hook the wnd proc and call it
44 // ourselves. See http://support.microsoft.com/kb/q187988/
45 bool InstallMessageHook();
46 bool UninstallMessageHook();
47 static LRESULT CALLBACK GetMsgProc(int code, WPARAM wparam, LPARAM lparam);
48 static HHOOK msg_hook_;
50 // We don't own these, and they must exist at least as long as we do.
51 scoped_refptr<ChromeFrameAutomationClient> automation_client_;
54 #endif // CHROME_FRAME_FIND_DIALOG_H_