From 5618ec3654d8cdf32dae5a60e49dc4a683428e82 Mon Sep 17 00:00:00 2001 From: Mads Kjeldgaard Date: Wed, 5 Jul 2023 18:00:39 +0200 Subject: [PATCH 1/2] feat: add \hide to styling dict to allow hiding elements from gui --- Modality/Classes/GUI/MKtlGUI.sc | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/Modality/Classes/GUI/MKtlGUI.sc b/Modality/Classes/GUI/MKtlGUI.sc index 22a15a44..2db8f5cc 100644 --- a/Modality/Classes/GUI/MKtlGUI.sc +++ b/Modality/Classes/GUI/MKtlGUI.sc @@ -276,6 +276,15 @@ MKtlGUI { "%: will show %'s % elements in % views.\n".postf(thisMethod, mktl, mktl.elementsDict.size, elemsToShow.size); + // Remove elements that have the hide flag set in the style dict + elemsToShow = elemsToShow.reject({ |el| + var result = try {el.elemDesc[ \style ].notNil && el.elemDesc[ \style ][ \hide ] == true} ? false; + // var result = try{el.elemDesc[\style][\hide]} ? false; + + result.if("Removing element % because it has the hide flag set in the style dict.\n".postf(el.name)); + result + }); + views = elemsToShow.collect({ |item| var style, bounds, parView = parent, redirView, newViews; var itemIsGroup = item.isKindOf(MKtlElementGroup); @@ -394,7 +403,22 @@ MKtlGUI { if (mktl.elementGroup.elements.isEmpty) { ^[1, 2] }; - ^mktl.elementGroup.flat.collect({ |item| + ^mktl.elementGroup.flat + // Remove element from count if it is hidden + .reject({|item| + var desc = item.elemDesc; + + if(desc.isNil, { + false + }, { + if(desc[ \style ].isNil, { + false + }, { + desc[ \style ][ \hide ] == true + }) + }) + + }).collect({ |item| var desc = item.elemDesc; desc !? { ((desc[ \style ] ?? { ( row: 0, column: 0, width: 0, height: 0 ) }) From a91b620bdc112d7edca3c97d8b73bb94886c799d Mon Sep 17 00:00:00 2001 From: Mads Kjeldgaard Date: Wed, 5 Jul 2023 18:14:38 +0200 Subject: [PATCH 2/2] fix: Remove debug postln from style-hider --- Modality/Classes/GUI/MKtlGUI.sc | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Modality/Classes/GUI/MKtlGUI.sc b/Modality/Classes/GUI/MKtlGUI.sc index 2db8f5cc..8b49c9ab 100644 --- a/Modality/Classes/GUI/MKtlGUI.sc +++ b/Modality/Classes/GUI/MKtlGUI.sc @@ -278,11 +278,7 @@ MKtlGUI { // Remove elements that have the hide flag set in the style dict elemsToShow = elemsToShow.reject({ |el| - var result = try {el.elemDesc[ \style ].notNil && el.elemDesc[ \style ][ \hide ] == true} ? false; - // var result = try{el.elemDesc[\style][\hide]} ? false; - - result.if("Removing element % because it has the hide flag set in the style dict.\n".postf(el.name)); - result + try {el.elemDesc[ \style ].notNil && el.elemDesc[ \style ][ \hide ] == true} ? false; }); views = elemsToShow.collect({ |item|