// Code generated by "enumer -linecomment -type=StyleVarID ."; DO NOT EDIT.

package giu

import (
	"fmt"
	"strings"
)

const (
	_StyleVarIDName_0      = "alphadisabled-alphawindow-paddingwindow-roundingwindow-border-sizewindow-minValue-sizewindow-title-alignchild-roundingchild-border-sizepopup-roundingpopup-border-sizeframe-paddingframe-roundingframe-border-sizeitem-spacingitem-inner-spacingindent-spacingStyleVarCellPaddingscrollbar-sizescrollbar-rounding"
	_StyleVarIDLowerName_0 = "alphadisabled-alphawindow-paddingwindow-roundingwindow-border-sizewindow-minvalue-sizewindow-title-alignchild-roundingchild-border-sizepopup-roundingpopup-border-sizeframe-paddingframe-roundingframe-border-sizeitem-spacingitem-inner-spacingindent-spacingstylevarcellpaddingscrollbar-sizescrollbar-rounding"
	_StyleVarIDName_1      = "grab-minValue-sizegrab-rounding"
	_StyleVarIDLowerName_1 = "grab-minvalue-sizegrab-rounding"
	_StyleVarIDName_2      = "tab-rounding"
	_StyleVarIDLowerName_2 = "tab-rounding"
	_StyleVarIDName_3      = "StyleVarTabBarBorderSize"
	_StyleVarIDLowerName_3 = "stylevartabbarbordersize"
	_StyleVarIDName_4      = "button-text-alignselectable-text-alignStyleVarSeparatorTextBorderSizeStyleVarSeparatorTextAlignStyleVarSeparatorTextPaddingStyleVarDockingSeparatorSize"
	_StyleVarIDLowerName_4 = "button-text-alignselectable-text-alignstylevarseparatortextbordersizestylevarseparatortextalignstylevarseparatortextpaddingstylevardockingseparatorsize"
)

var (
	_StyleVarIDIndex_0 = [...]uint16{0, 5, 19, 33, 48, 66, 86, 104, 118, 135, 149, 166, 179, 193, 210, 222, 240, 254, 273, 287, 305}
	_StyleVarIDIndex_1 = [...]uint8{0, 18, 31}
	_StyleVarIDIndex_2 = [...]uint8{0, 12}
	_StyleVarIDIndex_3 = [...]uint8{0, 24}
	_StyleVarIDIndex_4 = [...]uint8{0, 17, 38, 69, 95, 123, 151}
)

func (i StyleVarID) String() string {
	switch {
	case 0 <= i && i <= 19:
		return _StyleVarIDName_0[_StyleVarIDIndex_0[i]:_StyleVarIDIndex_0[i+1]]
	case 21 <= i && i <= 22:
		i -= 21
		return _StyleVarIDName_1[_StyleVarIDIndex_1[i]:_StyleVarIDIndex_1[i+1]]
	case i == 24:
		return _StyleVarIDName_2
	case i == 28:
		return _StyleVarIDName_3
	case 34 <= i && i <= 39:
		i -= 34
		return _StyleVarIDName_4[_StyleVarIDIndex_4[i]:_StyleVarIDIndex_4[i+1]]
	default:
		return fmt.Sprintf("StyleVarID(%d)", i)
	}
}

// An "invalid array index" compiler error signifies that the constant values have changed.
// Re-run the stringer command to generate them again.
func _StyleVarIDNoOp() {
	var x [1]struct{}
	_ = x[StyleVarAlpha-(0)]
	_ = x[StyleVarDisabledAlpha-(1)]
	_ = x[StyleVarWindowPadding-(2)]
	_ = x[StyleVarWindowRounding-(3)]
	_ = x[StyleVarWindowBorderSize-(4)]
	_ = x[StyleVarWindowMinSize-(5)]
	_ = x[StyleVarWindowTitleAlign-(6)]
	_ = x[StyleVarChildRounding-(7)]
	_ = x[StyleVarChildBorderSize-(8)]
	_ = x[StyleVarPopupRounding-(9)]
	_ = x[StyleVarPopupBorderSize-(10)]
	_ = x[StyleVarFramePadding-(11)]
	_ = x[StyleVarFrameRounding-(12)]
	_ = x[StyleVarFrameBorderSize-(13)]
	_ = x[StyleVarItemSpacing-(14)]
	_ = x[StyleVarItemInnerSpacing-(15)]
	_ = x[StyleVarIndentSpacing-(16)]
	_ = x[StyleVarCellPadding-(17)]
	_ = x[StyleVarScrollbarSize-(18)]
	_ = x[StyleVarScrollbarRounding-(19)]
	_ = x[StyleVarGrabMinSize-(21)]
	_ = x[StyleVarGrabRounding-(22)]
	_ = x[StyleVarTabRounding-(24)]
	_ = x[StyleVarTabBarBorderSize-(28)]
	_ = x[StyleVarButtonTextAlign-(34)]
	_ = x[StyleVarSelectableTextAlign-(35)]
	_ = x[StyleVarSeparatorTextBorderSize-(36)]
	_ = x[StyleVarSeparatorTextAlign-(37)]
	_ = x[StyleVarSeparatorTextPadding-(38)]
	_ = x[StyleVarDockingSeparatorSize-(39)]
}

