File indexing completed on 2024-04-28 05:38:42

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_good2 READ r_good CONSTANT )
0023     Q_PROPERTY ( int r_good3 READ r_good CONSTANT )
0024     Q_PROPERTY( int r_good4
0025         READ r_good
0026         CONSTANT
0027     )
0028     Q_PROPERTY
0029     (
0030         int r_good5
0031         READ r_good
0032         CONSTANT
0033     )
0034     Q_PROPERTY(int r_bad READ r_bad CONSTANT)
0035     Q_PROPERTY( int r_bad2 READ r_bad CONSTANT)
0036 
0037     Q_PROPERTY(int m_good MEMBER)
0038     Q_PROPERTY(int m_bad MEMBER)
0039 
0040     Q_PROPERTY(int rw_good READ rw_good WRITE set_rw_good NOTIFY rw_good_changed)
0041     Q_PROPERTY(int rw_bad READ rw_bad WRITE set_rw_bad NOTIFY rw_bad_changed)
0042 
0043     Q_PROPERTY(int rw_good_cref READ rw_good_cref WRITE set_rw_good_cref NOTIFY rw_good_cref_changed)
0044     Q_PROPERTY(int rw_bad_cref READ rw_bad_cref WRITE set_rw_bad_cref NOTIFY rw_bad_cref_changed)
0045 
0046     Q_PROPERTY(int* rw_good_ptr READ rw_good_ptr WRITE set_rw_good_ptr NOTIFY rw_good_ptr_changed)
0047     Q_PROPERTY(int* rw_bad_ptr READ rw_bad_ptr WRITE set_rw_bad_ptr NOTIFY rw_bad_ptr_changed)
0048 
0049     Q_PROPERTY(bool boolTest READ boolTest CONSTANT)
0050     Q_PROPERTY(A* classTest1_0 READ classTest1 CONSTANT)
0051     Q_PROPERTY(A * classTest1_1 READ classTest1 CONSTANT)
0052     Q_PROPERTY(A classTest2 READ classTest2 CONSTANT)
0053     Q_PROPERTY(NS::A* classTest3 READ classTest3 CONSTANT)
0054     Q_PROPERTY(NS::A classTest4 READ classTest4 CONSTANT)
0055     Q_PROPERTY(A *classTest5 READ classTest3 CONSTANT)
0056     Q_PROPERTY(Enum1 enumTest READ enumTest CONSTANT)
0057     Q_PROPERTY(Enum1 enumTest READ enumTest NOTIFY zeroArgsSignal)
0058     Q_PROPERTY(InnerEnum innerEnum READ innerEnum CONSTANT)
0059     Q_PROPERTY(MyObj::InnerEnum innerEnum1 READ innerEnum1 CONSTANT)
0060     Q_PROPERTY(FooInt intTypedef1 READ intTypedef1 CONSTANT)
0061     Q_PROPERTY(int intTypedef2 READ intTypedef2 CONSTANT)
0062     Q_PROPERTY(FooInt intTypedef3 READ intTypedef3 CONSTANT)
0063     Q_PROPERTY(Qt::Alignment intTypedef4 READ intTypedef4 CONSTANT)
0064     Q_PROPERTY(InnerEnums intTypedef5 READ intTypedef5 CONSTANT)
0065 
0066     enum InnerEnum {};
0067     Q_DECLARE_FLAGS(InnerEnums, InnerEnum)
0068 
0069     int r_good(); // OK    
0070     float r_bad(); // Warn
0071 
0072     int m_good; // OK
0073     float m_bad; // Warn
0074  
0075     int rw_good(); // OK
0076     void set_rw_good(int); // OK
0077 
0078     float rw_bad(); // Warn
0079     void set_rw_bad(float); // Warn
0080     
0081     const int& rw_good_cref(); // OK
0082     void set_rw_good_cref(const int&); // OK
0083 
0084     const float& rw_bad_cref(); // Warn
0085     void set_rw_bad_cref(const float&); // Warn
0086 
0087     int* rw_good_ptr(); // OK
0088     void set_rw_good_ptr(int*); // OK
0089 
0090     float* rw_bad_ptr(); // Warn
0091     void set_rw_bad_ptr(float*); // Warn
0092 
0093     bool boolTest() const;
0094     A* classTest1() const;
0095     A classTest2() const;
0096     NS::A* classTest3() const;
0097     NS::A classTest4() const;
0098     A* classTest5() const;
0099     Enum1 enumTest() const;
0100     InnerEnum innerEnum () const;
0101     InnerEnum innerEnum1 () const;
0102 
0103     int intTypedef1() const;
0104     FooInt intTypedef2() const;
0105     FooInt intTypedef3() const;
0106     Qt::Alignment intTypedef4() const;
0107     InnerEnums intTypedef5() const;
0108 
0109 signals:
0110     void rw_good_changed(int); // OK
0111     void rw_bad_changed(float); // Warn
0112     void rw_good_cref_changed(const int&); // OK
0113     void rw_bad_cref_changed(const float&); // Warn
0114     void rw_good_ptr_changed(int*); // OK
0115     void rw_bad_ptr_changed(float*); // Warn
0116     void zeroArgsSignal();
0117 };
0118 
0119 class MyGadget
0120 {
0121     Q_GADGET
0122     Q_PROPERTY(int good MEMBER)
0123     Q_PROPERTY(int bad MEMBER)
0124 
0125     int good; // Ok
0126     float bad; // Warn
0127 };