File indexing completed on 2024-05-12 17:13:27
0001 #include <QtCore/QObject> 0002 0003 class A { 0004 public: 0005 }; 0006 0007 namespace NS { 0008 class A { 0009 public: 0010 }; 0011 } 0012 0013 typedef int FooInt; 0014 0015 enum Enum1 {}; 0016 0017 0018 class MyObj : public QObject 0019 { 0020 Q_OBJECT 0021 Q_PROPERTY(int r_good READ r_good CONSTANT) 0022 Q_PROPERTY(int r_bad READ r_bad CONSTANT) 0023 0024 Q_PROPERTY(int m_good MEMBER) 0025 Q_PROPERTY(int m_bad MEMBER) 0026 0027 Q_PROPERTY(int rw_good READ rw_good WRITE set_rw_good NOTIFY rw_good_changed) 0028 Q_PROPERTY(int rw_bad READ rw_bad WRITE set_rw_bad NOTIFY rw_bad_changed) 0029 0030 Q_PROPERTY(int rw_good_cref READ rw_good_cref WRITE set_rw_good_cref NOTIFY rw_good_cref_changed) 0031 Q_PROPERTY(int rw_bad_cref READ rw_bad_cref WRITE set_rw_bad_cref NOTIFY rw_bad_cref_changed) 0032 0033 Q_PROPERTY(int* rw_good_ptr READ rw_good_ptr WRITE set_rw_good_ptr NOTIFY rw_good_ptr_changed) 0034 Q_PROPERTY(int* rw_bad_ptr READ rw_bad_ptr WRITE set_rw_bad_ptr NOTIFY rw_bad_ptr_changed) 0035 0036 Q_PROPERTY(bool boolTest READ boolTest CONSTANT) 0037 Q_PROPERTY(A* classTest1 READ classTest1 CONSTANT) 0038 Q_PROPERTY(A classTest2 READ classTest2 CONSTANT) 0039 Q_PROPERTY(NS::A* classTest3 READ classTest3 CONSTANT) 0040 Q_PROPERTY(NS::A classTest4 READ classTest4 CONSTANT) 0041 Q_PROPERTY(A *classTest5 READ classTest3 CONSTANT) 0042 Q_PROPERTY(Enum1 enumTest READ enumTest CONSTANT) 0043 Q_PROPERTY(Enum1 enumTest READ enumTest NOTIFY zeroArgsSignal) 0044 Q_PROPERTY(InnerEnum innerEnum READ innerEnum CONSTANT) 0045 Q_PROPERTY(MyObj::InnerEnum innerEnum1 READ innerEnum1 CONSTANT) 0046 Q_PROPERTY(FooInt intTypedef1 READ intTypedef1 CONSTANT) 0047 Q_PROPERTY(int intTypedef2 READ intTypedef2 CONSTANT) 0048 Q_PROPERTY(FooInt intTypedef3 READ intTypedef3 CONSTANT) 0049 Q_PROPERTY(Qt::Alignment intTypedef4 READ intTypedef4 CONSTANT) 0050 Q_PROPERTY(InnerEnums intTypedef5 READ intTypedef5 CONSTANT) 0051 0052 enum InnerEnum {}; 0053 Q_DECLARE_FLAGS(InnerEnums, InnerEnum) 0054 0055 int r_good(); // OK 0056 float r_bad(); // Warn 0057 0058 int m_good; // OK 0059 float m_bad; // Warn 0060 0061 int rw_good(); // OK 0062 void set_rw_good(int); // OK 0063 0064 float rw_bad(); // Warn 0065 void set_rw_bad(float); // Warn 0066 0067 const int& rw_good_cref(); // OK 0068 void set_rw_good_cref(const int&); // OK 0069 0070 const float& rw_bad_cref(); // Warn 0071 void set_rw_bad_cref(const float&); // Warn 0072 0073 int* rw_good_ptr(); // OK 0074 void set_rw_good_ptr(int*); // OK 0075 0076 float* rw_bad_ptr(); // Warn 0077 void set_rw_bad_ptr(float*); // Warn 0078 0079 bool boolTest() const; 0080 A* classTest1() const; 0081 A classTest2() const; 0082 NS::A* classTest3() const; 0083 NS::A classTest4() const; 0084 A* classTest5() const; 0085 Enum1 enumTest() const; 0086 InnerEnum innerEnum () const; 0087 InnerEnum innerEnum1 () const; 0088 0089 int intTypedef1() const; 0090 FooInt intTypedef2() const; 0091 FooInt intTypedef3() const; 0092 Qt::Alignment intTypedef4() const; 0093 InnerEnums intTypedef5() const; 0094 0095 signals: 0096 void rw_good_changed(int); // OK 0097 void rw_bad_changed(float); // Warn 0098 void rw_good_cref_changed(const int&); // OK 0099 void rw_bad_cref_changed(const float&); // Warn 0100 void rw_good_ptr_changed(int*); // OK 0101 void rw_bad_ptr_changed(float*); // Warn 0102 void zeroArgsSignal(); 0103 }; 0104 0105 class MyGadget 0106 { 0107 Q_GADGET 0108 Q_PROPERTY(int good MEMBER) 0109 Q_PROPERTY(int bad MEMBER) 0110 0111 int good; // Ok 0112 float bad; // Warn 0113 };