//
// ARP resource file, "standard" look
//

#include "resource.h"
#include <directuipp.h>

/*****************************************************
 * Default style sheet rules
 *****************************************************/

<style resid=frame>
    arpframe
    {
        accessible: true;
        accRole: 9;
        accName: rcstr(IDS_ARPTITLE);
        fontsize: sysmetric(DSM_ICONFONTSIZE);
        fontweight: sysmetric(DSM_ICONFONTWEIGHT);
        fontstyle: sysmetric(DSM_ICONFONTSTYLE);
        fontface: sysmetricstr(DSMS_ICONFONTFACE);
        background: window;
        foreground: windowtext;
    }
</style>

<style resid=closepane>

    element [id=atom(closepane)]
    {
        background: buttonface;
        padding: rect(10,10,10,10);
    }

    button
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONPUSH);
        foreground: buttontext;
        contentalign: middlecenter;
        padding: rect(20,6,20,6);
    }
                
    button [pressed]
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONPUSH | DFCS_PUSHED);
        padding: rect(21,7,19,5);
    }

    button [keyfocused]
    {
        contentalign: middlecenter | focusrect;
    }

    button [enabled=false]
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONPUSH | DFCS_INACTIVE);
        foreground: graytext;
        fontstyle: shadow;
    }

    progress
    {
        borderthickness: rect(2,2,2,2);
        bordercolor: buttonface;
        borderstyle: sunken;
        padding: rect(1,1,1,1);
        margin: rect(0, 4, 0, 2);
        foreground: rcbmp(IDB_PROGRESS);
    }

</style>

<style resid=optionpane>

    ARPSelector
    {
        background: appworkspace;
        foreground: buttontext;
        padding: rect(3,3,3,3);
    }

    element
    {
        background: argb(0,0,0,0);
    }

    button
    {
        bordercolor: appworkspace;
        borderthickness: rect(2,2,2,2);
        foreground: captiontext;
        margin: rect(5,5,5,5);
        padding: rect(2,2,2,4);
    }

    button [keyfocused]
    {
        borderstyle: raised;
        bordercolor: threedlightshadow;
    }

    button [mousefocused]
    {
        borderstyle: raised;
        bordercolor: threedlightshadow;
    }

    button [pressed]
    {
        borderstyle: sunken;
        padding: rect(3,3,1,3);
        bordercolor: threedlightshadow;
    }

    button [selected]
    {
        borderstyle: sunken;
        padding: rect(3,3,1,3);
        bordercolor: threedlightshadow;
    }

</style>

<style resid=contentpane>

    element [id=atom(contentpane)]
    {
        padding: rect(10,10,10,10);
    }

    element [id=atom(installedlistcontainer)]
    {
        borderthickness: rect(1,1,1,1);
        bordercolor: buttonshadow;
        padding: rect(0,0,0,0);
    }

    element [id=atom(publishedlistcontainer)]
    {
        borderthickness: rect(1,1,1,1);
        bordercolor: buttonshadow;
        padding: rect(0,0,0,0);
    }

    element [id=atom(ocsetuplistcontainer)]
    {
        borderthickness: rect(1,1,1,1);
        bordercolor: buttonshadow;
        padding: rect(0,0,0,0);
    }

    element [id=atom(label)]
    {
        padding: rect(0,5,5,5);
    }

    element
    {
        padding: rect(2,2,2,2);
    }

    element [id=atom(sort)]
    {
        padding: rect(2,2,0,2);
    }

    button
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONPUSH);
        foreground: buttontext;
        padding: rect(8,6,8,6);
        margin: rect(5,5,5,5);
    }

    button [pressed]
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONPUSH | DFCS_PUSHED);
        padding: rect(9,7,7,5);
    }

    button [keyfocused]
    {
        contentalign: focusrect;
    }

</style>

