File indexing completed on 2024-05-19 05:35:20
0001 #ifndef oxygenmenu_data_h 0002 #define oxygenmenu_data_h 0003 0004 ////////////////////////////////////////////////////////////////////////////// 0005 // oxygenmenudata.h 0006 // data container for QMenu animations 0007 // ------------------- 0008 // 0009 // SPDX-FileCopyrightText: 2009 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0010 // 0011 // SPDX-License-Identifier: MIT 0012 ////////////////////////////////////////////////////////////////////////////// 0013 0014 #include "oxygenmenubardata.h" 0015 #include <QMenu> 0016 0017 namespace Oxygen 0018 { 0019 //* menubar data 0020 /*! 0021 most members are identical to menubar data. The one that are not are 0022 using templatized versions, because QMenuBar and QMenu API are very similar 0023 */ 0024 class MenuDataV1 : public MenuBarDataV1 0025 { 0026 Q_OBJECT 0027 0028 public: 0029 //* constructor 0030 MenuDataV1(QObject *parent, QWidget *target, int duration) 0031 : MenuBarDataV1(parent, target, duration) 0032 { 0033 } 0034 0035 protected: 0036 //* menubar enterEvent 0037 void enterEvent(const QObject *object) override 0038 { 0039 MenuBarDataV1::enterEvent<QMenu>(object); 0040 } 0041 0042 //* menubar enterEvent 0043 void leaveEvent(const QObject *object) override 0044 { 0045 MenuBarDataV1::leaveEvent<QMenu>(object); 0046 } 0047 0048 //* menubar mouseMoveEvent 0049 void mouseMoveEvent(const QObject *object) override 0050 { 0051 MenuBarDataV1::mouseMoveEvent<QMenu>(object); 0052 } 0053 0054 //* menubar mousePressEvent 0055 void mousePressEvent(const QObject *object) override 0056 { 0057 MenuBarDataV1::mousePressEvent<QMenu>(object); 0058 } 0059 }; 0060 0061 //* menubar data 0062 /*! 0063 most members are identical to menubar data. The one that are not are 0064 using templatized versions, because QMenuBar and QMenu API are very similar 0065 */ 0066 class MenuDataV2 : public MenuBarDataV2 0067 { 0068 Q_OBJECT 0069 0070 public: 0071 //* constructor 0072 MenuDataV2(QObject *parent, QWidget *target, int duration) 0073 : MenuBarDataV2(parent, target, duration) 0074 { 0075 setEntered(false); 0076 } 0077 0078 protected: 0079 //* menubar enterEvent 0080 void enterEvent(const QObject *object) override 0081 { 0082 MenuBarDataV2::enterEvent<QMenu>(object); 0083 } 0084 0085 //* menubar enterEvent 0086 void leaveEvent(const QObject *object) override 0087 { 0088 MenuBarDataV2::leaveEvent<QMenu>(object); 0089 } 0090 0091 //* menubar mouseMoveEvent 0092 void mouseMoveEvent(const QObject *object) override 0093 { 0094 MenuBarDataV2::mouseMoveEvent<QMenu>(object); 0095 } 0096 }; 0097 } 0098 0099 #endif