Quantcast
Channel: Kodi Community Forum - Skinning
Viewing all articles
Browse latest Browse all 1803

How to make an image into a button - button appears but onclick doesnt run

$
0
0
Probably a pretty basic query but for the life of me I cant figure it out.
Im trying to modify the "Similar" window in Titan Bingie so that you can click on the posters. I've managed to add buttons to the posters but I cant figure out how to get the "onclick" command to fire.

Code:
    <!--Similar List-->
                <control type="panel" id="352">
                    <posx>600</posx>
                    <posy>250</posy>
                    <width>800</width>
                    <height>714</height>
                    <onleft>ClearProperty(AdditionalInfo)</onleft>
                    <onback>ClearProperty(AdditionalInfo)</onback>
                    <onback>8000</onback>
                    <onleft>SetFocus(8000)</onleft>
                    <scrolltime>200</scrolltime>
                    <orientation>vertical</orientation>
                    <focusposition>0</focusposition>
                    <viewtype label="actor list">list</viewtype>
                    <visible allowhiddenfocus="false">String.IsEqual(Window.Property(AdditionalInfo),similar)</visible>
                    <animation effect="fade" start="100" end="25" time="0" condition="Container(352).IsUpdating">Conditional</animation>
                    <animation effect="slide" start="0,0" end="0,1000" time="0" delay="0" condition="!String.IsEqual(Window.Property(AdditionalInfo),similar)">Conditional</animation>
                    <!-- itemlayout movies -->
                    <itemlayout height="357" width="240">
                        <control type="group">
<!-- ===BUTTON===-->
<defaultcontrol always="false">3521</defaultcontrol> 
<!-- ===BUTTON===-->
                            <width>233</width>
                            <height>342</height>
                            <include>PosterPanelLayout</include>

<!-- ===BUTTON===-->
                    <control type="button" id="3521" >
                        <right>0</right>
                        <description>Close</description>
                        <label>$LOCALIZE[222]</label>
                        <width>100%</width>
                        <include>DialogButtonOther</include>
                        <texturefocus colordiffuse="FFFFAAFF">$INFO[Container(352).ListItem.Art(poster)]</texturefocus>
                        <texturenofocus colordiffuse="FFFFAAFF">$INFO[Container(352).ListItem.Art(poster)]</texturenofocus>
                        <height>100%</height>
                        <visible>true</visible>
                        <onclick>ActivateWindow(Settings)</onclick>
                    </control>
<!-- ===BUTTON===-->

                        </control>
                    </itemlayout>
                    <focusedlayout height="357" width="240">
                        <control type="group">
<!-- ===BUTTON===-->
<defaultcontrol always="false">3521</defaultcontrol> 
<!-- ===BUTTON===-->
                            <width>233</width>
                            <height>342</height>
                            <include>PosterPanelLayoutFocus</include>
<!-- ===BUTTON===-->                            
                    <control type="button" id="3521" >
                        <right>0</right>
                        <description>Close</description>
                        <label>$LOCALIZE[222]</label>
                        <width>100%</width>
                        <include>DialogButtonOther</include>
                        <texturefocus colordiffuse="FFFFAAFF">$INFO[Container(352).ListItem.Art(poster)]</texturefocus>
                        <texturenofocus colordiffuse="FFFFAAFF">$INFO[Container(352).ListItem.Art(poster)]</texturenofocus>
                        <height>100%</height>
                        <visible>true</visible>
                        <pulseonselect>true</pulseonselect>
                        <onclick>ActivateWindow(Settings)</onclick>
                    </control>
<!-- ===BUTTON===-->

                        </control>

                    </focusedlayout>
                    <content>$VAR[similarInfo]</content>

                </control>

                <!-- similar info details -->
                <control type="group">
                    <include>animation_window_open_close</include>
                    <visible>String.IsEqual(Window.Property(AdditionalInfo),similar)</visible>
                    <control type="group">
                        <right>50</right>
                        <posy>250</posy>
                        <width>530</width>
                        <height>67%</height>
                        <control type="image">
                            <aspectratio align="center" aligny="top" scalediffuse="true">scale</aspectratio>
                            <texture background="true" diffuse="diffuse/poster.png">$INFO[Container(352).ListItem.Art(poster)]</texture>
                            <fadetime>300</fadetime>
                        </control>
                        <!--Panel-->
                        <control type="image">
                            <bottom>-1</bottom>
                            <height>120</height>
                            <bordersize>0</bordersize>
                            <visible>false</visible>
                            <texture background="true" diffuse="diffuse/poster.png">colors/color_white.png</texture>
                            <colordiffuse>$INFO[Skin.String(TagOverlaysPanelColor)]</colordiffuse>
                        </control>
                        <control type="label">
                            <left>10</left>
                            <bottom>0</bottom>
                            <width>93%</width>
                            <height>120</height>
                            <align>left</align>
                            <visible>false</visible>
                            <label>$INFO[Container(352).ListItem.Label2,,[CR]]$INFO[Container(352).ListItem.Label]</label>
                            <font>Reg32</font>
                            <textcolor>$INFO[Skin.String(TagOverlaysTextColor)]</textcolor>
                        </control>


                    </control>
                </control>
            </control>


