* Bug #15187 fixed - Super block diagram title (on the window bar) was not set. 89/19889/3
Clément DAVID [Thu, 15 Mar 2018 17:31:28 +0000 (18:31 +0100)]
Change-Id: I524eec7d4787dc8c1cd953b3f0095e0430cdf2bb

scilab/CHANGES.md
scilab/modules/xcos/src/java/org/scilab/modules/xcos/graph/XcosDiagram.java

index 7bbb7bc..2b0f1fb 100644 (file)
@@ -461,6 +461,7 @@ Known issues
 * [#15017](http://bugzilla.scilab.org/show_bug.cgi?id=15017): `lcm` did not support int64 and uint64 input integers. Input integers had to be in a row instead of any matrix. For input decimal integers, results were int32 encoded.
 * [#15115](http://bugzilla.scilab.org/show_bug.cgi?id=15115): Tabs order in SciNotes was incorrect when opening file and restoring session.
 * [#15182](http://bugzilla.scilab.org/show_bug.cgi?id=15182): The result of `a.*.b` with mixed integer/decimal operands introduced in Scilab 6 returned some doubles instead of integers, inconsistently wrt the `*` and `.*` products.
+* [#15187](http://bugzilla.scilab.org/show_bug.cgi?id=15187): Super block diagram title (on the window bar) was not set.
 * [#15263](http://bugzilla.scilab.org/show_bug.cgi?id=15263): Assignments in an array of structures often overwrote some untargeted elements.
 * [#15279](http://bugzilla.scilab.org/show_bug.cgi?id=15279): `unique` could not be used on sets of complex numbers.
 * [#15404](http://bugzilla.scilab.org/show_bug.cgi?id=15404): `surf()` and `mesh()` did not allow to specify `foreground`, `facecolor`, `markforeground` and `markbackground` global properties colors as a predefined named color out of a list of the 9 main color names. Colors specifications as "#RRGGBB" hexa code or Colors indices in the color map were nor allowed.
index ac5cbc1..eb3966f 100644 (file)
@@ -1939,6 +1939,35 @@ public class XcosDiagram extends ScilabGraph {
     }
 
     /**
+     * @return the title of the current diagram (root diagram or super block)
+     */
+    @Override
+    public String getTitle() {
+        JavaController controller = new JavaController();
+        String[] property = {""};
+
+        if (getKind() == Kind.DIAGRAM) {
+            controller.getObjectProperty(getUID(), getKind(), ObjectProperties.TITLE, property);
+        } else { // Kind.BLOCK
+            // if an annotation is present use it, otherwise use the one-line description
+            long[] annotation = { 0 };
+            controller.getObjectProperty(getUID(), getKind(), ObjectProperties.LABEL, annotation);
+
+            if (annotation[0] != 0) {
+                controller.getObjectProperty(annotation[0], Kind.ANNOTATION, ObjectProperties.DESCRIPTION, property);
+            } else {
+                controller.getObjectProperty(getUID(), getKind(), ObjectProperties.DESCRIPTION, property);
+            }
+        }
+
+        if (property[0].isEmpty()) {
+            return super.getTitle();
+        } else {
+            return property[0];
+        }
+    }
+
+    /**
      * Set the title of the diagram
      *
      * @param title the title