<style resid=listscroller>

    scrollbar
    {
        layoutpos: ninebottom;
    }

    scrollbar [vertical]
    {
        layoutpos: nineright;
    }

    viewer
    {
        layoutpos: nineclient;
    }

    thumb
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONPUSH); 
    }

    repeatbutton [id=atom(lineup)]
    {
        background: dfc(DFC_SCROLL, DFCS_SCROLLUP);
        width: sysmetric(SM_CXVSCROLL);
        height: sysmetric(SM_CYVSCROLL);
    }

    repeatbutton [id=atom(lineup)][pressed]
    {
        background: dfc(DFC_SCROLL, DFCS_SCROLLUP | DFCS_PUSHED);
    }

    repeatbutton [id=atom(linedown)]
    {
        background: dfc(DFC_SCROLL, DFCS_SCROLLDOWN);
        width: sysmetric(SM_CXVSCROLL);
        height: sysmetric(SM_CYVSCROLL);
    }

    repeatbutton [id=atom(linedown)][pressed]
    {
        background: dfc(DFC_SCROLL, DFCS_SCROLLDOWN | DFCS_PUSHED);
    }

    repeatbutton [class="Page"]
    { 
        background: scrollbar;
    }

    repeatbutton [class="Page"][pressed]
    { 
        background: buttonshadow;
    }

    scrollviewer[id=atom(clientscroller)]
    {
        borderstyle: solid;
        borderthickness: rect(1,1,1,1);
        bordercolor: buttonshadow;
        margin: rect(0,10rp,0,0);
    }

</style>

<style resid=itemlist>

    arpitem
    {
        padding: rect(1,1,1,3);
    }

    arpitem [selected]
    {
        background: buttonface;
        foreground: buttontext;
        bordercolor: buttontext;
    }

    arpitem [keyfocused][selected]
    {
        background: highlight;
        foreground: highlighttext;
        bordercolor: highlighttext;
    }

    element
    {
        padding: rect(1,1,1,1);
    }

    element [id=atom(title)][selected]
    {
        fontweight: extrabold;
    }

    button
    {
        padding: rect(1,1,1,1);
        contentalign: wrapright;
    }

    button [id=atom(supinfo)]
    {
        contentalign: wrapleft;
    }

    button [selected]
    {
        fontstyle: underline;
        cursor: hand;
    }

    button [id=atom(supinfo)][keyfocused]
    {
        contentalign: wrapleft|focusrect;
    }

    button [keyfocused]
    {
        fontstyle: none;
        contentalign: wrapright|focusrect;
    }

</style>

<style resid=itemaction>

    button
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONPUSH);
        foreground: buttontext;
        padding: rect(8,6,8,6);
        margin: rect(5,5,5,5);
    }
                
    button [pressed]
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONPUSH | DFCS_PUSHED);
        padding: rect(9,7,7,5);
    }

    button [keyfocused]
    {
        contentalign: focusrect;
    }

</style>

<style resid=helppopup>

    arphelp
    {
        accessible: true;
        accRole: 9;
        background: infobackground;
        foreground: infotext;
        padding: rect(6,6,6,6);
        fontsize: sysmetric(DSM_ICONFONTSIZE);
        fontweight: sysmetric(DSM_ICONFONTWEIGHT);
        fontstyle: sysmetric(DSM_ICONFONTSTYLE);
        fontface: sysmetricstr(DSMS_ICONFONTFACE);
    }

    element [id=atom(divider)]
    {
        background: infotext;
    }

    element [id=atom(rdivider)]
    {
        background: infotext;
    }

    element
    {
         background: argb(0,0,0,0);
    }

    element [id=atom(title)]
    {
        fontsize: sysmetric(DSM_CAPTIONFONTSIZE);
        fontweight: sysmetric(DSM_CAPTIONFONTWEIGHT);
        fontstyle: sysmetric(DSM_CAPTIONFONTSTYLE);
        fontface: sysmetricstr(DSMS_CAPTIONFONTFACE);
    }

    button [Enabled]
    {
       foreground: hotlight;
       fontstyle: underline;
    }

    button [MouseFocused]
    {
        cursor: hand;
    }

    button [class="winstyle"]
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONPUSH);
        foreground: buttontext;
        padding: rect(8,6,8,6);
        margin: rect(5,5,5,5);
        cursor: arrow;
        fontstyle: none;
    }
                
    button [class="winstyle"][pressed]
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONPUSH | DFCS_PUSHED);
        padding: rect(9,7,7,5);
    }

    button [keyfocused]
    {
        contentalign: focusrect;
    }

    ARPSupportItem
    {
        ContentAlign: WrapLeft;
    }

</style>

