summaryrefslogtreecommitdiffstats
path: root/chrome/views/widget/accelerator_handler.h
blob: 6c2278c1d2b9cb73e0c42b54bf66f8d2a32b12e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Copyright (c) 2006-2008 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 CHROME_VIEWS_WIDGET_ACCELERATOR_HANDLER_H_
#define CHROME_VIEWS_WIDGET_ACCELERATOR_HANDLER_H_

#include "base/message_loop.h"

namespace views {

// This class delegates WM_KEYDOWN and WM_SYSKEYDOWN messages to
// the associated FocusManager class for the window that is receiving
// these messages for accelerator processing. The BrowserProcess object
// holds a singleton instance of this class which can be used by other
// custom message loop dispatcher objects to implement default accelerator
// handling.
class AcceleratorHandler : public MessageLoopForUI::Dispatcher {
 public:
   AcceleratorHandler();
  // Dispatcher method. This returns true if an accelerator was
  // processed by the focus manager
  virtual bool Dispatch(const MSG& msg);
 private:
  DISALLOW_EVIL_CONSTRUCTORS(AcceleratorHandler);
};

}  // namespace views

#endif  // CHROME_VIEWS_WIDGET_ACCELERATOR_HANDLER_H_