From 380969bbf0b7746ab245b7d7d177243092fb2c34 Mon Sep 17 00:00:00 2001
From: Mathieu Féry <mfery@ankama.com>
Date: Mon, 31 Jul 2023 17:22:54 +0200
Subject: feat(generation): Add setter generation for not constant and not
 opaque compound attribute

---
 .../com/jogamp/gluegen/test/junit/generation/BaseClass.java      | 6 ++++++
 src/junit/com/jogamp/gluegen/test/junit/generation/test1.c       | 9 +++++++--
 src/junit/com/jogamp/gluegen/test/junit/generation/test1.h       | 9 ++++++---
 3 files changed, 19 insertions(+), 5 deletions(-)

(limited to 'src/junit/com/jogamp')

diff --git a/src/junit/com/jogamp/gluegen/test/junit/generation/BaseClass.java b/src/junit/com/jogamp/gluegen/test/junit/generation/BaseClass.java
index 5871fc0..2edfb5e 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/generation/BaseClass.java
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/BaseClass.java
@@ -2052,6 +2052,12 @@ public class BaseClass extends SingletonJunitCase {
 
     /** Primitive.VariaValue.Struct.Pointer - write access */
     private void chapter12_06bTestTKFieldVariaValueStructWriteAccess(final TK_Field model) {
+        {
+            final TK_Dimension val = createTKDim(0, 1, 50, 61);
+            model.setVariaStructElement(val);
+            Assert.assertTrue( equals(val, model.getVariaStructElement()) );
+        }
+
         Assert.assertEquals(1, TK_Field.getVariaStructPointerConstOneElemElemCount());
         Assert.assertEquals(false, model.isVariaStructPointerConstOneElemNull());
         {
diff --git a/src/junit/com/jogamp/gluegen/test/junit/generation/test1.c b/src/junit/com/jogamp/gluegen/test/junit/generation/test1.c
index b74a171..c5ea388 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/generation/test1.c
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/test1.c
@@ -690,7 +690,8 @@ typedef struct {
     TK_Dimension* constStructPointerCustomLen;
     int32_t       constStructPointerCustomLenElemCount;
 
-    // Struct.VariaValue 2A + 5P = 7
+    // Struct.VariaValue 1S + 2A + 5P = 8
+    TK_Dimension  variaStructElement;
     TK_Dimension  variaStructArrayConstOneElem[1];
     TK_Dimension  variaStructArrayConstLen[3];
     TK_Dimension* variaStructPointerConstOneElem;
@@ -870,7 +871,11 @@ static TK_FieldMutable * createTKFieldMutable() {
     s->constStructPointerCustomLen[3].height = 164;
     s->constStructPointerCustomLenElemCount = 4;
 
-    // Struct.VariaValue.TK_Dimension 2A + 5P = 7
+    // Struct.VariaValue.TK_Dimension 1S + 2A + 5P = 8
+    s->variaStructElement.x = 47;
+    s->variaStructElement.y = 48;
+    s->variaStructElement.width = 49;
+    s->variaStructElement.height = 50;
     s->variaStructArrayConstOneElem[0].x = 51;
     s->variaStructArrayConstOneElem[0].y = 52;
     s->variaStructArrayConstOneElem[0].width = 53;
diff --git a/src/junit/com/jogamp/gluegen/test/junit/generation/test1.h b/src/junit/com/jogamp/gluegen/test/junit/generation/test1.h
index 84045da..3b74040 100644
--- a/src/junit/com/jogamp/gluegen/test/junit/generation/test1.h
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/test1.h
@@ -505,7 +505,8 @@ typedef struct {
     const TK_Dimension* constStructPointerCustomLen;
     int32_t             constStructPointerCustomLenElemCount;
 
-    // Struct.VariaValue 2A + 5P = 7
+    // Struct.VariaValue 1S + 2A + 5P = 8
+    TK_Dimension  variaStructElement;
     TK_Dimension  variaStructArrayConstOneElem[1];
     TK_Dimension  variaStructArrayConstLen[3];
     TK_Dimension* variaStructPointerConstOneElem;
@@ -606,7 +607,8 @@ typedef struct {
     const TK_Dimension* constStructPointerCustomLen;
     int32_t             constStructPointerCustomLenElemCount;
 
-    // Struct.VariaValue 2A + 5P = 7
+    // Struct.VariaValue 1S + 2A + 5P = 8
+    TK_Dimension  variaStructElement;
     TK_Dimension  variaStructArrayConstOneElem[1];
     TK_Dimension  variaStructArrayConstLen[3];
     TK_Dimension* variaStructPointerConstOneElem;
@@ -707,7 +709,8 @@ typedef struct {
     const TK_Dimension* constStructPointerCustomLen;
     int32_t             constStructPointerCustomLenElemCount;
 
-    // Struct.VariaValue 2A + 5P = 7
+    // Struct.VariaValue 1S + 2A + 5P = 8
+    TK_Dimension  variaStructElement;
     TK_Dimension  variaStructArrayConstOneElem[1];
     TK_Dimension  variaStructArrayConstLen[3];
     TK_Dimension* variaStructPointerConstOneElem;
-- 
cgit v1.2.3