var _StyleVarIDValues = []StyleVarID{StyleVarAlpha, StyleVarDisabledAlpha, StyleVarWindowPadding, StyleVarWindowRounding, StyleVarWindowBorderSize, StyleVarWindowMinSize, StyleVarWindowTitleAlign, StyleVarChildRounding, StyleVarChildBorderSize, StyleVarPopupRounding, StyleVarPopupBorderSize, StyleVarFramePadding, StyleVarFrameRounding, StyleVarFrameBorderSize, StyleVarItemSpacing, StyleVarItemInnerSpacing, StyleVarIndentSpacing, StyleVarCellPadding, StyleVarScrollbarSize, StyleVarScrollbarRounding, StyleVarGrabMinSize, StyleVarGrabRounding, StyleVarTabRounding, StyleVarTabBarBorderSize, StyleVarButtonTextAlign, StyleVarSelectableTextAlign, StyleVarSeparatorTextBorderSize, StyleVarSeparatorTextAlign, StyleVarSeparatorTextPadding, StyleVarDockingSeparatorSize}

var _StyleVarIDNameToValueMap = map[string]StyleVarID{
	_StyleVarIDName_0[0:5]:          StyleVarAlpha,
	_StyleVarIDLowerName_0[0:5]:     StyleVarAlpha,
	_StyleVarIDName_0[5:19]:         StyleVarDisabledAlpha,
	_StyleVarIDLowerName_0[5:19]:    StyleVarDisabledAlpha,
	_StyleVarIDName_0[19:33]:        StyleVarWindowPadding,
	_StyleVarIDLowerName_0[19:33]:   StyleVarWindowPadding,
	_StyleVarIDName_0[33:48]:        StyleVarWindowRounding,
	_StyleVarIDLowerName_0[33:48]:   StyleVarWindowRounding,
	_StyleVarIDName_0[48:66]:        StyleVarWindowBorderSize,
	_StyleVarIDLowerName_0[48:66]:   StyleVarWindowBorderSize,
	_StyleVarIDName_0[66:86]:        StyleVarWindowMinSize,
	_StyleVarIDLowerName_0[66:86]:   StyleVarWindowMinSize,
	_StyleVarIDName_0[86:104]:       StyleVarWindowTitleAlign,
	_StyleVarIDLowerName_0[86:104]:  StyleVarWindowTitleAlign,
	_StyleVarIDName_0[104:118]:      StyleVarChildRounding,
	_StyleVarIDLowerName_0[104:118]: StyleVarChildRounding,
	_StyleVarIDName_0[118:135]:      StyleVarChildBorderSize,
	_StyleVarIDLowerName_0[118:135]: StyleVarChildBorderSize,
	_StyleVarIDName_0[135:149]:      StyleVarPopupRounding,
	_StyleVarIDLowerName_0[135:149]: StyleVarPopupRounding,
	_StyleVarIDName_0[149:166]:      StyleVarPopupBorderSize,
	_StyleVarIDLowerName_0[149:166]: StyleVarPopupBorderSize,
	_StyleVarIDName_0[166:179]:      StyleVarFramePadding,
	_StyleVarIDLowerName_0[166:179]: StyleVarFramePadding,
	_StyleVarIDName_0[179:193]:      StyleVarFrameRounding,
	_StyleVarIDLowerName_0[179:193]: StyleVarFrameRounding,
	_StyleVarIDName_0[193:210]:      StyleVarFrameBorderSize,
	_StyleVarIDLowerName_0[193:210]: StyleVarFrameBorderSize,
	_StyleVarIDName_0[210:222]:      StyleVarItemSpacing,
	_StyleVarIDLowerName_0[210:222]: StyleVarItemSpacing,
	_StyleVarIDName_0[222:240]:      StyleVarItemInnerSpacing,
	_StyleVarIDLowerName_0[222:240]: StyleVarItemInnerSpacing,
	_StyleVarIDName_0[240:254]:      StyleVarIndentSpacing,
	_StyleVarIDLowerName_0[240:254]: StyleVarIndentSpacing,
	_StyleVarIDName_0[254:273]:      StyleVarCellPadding,
	_StyleVarIDLowerName_0[254:273]: StyleVarCellPadding,
	_StyleVarIDName_0[273:287]:      StyleVarScrollbarSize,
	_StyleVarIDLowerName_0[273:287]: StyleVarScrollbarSize,
	_StyleVarIDName_0[287:305]:      StyleVarScrollbarRounding,
	_StyleVarIDLowerName_0[287:305]: StyleVarScrollbarRounding,
	_StyleVarIDName_1[0:18]:         StyleVarGrabMinSize,
	_StyleVarIDLowerName_1[0:18]:    StyleVarGrabMinSize,
	_StyleVarIDName_1[18:31]:        StyleVarGrabRounding,
	_StyleVarIDLowerName_1[18:31]:   StyleVarGrabRounding,
	_StyleVarIDName_2[0:12]:         StyleVarTabRounding,
	_StyleVarIDLowerName_2[0:12]:    StyleVarTabRounding,
	_StyleVarIDName_3[0:24]:         StyleVarTabBarBorderSize,
	_StyleVarIDLowerName_3[0:24]:    StyleVarTabBarBorderSize,
	_StyleVarIDName_4[0:17]:         StyleVarButtonTextAlign,
	_StyleVarIDLowerName_4[0:17]:    StyleVarButtonTextAlign,
	_StyleVarIDName_4[17:38]:        StyleVarSelectableTextAlign,
	_StyleVarIDLowerName_4[17:38]:   StyleVarSelectableTextAlign,
	_StyleVarIDName_4[38:69]:        StyleVarSeparatorTextBorderSize,
	_StyleVarIDLowerName_4[38:69]:   StyleVarSeparatorTextBorderSize,
	_StyleVarIDName_4[69:95]:        StyleVarSeparatorTextAlign,
	_StyleVarIDLowerName_4[69:95]:   StyleVarSeparatorTextAlign,
	_StyleVarIDName_4[95:123]:       StyleVarSeparatorTextPadding,
	_StyleVarIDLowerName_4[95:123]:  StyleVarSeparatorTextPadding,
	_StyleVarIDName_4[123:151]:      StyleVarDockingSeparatorSize,
	_StyleVarIDLowerName_4[123:151]: StyleVarDockingSeparatorSize,
}

