Kodi Community Forum
Panel with buttons - HOW? - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Skinning (https://forum.kodi.tv/forumdisplay.php?fid=12)
+--- Thread: Panel with buttons - HOW? (/showthread.php?tid=95306)



Panel with buttons - HOW? - pecinko - 2011-02-25

Buttonscrollers

NOTE: This control is now obsolete. You should use a list or panel container with static content instead.
------

But how?

ListItem.Button doesn't seam to work. I wasn't able to find any additional info regarding this.

Please, how is this one used?


- Hitcher - 2011-02-25

It's where you use content and items to fill the list with.

ie

PHP Code:
<content>
    <
item id="1">
        <
onclick>ActivateWindow(Programs,Addons,return)</onclick>
        <
label>$LOCALIZE[31029]</label>
        <
icon>$INFO[Control.GetLabel(3001)]</icon>
        <
visible>!Skin.HasSetting(NoPrograms)</visible>
    </
item>
    <
item id="2">
        <
label>$INFO[Skin.String(CustomItemName_1)]</label>
        <
icon fallback="DefaultAddonNone.png">$INFO[Control.GetLabel(3002)]</icon>
        <
onclick>$INFO[Skin.String(CustomItemPath_1)]</onclick>
        <
visible>Skin.HasSetting(CustomItem_1) + !IsEmpty(Skin.String(CustomItemName_1))</visible>
    </
item>
    <
item id="3">
        <
onclick>ActivateWindow(VideoFiles)</onclick>
        <
label>3</label>
        <
icon>$INFO[Control.GetLabel(3003)]</icon>
        <
visible>!Skin.HasSetting(NoVideos)</visible>
    </
item>
    <
item id="4">
        <
label>$INFO[Skin.String(CustomItemName_2)]</label>
        <
icon fallback="DefaultAddonNone.png">$INFO[Control.GetLabel(3004)]</icon>
        <
onclick>$INFO[Skin.String(CustomItemPath_2)]</onclick>
        <
visible>Skin.HasSetting(CustomItem_2) + !IsEmpty(Skin.String(CustomItemName_2))</visible>
    </
item>
    <
item id="5">
        <
label>2</label>
        <
icon>$INFO[Control.GetLabel(3005)]</icon>
        <
onclick>ActivateWindow(MyMusicLibrary,Albums,return)</onclick>
        <
visible>!Skin.HasSetting(NoMusic) + !Skin.HasSetting(HomeReturnOff) + !Skin.HasSetting(HomeMusicArtists)</visible>
    </
item>
    <
item id="5">
        <
label>2</label>
        <
icon>$INFO[Control.GetLabel(3005)]</icon>
        <
onclick>ActivateWindow(MyMusicLibrary,Albums)</onclick>
        <
visible>!Skin.HasSetting(NoMusic) + Skin.HasSetting(HomeReturnOff) + !Skin.HasSetting(HomeMusicArtists)</visible>
    </
item>
    <
item id="5">
        <
label>2</label>
        <
icon>$INFO[Control.GetLabel(3005)]</icon>
        <
onclick>ActivateWindow(MyMusicLibrary,Artists,return)</onclick>
        <
visible>!Skin.HasSetting(NoMusic) + !Skin.HasSetting(HomeReturnOff) + Skin.HasSetting(HomeMusicArtists)</visible>
    </
item>
    <
item id="5">
        <
label>2</label>
        <
icon>$INFO[Control.GetLabel(3005)]</icon>
        <
onclick>ActivateWindow(MyMusicLibrary,Artists)</onclick>
        <
visible>!Skin.HasSetting(NoMusic) + Skin.HasSetting(HomeReturnOff) + Skin.HasSetting(HomeMusicArtists)</visible>
    </
item>
    <
item id="6">
        <
label>$INFO[Skin.String(CustomItemName_3)]</label>
        <
icon fallback="DefaultAddonNone.png">$INFO[Control.GetLabel(3006)]</icon>
        <
onclick>$INFO[Skin.String(CustomItemPath_3)],return</onclick>
        <
visible>Skin.HasSetting(CustomItem_3) + !IsEmpty(Skin.String(CustomItemName_3))</visible>
    </
item>
    <
item id="7">
        <
label>342</label>
        <
icon>$INFO[Control.GetLabel(3007)]</icon>
        <
onclick>ActivateWindow(MyVideoLibrary,movietitles,return)</onclick>
        <
visible>!Skin.HasSetting(NoMovies) + !Skin.HasSetting(HomeReturnOff)</visible>
    </
item>
    <
item id="7">
        <
label>342</label>
        <
icon>$INFO[Control.GetLabel(3007)]</icon>
        <
onclick>ActivateWindow(MyVideoLibrary,movietitles)</onclick>
        <
visible>!Skin.HasSetting(NoMovies) + Skin.HasSetting(HomeReturnOff)</visible>
    </
item>
    <
item id="8">
        <
onclick>PlayDVD()</onclick>
        <
label>341</label>
        <
icon>backdrops/playdisc.jpg</icon>
        <
visible>System.HasMediaDVD</visible>
    </
item>
    <
item id="9">
        <
label>$INFO[Skin.String(CustomItemName_4)]</label>
        <
icon fallback="DefaultAddonNone.png">$INFO[Control.GetLabel(3008)]</icon>
        <
onclick>$INFO[Skin.String(CustomItemPath_4)]</onclick>
        <
visible>Skin.HasSetting(CustomItem_4) + !IsEmpty(Skin.String(CustomItemName_4))</visible>
    </
item>
    <
item id="10">
        <
label>20343</label>
        <
icon>$INFO[Control.GetLabel(3009)]</icon>
        <
onclick>ActivateWindow(MyVideoLibrary,tvshowtitles,return)</onclick>
        <
visible>!Skin.HasSetting(NoTVShows) + !Skin.HasSetting(HomeReturnOff)</visible>
    </
item>
    <
item id="10">
        <
label>20343</label>
        <
icon>$INFO[Control.GetLabel(3009)]</icon>
        <
onclick>ActivateWindow(MyVideoLibrary,tvshowtitles)</onclick>
        <
visible>!Skin.HasSetting(NoTVShows) + Skin.HasSetting(HomeReturnOff)</visible>
    </
item>
    <
item id="11">
        <
label>$INFO[Skin.String(CustomItemName_5)]</label>
        <
icon fallback="DefaultAddonNone.png">$INFO[Control.GetLabel(3010)]</icon>
        <
onclick>$INFO[Skin.String(CustomItemPath_5)]</onclick>
        <
visible>Skin.HasSetting(CustomItem_5) + !IsEmpty(Skin.String(CustomItemName_5))</visible>
    </
item>
    <
item id="12">
        <
label>1</label>
        <
icon>$INFO[Control.GetLabel(3011)]</icon>
        <
onclick>ActivateWindow(Pictures)</onclick>
        <
visible>!Skin.HasSetting(NoPictures)</visible>
    </
item>
    <
item id="13">
        <
label>$INFO[Skin.String(CustomItemName_6)]</label>
        <
icon fallback="DefaultAddonNone.png">$INFO[Control.GetLabel(3012)]</icon>
        <
onclick>$INFO[Skin.String(CustomItemPath_6)]</onclick>
        <
visible>Skin.HasSetting(CustomItem_6) + !IsEmpty(Skin.String(CustomItemName_6))</visible>
    </
item>
    <
item id="14">
        <
onclick>ActivateWindow(weather)</onclick>
        <
label>8</label>
        <
icon>$INFO[Control.GetLabel(3013)]</icon>
        <
visible>!Skin.HasSetting(NoWeather) + !Skin.HasSetting(HomeWeather)</visible>
    </
item>
    <
item id="14">
        <
onclick>ActivateWindow(weather)</onclick>
        <
label>$LOCALIZE[31157$INFO[Window(Weather).Property(Current.Temperature)]$INFO[System.TemperatureUnits]</label>
        <
icon>$INFO[Control.GetLabel(3013)]</icon>
        <
visible>!Skin.HasSetting(NoWeather) + Skin.HasSetting(HomeWeather)</visible>
    </
item>
    <
item id="15">
        <
label>$INFO[Skin.String(CustomItemName_7)]</label>
        <
icon fallback="DefaultAddonNone.png">$INFO[Control.GetLabel(3014)]</icon>
        <
onclick>$INFO[Skin.String(CustomItemPath_7)]</onclick>
        <
visible>Skin.HasSetting(CustomItem_7) + !IsEmpty(Skin.String(CustomItemName_7))</visible>
    </
item>
    <
item id="16">
        <
onclick>ActivateWindow(settings)</onclick>
        <
label>5</label>
        <
icon>$INFO[Control.GetLabel(3015)]</icon>
        <
visible>!Skin.HasSetting(NoSettings)</visible>
    </
item>
</
content



- pecinko - 2011-02-25

Thanks Hitch, but I don't get it.

What should be put in panel body (above content) in order for it to work? ListItem.Label defines label list? I would like to use list of buttons.


- pecinko - 2011-02-25

Or is it that <onclick> defines item as button?


- `Black - 2011-02-25

<onclick> defines the action which will be performed if you click on an item in the list or panel container.


- pecinko - 2011-02-25

What confused me was the fact there is clear differentiation between buttons and labels when used as controls. With containers it wasn't that obvious for me. When I looked at list and saw ListItem.Label, as expected to see ListItem.Button as well.


- jmarshall - 2011-02-26

You can use a grouplist if what you want is to put actual button controls (or any other controls) inside a list.


- pecinko - 2011-02-26

jmarshall Wrote:You can use a grouplist if what you want is to put actual button controls (or any other controls) inside a list.

Tried it. The drawback is only GroupControl(xy).HasFocus(x) can be used for sliding animations instead of Container-Position as more flexible one, meaning you need to know and code every included control. Thus, animation breaks if one or more controls inside grouplist are not visible (smoothly sliding buttons Mediastream like).