日食の構造であるプロパティがあります。特定のフィールドが構造内で変更されたことを知るためにリスナーを呼び出すにはどうすればよいですか。同様に、構造のシーケンスであるプロパティがある場合、どの構造が変更され、構造内のどのフィールドが変更されたかをどのように知ることができますか。
LinuxでC++を使用しています。
構造体プロパティの名前は MyStruct です。メンバー フィールドは MyField1 と MyField2 です。私は使用しています
setPropertyChangeListener("MyStruct", this, &MyComponent_i::myStrutChanged);
setPropertyChangeListener("MyStruct.MyField1", this, &MyComponent_i::myStructField1Changed);
setPropertyChangeListener("MyStruct.MyField2", this, &MyComponent_i::myStructField2Changed);
フィールドが変更されると、setPropertyChangeListener("MyStruct", this, &MyComponent_i::myStrutChanged) が呼び出されます。どのフィールドが変更されたかを知る必要があります。
また、MySeq という構造体のシーケンスであるプロパティもあります。この構造体には、SeqField1 と SeqField2 という名前の 2 つのメンバー フィールドがあります。私は使用しています
setPropertyChangeListener("MySeq", this, &MyComponent_i::mySeqChanged);
setPropertyChangeListener("MySeq[1]", this, &MyComponent_i::mySeqChanged_1);
setPropertyChangeListener("MySeq[1].SeqField1", this, &MyComponent_i::mySeqChanged_1_field1);
setPropertyChangeListener("MySeq[1].SeqField2", this, &MyComponent_i::mySeqChanged_1_field2);
いずれかの構造のフィールドが変更された場合、setPropertyChangeListener(""MySeq", this, &MyComponent_i::mySeqChanged) が呼び出されます。どの構造が変更され、どのフィールドが構造内で変更されたかを知る必要があります。