var _StyleVarIDNames = []string{
	_StyleVarIDName_0[0:5],
	_StyleVarIDName_0[5:19],
	_StyleVarIDName_0[19:33],
	_StyleVarIDName_0[33:48],
	_StyleVarIDName_0[48:66],
	_StyleVarIDName_0[66:86],
	_StyleVarIDName_0[86:104],
	_StyleVarIDName_0[104:118],
	_StyleVarIDName_0[118:135],
	_StyleVarIDName_0[135:149],
	_StyleVarIDName_0[149:166],
	_StyleVarIDName_0[166:179],
	_StyleVarIDName_0[179:193],
	_StyleVarIDName_0[193:210],
	_StyleVarIDName_0[210:222],
	_StyleVarIDName_0[222:240],
	_StyleVarIDName_0[240:254],
	_StyleVarIDName_0[254:273],
	_StyleVarIDName_0[273:287],
	_StyleVarIDName_0[287:305],
	_StyleVarIDName_1[0:18],
	_StyleVarIDName_1[18:31],
	_StyleVarIDName_2[0:12],
	_StyleVarIDName_3[0:24],
	_StyleVarIDName_4[0:17],
	_StyleVarIDName_4[17:38],
	_StyleVarIDName_4[38:69],
	_StyleVarIDName_4[69:95],
	_StyleVarIDName_4[95:123],
	_StyleVarIDName_4[123:151],
}

// StyleVarIDString retrieves an enum value from the enum constants string name.
// Throws an error if the param is not part of the enum.
func StyleVarIDString(s string) (StyleVarID, error) {
	if val, ok := _StyleVarIDNameToValueMap[s]; ok {
		return val, nil
	}

	if val, ok := _StyleVarIDNameToValueMap[strings.ToLower(s)]; ok {
		return val, nil
	}
	return 0, fmt.Errorf("%s does not belong to StyleVarID values", s)
}

// StyleVarIDValues returns all values of the enum
func StyleVarIDValues() []StyleVarID {
	return _StyleVarIDValues
}

// StyleVarIDStrings returns a slice of all String values of the enum
func StyleVarIDStrings() []string {
	strs := make([]string, len(_StyleVarIDNames))
	copy(strs, _StyleVarIDNames)
	return strs
}

// IsAStyleVarID returns "true" if the value is listed in the enum definition. "false" otherwise
func (i StyleVarID) IsAStyleVarID() bool {
	for _, v := range _StyleVarIDValues {
		if i == v {
			return true
		}
	}
	return false
}