And this is loading from the DialogVideoInfo.xml

Code:
<?xml version="1.0" encoding="utf-8"?>
<!-- BINGIE -->
<window>
    <defaultcontrol always="true">8000</defaultcontrol>
    <onload>ClearProperty(ListItem.Property(IMDBNumber))</onload>
    <onload>ClearProperty(ListItem.Property(TvShowTitle))</onload>
    <onload condition="!String.IsEmpty(Window(Home).Property(ListItem.TVShowID))">ClearProperty(ListItem.TVShowID,Home)</onload>
    <onload condition="Skin.HasSetting(UseBingieInfoDialog) + !String.IsEmpty(ListItem.DBID) + [String.IsEqual(ListItem.DBTYPE,episode) | String.IsEqual(ListItem.Property(DBTYPE),episode)]">RunScript(script.bingie.helper,action=gettvshowid,dbid=$INFO[ListItem.DBID])</onload>
    <onload condition="!String.IsEmpty(Window(Home).Property(BaseWindow))">ClearProperty(BaseWindow,Home)</onload>
    <onload condition="!String.IsEmpty(Window.Property(AdditionalInfo))">ClearProperty(AdditionalInfo,Home)</onload>
    <onload condition="System.HasAlarm(preview_delay)">CancelAlarm(preview_delay,silent)</onload>
    <!-- set trailerplaying property if started directly from PlayMedia command in previous window -->
    <onload condition="$EXP[IsPlayingUnrecognizedContent]">SetProperty(TrailerOnLoad,windowed,Home)</onload>
    <onload condition="$EXP[IsPlayingUnrecognizedContent]">SetProperty(TrailerPlaying,windowed,Home)</onload>
    <!-- checks if TVShow is tagged 'mylist' (workaround for ListItem.Tag working inconsistently with tvshows) -->
    <onload condition="Skin.HasSetting(UseBingieInfoDialog) + !String.IsEmpty(ListItem.DBID) + [String.IsEqual(ListItem.DBTYPE,tvshow) | String.IsEqual(ListItem.DBTYPE,movie) | String.IsEqual(ListItem.DBTYPE,episode)]">RunScript(script.bingie.helper,action=ismylist)</onload>
    <include condition="Skin.HasSetting(UseExtendedInfoDialog)">ExtendedInfo_OnLoad_Action</include>
    <include condition="!Skin.HasSetting(UseExtendedInfoDialog)">NoExtendedInfo_OnLoad_Action</include>

    <onunload condition="!String.IsEmpty(Window(Home).Property(ListItem.TVShowID)) + String.IsEmpty(Window(Home).Property(KeepTVShowID))">ClearProperty(ListItem.TVShowID,Home)</onunload>
    <onunload condition="!String.IsEmpty(Window(Home).Property(IsInMyList))">ClearProperty(IsInMyList,Home)</onunload>
    <onunload condition="!String.IsEmpty(Window(Home).Property(RateTitle))">ClearProperty(RateTitle,Home)</onunload>
    <onunload condition="!String.IsEmpty(Window(Home).Property(RateTitle.Action))">ClearProperty(RateTitle.Action,Home)</onunload>
    <onunload condition="!String.IsEmpty(Window(Home).Property(TrailerPlaying)) + !String.IsEqual(Window(Home).Property(TrailerPlaying),fullscreen) + String.IsEmpty(Window(Home).Property(TrailerOnLoad))">PlayerControl(Stop)</onunload>
    <onunload condition="!String.IsEmpty(Window(Home).Property(TrailerOnLoad))">ClearProperty(TrailerOnLoad,Home)</onunload>

    <controls>

        <include condition="Skin.HasSetting(UseBingieInfoDialog) + !Skin.HasSetting(UseExtendedInfoDialog)">BingieInfo</include>
        <include condition="!Skin.HasSetting(UseBingieInfoDialog) + !Skin.HasSetting(UseExtendedInfoDialog)">TitanInfo</include>
    
        <include condition="Skin.HasSetting(DebugGrid) | Skin.HasSetting(DebugInfo)">DebugInfo</include>
    </controls>
</window>

The buttons appear and I can click them and it makes the GUI sound for clicking but the onclick command doesnt run. Ive tried telling it to focus on the buttons but I cant get it to work (ill worry about making the buttons work but have no visible button later once i get the click function to work).

Can anyone help me out?
I suspect its just something very simple but the documentation is pretty poor if you don't already have a good idea how skin xmls are supposed to work.

Viewing all articles
Browse latest Browse all 1803

Trending Articles