
markup.push({

	// MARK: - standard text button

	ButtonView:
	{
		nsClass: "GXButtonView",
		gxIntrinsicHeight: 24,
		gxForePainter: "ButtonFore",
		gxBackPainter: "ButtonBack",
		gxLabelTemplate: "LabelView.foreColor2.size11",
        
        // button can be set, mostly useful for AX
        //gxButtonType: "radio" - "checkbox"
	},

    // MARK: - image only button

    ImageButtonView:
    {
        nsClass: "GXButtonView",
        gxIntrinsicHeight: 24,
        gxForePainter: "ImageButtonPainter",
        gxLabelTemplate: "LabelView.foreColor2.size11"
    },

    // MARK: - tab button
    
    TabButtonView:
    {
        "+": "ButtonView",
        gxButtonType: "tab",
        //axRoleDescription: "Tab, 1 of 3"  <- for example, on each tab
    },

    // MARK: - text only button

    TextButtonView:
    {
        nsClass: "GXButtonView",
        gxIntrinsicHeight: 17,
        gxForePainter:
        {
            "+": "ButtonFore",
            gxFontColor: "ForeColor2",
            on: {
                gxFontColor: "ColorTheme1"
            },
            noOn: {
                on: { },
            },
        },
    },

    // MARK: - button painters

    ButtonFore:
    {
        "+": "ControlFore",
    },

    ButtonBack:
    {
        "+": "ControlBack",
    },

    ImageButtonPainter:
    {
        "+": "ImagePainter",

        gxTintColor: "ForeColor2",
		showOn:
		{
			on: { gxTintColor: "ColorTheme1" },
		},
        blockDisabled: {
            gxAlpha: 75,
        },
		labelBelowInset: {
			gxEdgeInsets: "0, 0, 0, 4",
		},
    },

})
