From bebb0b3831862450f35333100159521e0414a9e1 Mon Sep 17 00:00:00 2001 From: Michael Innerberger <michael.innerberger@asc.tuwien.ac.at> Date: Wed, 9 Aug 2023 16:02:59 -0400 Subject: [PATCH] Add custom display for LevelData --- lib/storage/@LevelData/LevelData.m | 7 ++++++- lib/storage/@LevelData/getPropertyGroups.m | 24 ++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 lib/storage/@LevelData/getPropertyGroups.m diff --git a/lib/storage/@LevelData/LevelData.m b/lib/storage/@LevelData/LevelData.m index 28d0b9a..662bf4b 100644 --- a/lib/storage/@LevelData/LevelData.m +++ b/lib/storage/@LevelData/LevelData.m @@ -1,4 +1,4 @@ -classdef LevelData < handle +classdef LevelData < handle & matlab.mixin.CustomDisplay %%LEVELDATA class representing results from level-oriented computations % Copyright 2023 Philipp Bringmann @@ -254,6 +254,11 @@ classdef LevelData < handle plotTriangulationToFile(obj, jLevel) end + methods (Access=protected) + %% CUSTOM DISPLAY + propgrp = getPropertyGroups(obj) + end + %% AUXILIARY FUNCTIONS methods (Access = private) function idx = getIndex(obj, variableName) diff --git a/lib/storage/@LevelData/getPropertyGroups.m b/lib/storage/@LevelData/getPropertyGroups.m new file mode 100644 index 0000000..3063a08 --- /dev/null +++ b/lib/storage/@LevelData/getPropertyGroups.m @@ -0,0 +1,24 @@ +function propgrp = getPropertyGroups(obj) + if ~isscalar(obj) + propgrp = getPropertyGroups@matlab.mixin.CustomDisplay(obj); + else + % some rudimentary statistics about variable counts + statList = ["nLevel", "nVariable", "nScalarVariable", "nAbsoluteVariable", "nTimeVariable"]; + statTitle = "Variable Counts"; + statGrp = matlab.mixin.util.PropertyGroup(statList, statTitle); + + % metadata as a struct + metaDataList = struct(); + for k = obj.metaData.keys' + metaDataList.(k{1}) = obj.metaData(k{1}); + end + metaDataTitle = "Metadata"; + metaDataGrp = matlab.mixin.util.PropertyGroup(metaDataList, metaDataTitle); + + % storage related properties + storeList = ["root", "foldername", "filename"]; + storeTitle = "Storage details"; + storeGrp = matlab.mixin.util.PropertyGroup(storeList, storeTitle); + propgrp = [statGrp, metaDataGrp, storeGrp]; + end +end \ No newline at end of file -- GitLab