sourceafQuickFlux::QuickFluxIcons.fan

using gfx::Image
using afIoc::Inject

const class QuickFluxIcons {
    
    @Inject
    private const IconSrc iconSrc

    // always look in the 'icons' pod first
    Image icoCircleArrowUp      { private set { } get { icon(`fan://icons/x16/circleArrowUp.png`)}}
    Image icoCircleArrowDown    { private set { } get { icon(`fan://icons/x16/circleArrowDown.png`)}}
    Image icoCircleArrowLeft    { private set { } get { icon(`fan://icons/x16/circleArrowLeft.png`)}}
    Image icoCircleArrowRight   { private set { } get { icon(`fan://icons/x16/circleArrowRight.png`)}}
    Image icoCircleAdd          { private set { } get { icon(`fan://icons/x16/circleAdd.png`)}}
    Image icoCircleDelete       { private set { } get { icon(`fan://icons/x16/circleDelete.png`)}}
    
    Image icoDatabase           { private set { } get { icon(`fan://icons/x16/database.png`)}}
    Image icoRefresh            { private set { } get { icon(`fan://icons/x16/refresh.png`)}}
    Image icoSettings           { private set { } get { icon(`fan://icons/x16/settings.png`)}}

    Image icoSun                { private set { } get { icon(`fan://icons/x16/sun.png`)}}
    Image icoRain               { private set { } get { icon(`fan://icons/x16/rain.png`)}}

    Image icoFolder             { private set { } get { icon(`fan://icons/x16/folder.png`)}}
    Image icoFile               { private set { } get { icon(`fan://icons/x16/file.png`)}}
    Image icoFileFantom         { private set { } get { icon(`fan://icons/x16/fileFan.png`)}}
    Image icoFileImage          { private set { } get { icon(`fan://icons/x16/fileImage.png`)}}

    Image icoCollapseAll        { private set { } get { icon(`fan://afQuickFlux/res/icons/icoCollapseAll.png`)}}

    protected new make(|This| inject) { inject(this) }

    protected Image? icon(Uri? icoUri) {
        iconSrc[icoUri]
    }
}