initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
62
libs/wxWidgets-3.3.1/include/wx/qt/accel.h
Normal file
62
libs/wxWidgets-3.3.1/include/wx/qt/accel.h
Normal file
@@ -0,0 +1,62 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/qt/accel.h
|
||||
// Purpose: wxAcceleratorTable class
|
||||
// Author: Peter Most, Javier Torres, Mariano Reingart
|
||||
// Copyright: (c) 2009 wxWidgets dev team
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_QT_ACCEL_H_
|
||||
#define _WX_QT_ACCEL_H_
|
||||
|
||||
/* wxQt accelerators implementation:
|
||||
*
|
||||
* Storing:
|
||||
* QShortcuts are stored in wxWindow (m_qtShortcuts) to allow to delete them
|
||||
* when the accelerator table is changed, and also because we need to specify
|
||||
* a not-null parent from them, which is unknown at the moment of creating the
|
||||
* accelerator table. So, the accelerator table only contains a list of
|
||||
* wxAcceleratorEntries, which are converted to a list of QShortcuts when
|
||||
* the table is fixed to a wxWindow.
|
||||
*
|
||||
* Passing keypresses to accelerators:
|
||||
* The accelerators are implemented using QShortcut's. As there is no easy way
|
||||
* to call them, we must pass all keypress events through the QApplication
|
||||
* notify() function (which is the one that checks if the keypress match any
|
||||
* shortcut.
|
||||
*
|
||||
* Executing commands when a QShortcut is triggered:
|
||||
* Each QShortcut has a property ("wxQt_Command") set with the number of the
|
||||
* wx command it is associated to. Then, its activated() signal is connected to
|
||||
* a small handler (wxQtShortcutHandler in window_qt.h) which calls the main
|
||||
* handler (wxWindow::QtHandleShortcut) passing the command extracted from the
|
||||
* QShortcut. This handler will finally create and send the appropriate wx
|
||||
* event to the window. */
|
||||
|
||||
#include "wx/vector.h"
|
||||
|
||||
class QShortcut;
|
||||
template < class T > class QList;
|
||||
|
||||
class WXDLLIMPEXP_CORE wxAcceleratorTable : public wxObject
|
||||
{
|
||||
public:
|
||||
wxAcceleratorTable();
|
||||
wxAcceleratorTable(int n, const wxAcceleratorEntry entries[]);
|
||||
|
||||
// Implementation
|
||||
wxVector<QShortcut*> ConvertShortcutTable( QWidget *parent ) const;
|
||||
|
||||
bool Ok() const { return IsOk(); }
|
||||
bool IsOk() const;
|
||||
|
||||
protected:
|
||||
// ref counting code
|
||||
virtual wxObjectRefData *CreateRefData() const override;
|
||||
wxNODISCARD virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const override;
|
||||
|
||||
private:
|
||||
wxDECLARE_DYNAMIC_CLASS(wxAcceleratorTable);
|
||||
};
|
||||
|
||||
#endif // _WX_QT_ACCEL_H_
|
||||
Reference in New Issue
Block a user