(2016-01-15, 23:52)marcelveldt Wrote: Great idea! I have just implemented it exactly like your example above.
Can you do a little testing with latest git ?
Hmmm, as I thought, I'm still trying to do things not the conventional way
The fact is my skin.string name is a property :
Code:
<settings>
<!-- Designer bloc visibility -->
<setting id="$INFO[Window(home).Property(SetID)]" value="HIDDEN" label="Hidden" condition="" icon="" description=""/>
<setting id="$INFO[Window(home).Property(SetID)]" value="VISIBLE" label="Visible" condition="" icon="" description=""/>
<setting id="$INFO[Window(home).Property(SetID)]" value="IDLEFADE" label="IdleFade" condition="" icon="" description=""/>
<setting id="$INFO[Window(home).Property(SetID)]" value="ISPLAYING" label="IsPlaying" condition="" icon="" description=""/>
<setting id="$INFO[Window(home).Property(SetID)]" value="ONFOCUS" label="OnFocus" condition="" icon="" description=""/>
</settings>
Code:
<onclick>SetProperty(SetID,$INFO[Container(9300).ListItem.Property(SetID)],Home)</onclick>
<onclick>RunScript(script.skin.helper.service,action=setskinsetting,setting=$INFO[Window(home).Property(SetID)],header=TESTWINDOW)</onclick>
Is managing a property possible ? Also in conditions ?
As soon as I use a name in id="" it works but my skin.string's name is dynamically given (to avoid having to write thousands of them) as a ListItem.Property like :
Code:
<property name="SetID">$INFO[Container(9000).ListItem.Property(ViewName),,.]$INFO[Container(9100).ListItem.Property(ViewName),,.]$INFO[Container(9200).ListItem.Property(SubName)]Show</property>
Resulting as for ex. VDO.View1.B1Show (meaning Video library, Viewtype 1, Bloc 1, Show value)
EDIT : for more explaination, my onclick actions actually looks like this :
Code:
<onclick condition="StringCompare(Container(9300).ListItem.Label2,HIDDEN) | IsEmpty(Container(9300).ListItem.Label2)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],VISIBLE)</onclick>
<onclick condition="StringCompare(Container(9300).ListItem.Label2,VISIBLE)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],IDLEFADE)</onclick>
<onclick condition="StringCompare(Container(9300).ListItem.Label2,IDLEFADE) + [!StringCompare(Container(9200).ListItem.Property(SubName),B4) | StringCompare(Container(9000).ListItem.Property(ViewName),HOM)] + !StringCompare(Container(9200).ListItem.Property(SubName),B5)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],HIDDEN)</onclick>
<onclick condition="StringCompare(Container(9300).ListItem.Label2,IDLEFADE) + StringCompare(Container(9200).ListItem.Property(SubName),B4) + !StringCompare(Container(9000).ListItem.Property(ViewName),HOM)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],ISPLAYING)</onclick>
<onclick condition="StringCompare(Container(9300).ListItem.Label2,IDLEFADE) + StringCompare(Container(9200).ListItem.Property(SubName),B5)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],ONFOCUS)</onclick>
<onclick condition="StringCompare(Container(9300).ListItem.Label2,ISPLAYING)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],HIDDEN)</onclick>
<onclick condition="StringCompare(Container(9300).ListItem.Label2,ONFOCUS)">Skin.SetString($INFO[Container(9300).ListItem.Property(SetID)],HIDDEN)</onclick>