<style resid=pickapppane>

    // top padding makes the baseline of the element line up with the combobox
    element [class="clientcaption"]
    {
        padding: rect(0,4rp,8rp,0);
    }

    element [class="clientcaption"][id=atom(rowheader)]
    {
        fontweight: bold;
    }

    // top padding makes the baseline of the element line up with the combobox
    // left padding does the same for horizontal positioning
    element [class="clientstatic"]
    {
        padding: rect(3rp,4rp,0,0);
    }

    // Separates clients in the OEM/MS/NonMS section
    element [class="interrowspacer"]
    {
        height: 6rp;
    }

    // Provides spacing around the introductory blurb text for each section
    element [class="blurbtext"]
    {
        padding:rect(0,8rp,8rp,8rp);
    }

    // Provides spacing at the bottom of the section
    // (Do not give any top padding or that will put the white gradient
    // in the wrong place.)
    element [id=atom(clipped)]
    {
        padding:rect(0,0,0,4rp);
    }

    element [id=atom(radiobutton)]
    {
        width: sysmetric(SM_CXMENUCHECK);
        height: sysmetric(SM_CYMENUCHECK);
        margin: rect(0,6rp,8rp,6rp);
        layoutpos: left;
        background: dfc(DFC_BUTTON, DFCS_BUTTONRADIO);
    }

    element [id=atom(radiobutton)][selected]
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONRADIO | DFCS_CHECKED);
    }

    element [id=atom(radiotext)]
    {
        layoutpos: left;
        contentalign: middleleft;
    }

    // The purpose of the "radioindent" class is to get the text inside
    // each expando to line up exactly with the text next to the radio button
    // in the header.
    element [class="radioindent"]
    {
        layoutpos: left;
        padding: rect(8rp,0,0,0);
    }

    element [id=atom(checkbutton)]
    {
        width: sysmetric(SM_CXMENUCHECK);
        height: sysmetric(SM_CYMENUCHECK);
        margin: rect(0,6rp,8rp,6rp);
        layoutpos: left;
        background: dfc(DFC_BUTTON, DFCS_BUTTONCHECK);
    }

    element [id=atom(checkbutton)][selected]
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONCHECK | DFCS_CHECKED);
    }

    element [id=atom(checkbutton)][enabled=false]
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONCHECK | DFCS_INACTIVE);
    }

    element [id=atom(checkbutton)][selected][enabled=false]
    {
        background: dfc(DFC_BUTTON, DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_INACTIVE);
    }

    element [id=atom(checktext)]
    {
        layoutpos: client;
        contentalign: wrapleft;
    }

    element [id=atom(checktext)][enabled=false]
    {
        foreground: graytext;
    }

    autobutton [id=atom(arrow)]
    {
        layoutpos: right;
        content: rcbmp(IDB_DOWN,3,-1,0,0,0,0,handlemap(SHELLSTYLEHINSTANCE));
    }

    autobutton [id=atom(arrow)][selected]
    {
        content: rcbmp(IDB_UP,3,-1,0,0,0,0,handlemap(SHELLSTYLEHINSTANCE));
    }

    // need to add this padding to avoid colliding with the focus rect
    autobutton [class="padded"]
    {
        padding: rect(8rp,2rp,8rp,2rp);
    }

    button [keyfocused]
    {
        contentalign: focusrect;
    }

    autobutton [keyfocused]
    {
        contentalign: focusrect;
    }

    expando
    {
        animation: rectanglev | s | fast;
    }

    expando [selected]
    {
        background: buttonface;
        foreground: buttontext;
    }

    clipper
    {
        alpha: 0;
        animation: alpha | s | fast;
    }

    clipper [expanded]
    {
        alpha: 255;
    }

    // This controls the spacing of the rows in the custom client section
    element [class="customclientitem"]
    {
        padding: rect(20rp,6rp,8rp,6rp);
    }

    gradientline
    {
        animation: rectanglev | s | fast;
        height: 1rp;
    }

    gradientline [class="intercategory"]
    {
        foreground: highlight;
    }

    gradientline [class="interheader"]
    {
        foreground: buttonface;
        margin: rect(0,1rp,0,1rp);
    }

    gradientline [class="innerheader"]
    {
        foreground: buttonface;
    }

    gradientline [class="innerheader"][selected]
    {
        foreground: window;
    }

</style>