[ui_data] reactivate bytes column in browsevar 67/20667/2
St├ęphane Mottelet [Mon, 17 Sep 2018 13:14:22 +0000 (15:14 +0200)]
http://bugzilla.scilab.org/show_bug.cgi?id=12520
http://bugzilla.scilab.org/show_bug.cgi?id=12534

As the memory occupied by objects is now computed this
hidden column diserved to be visible again.

Change-Id: Idc2298dabac16572fa75e3f703d7f9dd37f24e18

scilab/CHANGES.md
scilab/modules/ui_data/src/cpp/BrowseVarManager.cpp
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variablebrowser/SwingScilabVariableBrowser.java

index 74fb259..cc9d331 100644 (file)
@@ -128,6 +128,8 @@ Bug Fixes
 ### Bugs fixed in 6.1.0:
 * [#2694](http://bugzilla.scilab.org/show_bug.cgi?id=2694): `bitget` did not accept positive integers of types int8, int16 or int32.
 * [#8784](http://bugzilla.scilab.org/show_bug.cgi?id=8784): Automatic self-adjusting blocks `SCALE_CSCOPE` & `SCALE_CMSCOPE` in Xcos.
+* [#12520](http://bugzilla.scilab.org/show_bug.cgi?id=12520): Vriable browser did not display the size of the variables.
+* [#12534](http://bugzilla.scilab.org/show_bug.cgi?id=12534): Variable browser did not display the size of the variables.
 * [#14604](http://bugzilla.scilab.org/show_bug.cgi?id=14604): `emptystr()` is 40x slower with 6.0.0 wrt 5.5.2
 * [#14605](http://bugzilla.scilab.org/show_bug.cgi?id=14605): fixed - `bench_run` was too strict about the specification of tests names.
 * [#14606](http://bugzilla.scilab.org/show_bug.cgi?id=14606): Memory used by variables returned by `[names,mem]=who()` was always zero.
index 26b22d1..ab76fef 100644 (file)
@@ -147,7 +147,6 @@ void SetBrowseVarData()
         err = getVarType(NULL, (int*)pIT, &piAllVariableTypes[i]);
         if (!err.iErr)
         {
-            piAllVariableBytes[i] = 0;
             err = getVarDimension(NULL, (int*)pIT, &nbRows, &nbCols);
         }
 
@@ -218,7 +217,10 @@ void SetBrowseVarData()
         {
             piAllVariableFromUser[i] = FALSE;
         }
-
+        
+        int bytesWithoutOverHead;
+        pIT->getMemory(&bytesWithoutOverHead, &piAllVariableBytes[i]);
+        
         ++i;
     }
 
@@ -241,14 +243,16 @@ void SetBrowseVarData()
         }
         //type
         piAllVariableTypes[i] = sci_lib;
-
-        piAllVariableBytes[i] = 0;
         pstAllVariableSizes[i] = os_strdup(N_A);
         piAllVariableIntegerTypes[i] = -1;
         pstAllVariableListTypes[i] = os_strdup("");
         piAllVariableFromUser[i] = FALSE;
         piAllVariableNbRows[i] = 1;
         piAllVariableNbCols[i] = 1;
+        //get value and bytes
+        types::GenericType* pIT = sl->m_pLib;
+        int bytesWithoutOverHead;
+        pIT->getMemory(&bytesWithoutOverHead, &piAllVariableBytes[i]);
 
         ++i;
     }
index 1ab5d65..b5765bc 100644 (file)
@@ -175,15 +175,7 @@ public final class SwingScilabVariableBrowser extends SwingScilabDockablePanel i
                         } catch (IllegalArgumentException exception) {
                             /* If the type is not known/managed, don't crash */
                         }
-                    } else {
-
-                        if (colIndex == BrowseVar.SIZE_COLUMN_INDEX) {
-                            /* Use the getModel() method because the
-                             * column 5 has been removed from display
-                             * but still exist in the model */
-                            tip = Messages.gettext("Bytes:") + " " + model.getValueAt(rowIndex, BrowseVar.BYTES_COLUMN_INDEX).toString();
-                        }
-                    }
+                    } 
                 }
                 return tip;
             }
@@ -212,7 +204,7 @@ public final class SwingScilabVariableBrowser extends SwingScilabDockablePanel i
         table.removeColumn(column);
 
         column = table.getColumnModel().getColumn(BrowseVar.BYTES_COLUMN_INDEX);
-        table.removeColumn(column);
+        //table.removeColumn(column);
 
         table.addMouseListener(new BrowseVarMouseListener());
         // Mouse selection mode