// Don't modify, generated file from /build/libresprite/src/libresprite/data/skins/default/skin.xml

#pragma once

namespace app {
namespace gen {

  template<typename T>
  class SkinFile {
  public:

    class Dimensions {
      template<typename> friend class SkinFile;
    public:
      int scrollbarSize() const { return m_scrollbarSize; }
      int miniScrollbarSize() const { return m_miniScrollbarSize; }
      int tabsWidth() const { return m_tabsWidth; }
      int tabsHeight() const { return m_tabsHeight; }
      int tabsBottomHeight() const { return m_tabsBottomHeight; }
      int dockedTabsHeight() const { return m_dockedTabsHeight; }
      int tabsCloseIconWidth() const { return m_tabsCloseIconWidth; }
      int tabsCloseIconHeight() const { return m_tabsCloseIconHeight; }
      int tabsIconWidth() const { return m_tabsIconWidth; }
      int timelineTopBorder() const { return m_timelineTopBorder; }
      int timelineTagsAreaHeight() const { return m_timelineTagsAreaHeight; }
      int timelineOutlineWidth() const { return m_timelineOutlineWidth; }
      int paletteOutlineWidth() const { return m_paletteOutlineWidth; }
      int colorSliderHeight() const { return m_colorSliderHeight; }
    private:
      int m_scrollbarSize;
      int m_miniScrollbarSize;
      int m_tabsWidth;
      int m_tabsHeight;
      int m_tabsBottomHeight;
      int m_dockedTabsHeight;
      int m_tabsCloseIconWidth;
      int m_tabsCloseIconHeight;
      int m_tabsIconWidth;
      int m_timelineTopBorder;
      int m_timelineTagsAreaHeight;
      int m_timelineOutlineWidth;
      int m_paletteOutlineWidth;
      int m_colorSliderHeight;
    };
    class Colors {
      template<typename> friend class SkinFile;
    public:
      gfx::Color text() const { return m_text; }
      gfx::Color disabled() const { return m_disabled; }
      gfx::Color face() const { return m_face; }
      gfx::Color hotFace() const { return m_hotFace; }
      gfx::Color selected() const { return m_selected; }
      gfx::Color separatorLabel() const { return m_separatorLabel; }
      gfx::Color background() const { return m_background; }
      gfx::Color desktop() const { return m_desktop; }
      gfx::Color textboxText() const { return m_textboxText; }
      gfx::Color textboxFace() const { return m_textboxFace; }
      gfx::Color entrySuffix() const { return m_entrySuffix; }
      gfx::Color linkText() const { return m_linkText; }
      gfx::Color linkHover() const { return m_linkHover; }
      gfx::Color buttonNormalText() const { return m_buttonNormalText; }
      gfx::Color buttonNormalFace() const { return m_buttonNormalFace; }
      gfx::Color buttonHotText() const { return m_buttonHotText; }
      gfx::Color buttonHotFace() const { return m_buttonHotFace; }
      gfx::Color buttonSelectedText() const { return m_buttonSelectedText; }
      gfx::Color buttonSelectedFace() const { return m_buttonSelectedFace; }
      gfx::Color checkHotFace() const { return m_checkHotFace; }
      gfx::Color checkFocusFace() const { return m_checkFocusFace; }
      gfx::Color radioHotFace() const { return m_radioHotFace; }
      gfx::Color radioFocusFace() const { return m_radioFocusFace; }
      gfx::Color menuitemNormalText() const { return m_menuitemNormalText; }
      gfx::Color menuitemNormalFace() const { return m_menuitemNormalFace; }
      gfx::Color menuitemHotText() const { return m_menuitemHotText; }
      gfx::Color menuitemHotFace() const { return m_menuitemHotFace; }
      gfx::Color menuitemHighlightText() const { return m_menuitemHighlightText; }
      gfx::Color menuitemHighlightFace() const { return m_menuitemHighlightFace; }
      gfx::Color windowFace() const { return m_windowFace; }
      gfx::Color windowTitlebarText() const { return m_windowTitlebarText; }
      gfx::Color windowTitlebarFace() const { return m_windowTitlebarFace; }
      gfx::Color editorFace() const { return m_editorFace; }
      gfx::Color editorSpriteBorder() const { return m_editorSpriteBorder; }
      gfx::Color editorSpriteBottomBorder() const { return m_editorSpriteBottomBorder; }
      gfx::Color editorLayerEdges() const { return m_editorLayerEdges; }
      gfx::Color listitemNormalText() const { return m_listitemNormalText; }
      gfx::Color listitemNormalFace() const { return m_listitemNormalFace; }
      gfx::Color listitemSelectedText() const { return m_listitemSelectedText; }
      gfx::Color listitemSelectedFace() const { return m_listitemSelectedFace; }
      gfx::Color sliderEmptyText() const { return m_sliderEmptyText; }
      gfx::Color sliderEmptyFace() const { return m_sliderEmptyFace; }
      gfx::Color sliderFullText() const { return m_sliderFullText; }
      gfx::Color sliderFullFace() const { return m_sliderFullFace; }
      gfx::Color tabNormalText() const { return m_tabNormalText; }
      gfx::Color tabNormalFace() const { return m_tabNormalFace; }
      gfx::Color tabActiveText() const { return m_tabActiveText; }
      gfx::Color tabActiveFace() const { return m_tabActiveFace; }
      gfx::Color splitterNormalFace() const { return m_splitterNormalFace; }
      gfx::Color scrollbarBgFace() const { return m_scrollbarBgFace; }
      gfx::Color scrollbarThumbFace() const { return m_scrollbarThumbFace; }
      gfx::Color popupWindowBorder() const { return m_popupWindowBorder; }
      gfx::Color tooltipText() const { return m_tooltipText; }
      gfx::Color tooltipFace() const { return m_tooltipFace; }
      gfx::Color filelistEvenRowText() const { return m_filelistEvenRowText; }
      gfx::Color filelistEvenRowFace() const { return m_filelistEvenRowFace; }
      gfx::Color filelistOddRowText() const { return m_filelistOddRowText; }
      gfx::Color filelistOddRowFace() const { return m_filelistOddRowFace; }
      gfx::Color filelistSelectedRowText() const { return m_filelistSelectedRowText; }
      gfx::Color filelistSelectedRowFace() const { return m_filelistSelectedRowFace; }
      gfx::Color filelistDisabledRowText() const { return m_filelistDisabledRowText; }
      gfx::Color workspace() const { return m_workspace; }
      gfx::Color workspaceText() const { return m_workspaceText; }
      gfx::Color workspaceLink() const { return m_workspaceLink; }
      gfx::Color workspaceLinkHover() const { return m_workspaceLinkHover; }
      gfx::Color timelineNormal() const { return m_timelineNormal; }
      gfx::Color timelineNormalText() const { return m_timelineNormalText; }
      gfx::Color timelineHover() const { return m_timelineHover; }
      gfx::Color timelineHoverText() const { return m_timelineHoverText; }
      gfx::Color timelineActive() const { return m_timelineActive; }
      gfx::Color timelineActiveText() const { return m_timelineActiveText; }
      gfx::Color timelineActiveHover() const { return m_timelineActiveHover; }
      gfx::Color timelineActiveHoverText() const { return m_timelineActiveHoverText; }
      gfx::Color timelineClicked() const { return m_timelineClicked; }
      gfx::Color timelineClickedText() const { return m_timelineClickedText; }
      gfx::Color timelinePadding() const { return m_timelinePadding; }
      gfx::Color statusBarText() const { return m_statusBarText; }
      gfx::Color statusBarFace() const { return m_statusBarFace; }
      gfx::Color flagNormal() const { return m_flagNormal; }
      gfx::Color flagActive() const { return m_flagActive; }
      gfx::Color flagClicked() const { return m_flagClicked; }
      gfx::Color selectBoxRuler() const { return m_selectBoxRuler; }
      gfx::Color selectBoxGrid() const { return m_selectBoxGrid; }
    private:
      gfx::Color m_text;
      gfx::Color m_disabled;
      gfx::Color m_face;
      gfx::Color m_hotFace;
      gfx::Color m_selected;
      gfx::Color m_separatorLabel;
      gfx::Color m_background;
      gfx::Color m_desktop;
      gfx::Color m_textboxText;
      gfx::Color m_textboxFace;
      gfx::Color m_entrySuffix;
      gfx::Color m_linkText;
      gfx::Color m_linkHover;
      gfx::Color m_buttonNormalText;
      gfx::Color m_buttonNormalFace;
      gfx::Color m_buttonHotText;
      gfx::Color m_buttonHotFace;
      gfx::Color m_buttonSelectedText;
      gfx::Color m_buttonSelectedFace;
      gfx::Color m_checkHotFace;
      gfx::Color m_checkFocusFace;
      gfx::Color m_radioHotFace;
      gfx::Color m_radioFocusFace;
      gfx::Color m_menuitemNormalText;
      gfx::Color m_menuitemNormalFace;
      gfx::Color m_menuitemHotText;
      gfx::Color m_menuitemHotFace;
      gfx::Color m_menuitemHighlightText;
      gfx::Color m_menuitemHighlightFace;
      gfx::Color m_windowFace;
      gfx::Color m_windowTitlebarText;
      gfx::Color m_windowTitlebarFace;
      gfx::Color m_editorFace;
      gfx::Color m_editorSpriteBorder;
      gfx::Color m_editorSpriteBottomBorder;
      gfx::Color m_editorLayerEdges;
      gfx::Color m_listitemNormalText;
      gfx::Color m_listitemNormalFace;
      gfx::Color m_listitemSelectedText;
      gfx::Color m_listitemSelectedFace;
      gfx::Color m_sliderEmptyText;
      gfx::Color m_sliderEmptyFace;
      gfx::Color m_sliderFullText;
      gfx::Color m_sliderFullFace;
      gfx::Color m_tabNormalText;
      gfx::Color m_tabNormalFace;
      gfx::Color m_tabActiveText;
      gfx::Color m_tabActiveFace;
      gfx::Color m_splitterNormalFace;
      gfx::Color m_scrollbarBgFace;
      gfx::Color m_scrollbarThumbFace;
      gfx::Color m_popupWindowBorder;
      gfx::Color m_tooltipText;
      gfx::Color m_tooltipFace;
      gfx::Color m_filelistEvenRowText;
      gfx::Color m_filelistEvenRowFace;
      gfx::Color m_filelistOddRowText;
      gfx::Color m_filelistOddRowFace;
      gfx::Color m_filelistSelectedRowText;
      gfx::Color m_filelistSelectedRowFace;
      gfx::Color m_filelistDisabledRowText;
      gfx::Color m_workspace;
      gfx::Color m_workspaceText;
      gfx::Color m_workspaceLink;
      gfx::Color m_workspaceLinkHover;
      gfx::Color m_timelineNormal;
      gfx::Color m_timelineNormalText;
      gfx::Color m_timelineHover;
      gfx::Color m_timelineHoverText;
      gfx::Color m_timelineActive;
      gfx::Color m_timelineActiveText;
      gfx::Color m_timelineActiveHover;
      gfx::Color m_timelineActiveHoverText;
      gfx::Color m_timelineClicked;
      gfx::Color m_timelineClickedText;
      gfx::Color m_timelinePadding;
      gfx::Color m_statusBarText;
      gfx::Color m_statusBarFace;
      gfx::Color m_flagNormal;
      gfx::Color m_flagActive;
      gfx::Color m_flagClicked;
      gfx::Color m_selectBoxRuler;
      gfx::Color m_selectBoxGrid;
    };
    class Parts {
      template<typename> friend class SkinFile;
    public:
      const skin::SkinPartPtr& radioNormal() const { return m_radioNormal; }
      const skin::SkinPartPtr& radioSelected() const { return m_radioSelected; }
      const skin::SkinPartPtr& radioDisabled() const { return m_radioDisabled; }
      const skin::SkinPartPtr& checkNormal() const { return m_checkNormal; }
      const skin::SkinPartPtr& checkSelected() const { return m_checkSelected; }
      const skin::SkinPartPtr& checkDisabled() const { return m_checkDisabled; }
      const skin::SkinPartPtr& checkFocus() const { return m_checkFocus; }
      const skin::SkinPartPtr& radioFocus() const { return m_radioFocus; }
      const skin::SkinPartPtr& buttonNormal() const { return m_buttonNormal; }
      const skin::SkinPartPtr& buttonHot() const { return m_buttonHot; }
      const skin::SkinPartPtr& buttonFocused() const { return m_buttonFocused; }
      const skin::SkinPartPtr& buttonSelected() const { return m_buttonSelected; }
      const skin::SkinPartPtr& sunkenNormal() const { return m_sunkenNormal; }
      const skin::SkinPartPtr& sunkenFocused() const { return m_sunkenFocused; }
      const skin::SkinPartPtr& sunken2Normal() const { return m_sunken2Normal; }
      const skin::SkinPartPtr& sunken2Focused() const { return m_sunken2Focused; }
      const skin::SkinPartPtr& sunkenMiniNormal() const { return m_sunkenMiniNormal; }
      const skin::SkinPartPtr& sunkenMiniFocused() const { return m_sunkenMiniFocused; }
      const skin::SkinPartPtr& window() const { return m_window; }
      const skin::SkinPartPtr& menu() const { return m_menu; }
      const skin::SkinPartPtr& windowCloseButtonNormal() const { return m_windowCloseButtonNormal; }
      const skin::SkinPartPtr& windowCloseButtonHot() const { return m_windowCloseButtonHot; }
      const skin::SkinPartPtr& windowCloseButtonSelected() const { return m_windowCloseButtonSelected; }
      const skin::SkinPartPtr& windowPlayButtonNormal() const { return m_windowPlayButtonNormal; }
      const skin::SkinPartPtr& windowPlayButtonHot() const { return m_windowPlayButtonHot; }
      const skin::SkinPartPtr& windowPlayButtonSelected() const { return m_windowPlayButtonSelected; }
      const skin::SkinPartPtr& windowStopButtonNormal() const { return m_windowStopButtonNormal; }
      const skin::SkinPartPtr& windowStopButtonHot() const { return m_windowStopButtonHot; }
      const skin::SkinPartPtr& windowStopButtonSelected() const { return m_windowStopButtonSelected; }
      const skin::SkinPartPtr& windowCenterButtonNormal() const { return m_windowCenterButtonNormal; }
      const skin::SkinPartPtr& windowCenterButtonHot() const { return m_windowCenterButtonHot; }
      const skin::SkinPartPtr& windowCenterButtonSelected() const { return m_windowCenterButtonSelected; }
      const skin::SkinPartPtr& sliderFull() const { return m_sliderFull; }
      const skin::SkinPartPtr& sliderEmpty() const { return m_sliderEmpty; }
      const skin::SkinPartPtr& sliderFullFocused() const { return m_sliderFullFocused; }
      const skin::SkinPartPtr& sliderEmptyFocused() const { return m_sliderEmptyFocused; }
      const skin::SkinPartPtr& miniSliderFull() const { return m_miniSliderFull; }
      const skin::SkinPartPtr& miniSliderEmpty() const { return m_miniSliderEmpty; }
      const skin::SkinPartPtr& miniSliderFullFocused() const { return m_miniSliderFullFocused; }
      const skin::SkinPartPtr& miniSliderEmptyFocused() const { return m_miniSliderEmptyFocused; }
      const skin::SkinPartPtr& miniSliderThumb() const { return m_miniSliderThumb; }
      const skin::SkinPartPtr& miniSliderThumbFocused() const { return m_miniSliderThumbFocused; }
      const skin::SkinPartPtr& separatorHorz() const { return m_separatorHorz; }
      const skin::SkinPartPtr& separatorVert() const { return m_separatorVert; }
      const skin::SkinPartPtr& comboboxArrowDown() const { return m_comboboxArrowDown; }
      const skin::SkinPartPtr& comboboxArrowDownSelected() const { return m_comboboxArrowDownSelected; }
      const skin::SkinPartPtr& comboboxArrowDownDisabled() const { return m_comboboxArrowDownDisabled; }
      const skin::SkinPartPtr& comboboxArrowUp() const { return m_comboboxArrowUp; }
      const skin::SkinPartPtr& comboboxArrowUpSelected() const { return m_comboboxArrowUpSelected; }
      const skin::SkinPartPtr& comboboxArrowUpDisabled() const { return m_comboboxArrowUpDisabled; }
      const skin::SkinPartPtr& comboboxArrowLeft() const { return m_comboboxArrowLeft; }
      const skin::SkinPartPtr& comboboxArrowLeftSelected() const { return m_comboboxArrowLeftSelected; }
      const skin::SkinPartPtr& comboboxArrowLeftDisabled() const { return m_comboboxArrowLeftDisabled; }
      const skin::SkinPartPtr& comboboxArrowRight() const { return m_comboboxArrowRight; }
      const skin::SkinPartPtr& comboboxArrowRightSelected() const { return m_comboboxArrowRightSelected; }
      const skin::SkinPartPtr& comboboxArrowRightDisabled() const { return m_comboboxArrowRightDisabled; }
      const skin::SkinPartPtr& newfolder() const { return m_newfolder; }
      const skin::SkinPartPtr& newfolderSelected() const { return m_newfolderSelected; }
      const skin::SkinPartPtr& toolbuttonNormal() const { return m_toolbuttonNormal; }
      const skin::SkinPartPtr& toolbuttonHot() const { return m_toolbuttonHot; }
      const skin::SkinPartPtr& toolbuttonLast() const { return m_toolbuttonLast; }
      const skin::SkinPartPtr& toolbuttonPushed() const { return m_toolbuttonPushed; }
      const skin::SkinPartPtr& toolbuttonHotFocused() const { return m_toolbuttonHotFocused; }
      const skin::SkinPartPtr& toolbuttonFocused() const { return m_toolbuttonFocused; }
      const skin::SkinPartPtr& tabNormal() const { return m_tabNormal; }
      const skin::SkinPartPtr& tabActive() const { return m_tabActive; }
      const skin::SkinPartPtr& tabBottomActive() const { return m_tabBottomActive; }
      const skin::SkinPartPtr& tabBottomNormal() const { return m_tabBottomNormal; }
      const skin::SkinPartPtr& tabFiller() const { return m_tabFiller; }
      const skin::SkinPartPtr& tabModifiedIconNormal() const { return m_tabModifiedIconNormal; }
      const skin::SkinPartPtr& tabModifiedIconActive() const { return m_tabModifiedIconActive; }
      const skin::SkinPartPtr& tabCloseIconNormal() const { return m_tabCloseIconNormal; }
      const skin::SkinPartPtr& tabCloseIconActive() const { return m_tabCloseIconActive; }
      const skin::SkinPartPtr& tabIconBgClicked() const { return m_tabIconBgClicked; }
      const skin::SkinPartPtr& tabIconBgHover() const { return m_tabIconBgHover; }
      const skin::SkinPartPtr& tabHomeIconNormal() const { return m_tabHomeIconNormal; }
      const skin::SkinPartPtr& tabHomeIconActive() const { return m_tabHomeIconActive; }
      const skin::SkinPartPtr& editorNormal() const { return m_editorNormal; }
      const skin::SkinPartPtr& editorSelected() const { return m_editorSelected; }
      const skin::SkinPartPtr& colorbar0() const { return m_colorbar0; }
      const skin::SkinPartPtr& colorbar1() const { return m_colorbar1; }
      const skin::SkinPartPtr& colorbar2() const { return m_colorbar2; }
      const skin::SkinPartPtr& colorbar3() const { return m_colorbar3; }
      const skin::SkinPartPtr& colorbarBorderFg() const { return m_colorbarBorderFg; }
      const skin::SkinPartPtr& colorbarBorderBg() const { return m_colorbarBorderBg; }
      const skin::SkinPartPtr& colorbarBorderHotfg() const { return m_colorbarBorderHotfg; }
      const skin::SkinPartPtr& scrollbarBg() const { return m_scrollbarBg; }
      const skin::SkinPartPtr& scrollbarThumb() const { return m_scrollbarThumb; }
      const skin::SkinPartPtr& miniScrollbarBg() const { return m_miniScrollbarBg; }
      const skin::SkinPartPtr& miniScrollbarThumb() const { return m_miniScrollbarThumb; }
      const skin::SkinPartPtr& miniScrollbarBgHot() const { return m_miniScrollbarBgHot; }
      const skin::SkinPartPtr& miniScrollbarThumbHot() const { return m_miniScrollbarThumbHot; }
      const skin::SkinPartPtr& transparentScrollbarBg() const { return m_transparentScrollbarBg; }
      const skin::SkinPartPtr& transparentScrollbarThumb() const { return m_transparentScrollbarThumb; }
      const skin::SkinPartPtr& transparentScrollbarBgHot() const { return m_transparentScrollbarBgHot; }
      const skin::SkinPartPtr& transparentScrollbarThumbHot() const { return m_transparentScrollbarThumbHot; }
      const skin::SkinPartPtr& tooltip() const { return m_tooltip; }
      const skin::SkinPartPtr& tooltipArrow() const { return m_tooltipArrow; }
      const skin::SkinPartPtr& aniFirst() const { return m_aniFirst; }
      const skin::SkinPartPtr& aniPrevious() const { return m_aniPrevious; }
      const skin::SkinPartPtr& aniPlay() const { return m_aniPlay; }
      const skin::SkinPartPtr& aniStop() const { return m_aniStop; }
      const skin::SkinPartPtr& aniNext() const { return m_aniNext; }
      const skin::SkinPartPtr& aniLast() const { return m_aniLast; }
      const skin::SkinPartPtr& palEdit() const { return m_palEdit; }
      const skin::SkinPartPtr& palSort() const { return m_palSort; }
      const skin::SkinPartPtr& palPresets() const { return m_palPresets; }
      const skin::SkinPartPtr& palOptions() const { return m_palOptions; }
      const skin::SkinPartPtr& palResize() const { return m_palResize; }
      const skin::SkinPartPtr& targetOne() const { return m_targetOne; }
      const skin::SkinPartPtr& targetFrames() const { return m_targetFrames; }
      const skin::SkinPartPtr& targetLayers() const { return m_targetLayers; }
      const skin::SkinPartPtr& targetFramesLayers() const { return m_targetFramesLayers; }
      const skin::SkinPartPtr& brushCircle() const { return m_brushCircle; }
      const skin::SkinPartPtr& brushCircleSelected() const { return m_brushCircleSelected; }
      const skin::SkinPartPtr& brushSquare() const { return m_brushSquare; }
      const skin::SkinPartPtr& brushSquareSelected() const { return m_brushSquareSelected; }
      const skin::SkinPartPtr& brushLine() const { return m_brushLine; }
      const skin::SkinPartPtr& brushLineSelected() const { return m_brushLineSelected; }
      const skin::SkinPartPtr& selectionReplace() const { return m_selectionReplace; }
      const skin::SkinPartPtr& selectionReplaceSelected() const { return m_selectionReplaceSelected; }
      const skin::SkinPartPtr& selectionAdd() const { return m_selectionAdd; }
      const skin::SkinPartPtr& selectionAddSelected() const { return m_selectionAddSelected; }
      const skin::SkinPartPtr& selectionSubtract() const { return m_selectionSubtract; }
      const skin::SkinPartPtr& selectionSubtractSelected() const { return m_selectionSubtractSelected; }
      const skin::SkinPartPtr& unpinned() const { return m_unpinned; }
      const skin::SkinPartPtr& pinned() const { return m_pinned; }
      const skin::SkinPartPtr& dropDownButtonLeftNormal() const { return m_dropDownButtonLeftNormal; }
      const skin::SkinPartPtr& dropDownButtonLeftHot() const { return m_dropDownButtonLeftHot; }
      const skin::SkinPartPtr& dropDownButtonLeftFocused() const { return m_dropDownButtonLeftFocused; }
      const skin::SkinPartPtr& dropDownButtonLeftSelected() const { return m_dropDownButtonLeftSelected; }
      const skin::SkinPartPtr& dropDownButtonRightNormal() const { return m_dropDownButtonRightNormal; }
      const skin::SkinPartPtr& dropDownButtonRightHot() const { return m_dropDownButtonRightHot; }
      const skin::SkinPartPtr& dropDownButtonRightFocused() const { return m_dropDownButtonRightFocused; }
      const skin::SkinPartPtr& dropDownButtonRightSelected() const { return m_dropDownButtonRightSelected; }
      const skin::SkinPartPtr& transformationHandle() const { return m_transformationHandle; }
      const skin::SkinPartPtr& pivotHandle() const { return m_pivotHandle; }
      const skin::SkinPartPtr& timelineNormal() const { return m_timelineNormal; }
      const skin::SkinPartPtr& timelineActive() const { return m_timelineActive; }
      const skin::SkinPartPtr& timelineHover() const { return m_timelineHover; }
      const skin::SkinPartPtr& timelineActiveHover() const { return m_timelineActiveHover; }
      const skin::SkinPartPtr& timelineClicked() const { return m_timelineClicked; }
      const skin::SkinPartPtr& timelineOpenEyeNormal() const { return m_timelineOpenEyeNormal; }
      const skin::SkinPartPtr& timelineOpenEyeActive() const { return m_timelineOpenEyeActive; }
      const skin::SkinPartPtr& timelineClosedEyeNormal() const { return m_timelineClosedEyeNormal; }
      const skin::SkinPartPtr& timelineClosedEyeActive() const { return m_timelineClosedEyeActive; }
      const skin::SkinPartPtr& timelineOpenPadlockNormal() const { return m_timelineOpenPadlockNormal; }
      const skin::SkinPartPtr& timelineOpenPadlockActive() const { return m_timelineOpenPadlockActive; }
      const skin::SkinPartPtr& timelineClosedPadlockNormal() const { return m_timelineClosedPadlockNormal; }
      const skin::SkinPartPtr& timelineClosedPadlockActive() const { return m_timelineClosedPadlockActive; }
      const skin::SkinPartPtr& timelineContinuousNormal() const { return m_timelineContinuousNormal; }
      const skin::SkinPartPtr& timelineContinuousActive() const { return m_timelineContinuousActive; }
      const skin::SkinPartPtr& timelineDiscontinuousNormal() const { return m_timelineDiscontinuousNormal; }
      const skin::SkinPartPtr& timelineDiscontinuousActive() const { return m_timelineDiscontinuousActive; }
      const skin::SkinPartPtr& timelineEmptyFrameNormal() const { return m_timelineEmptyFrameNormal; }
      const skin::SkinPartPtr& timelineEmptyFrameActive() const { return m_timelineEmptyFrameActive; }
      const skin::SkinPartPtr& timelineKeyframeNormal() const { return m_timelineKeyframeNormal; }
      const skin::SkinPartPtr& timelineKeyframeActive() const { return m_timelineKeyframeActive; }
      const skin::SkinPartPtr& timelineFromLeftNormal() const { return m_timelineFromLeftNormal; }
      const skin::SkinPartPtr& timelineFromLeftActive() const { return m_timelineFromLeftActive; }
      const skin::SkinPartPtr& timelineFromRightNormal() const { return m_timelineFromRightNormal; }
      const skin::SkinPartPtr& timelineFromRightActive() const { return m_timelineFromRightActive; }
      const skin::SkinPartPtr& timelineFromBothNormal() const { return m_timelineFromBothNormal; }
      const skin::SkinPartPtr& timelineFromBothActive() const { return m_timelineFromBothActive; }
      const skin::SkinPartPtr& timelineLeftLinkActive() const { return m_timelineLeftLinkActive; }
      const skin::SkinPartPtr& timelineBothLinksActive() const { return m_timelineBothLinksActive; }
      const skin::SkinPartPtr& timelineRightLinkActive() const { return m_timelineRightLinkActive; }
      const skin::SkinPartPtr& timelineGear() const { return m_timelineGear; }
      const skin::SkinPartPtr& timelineGearActive() const { return m_timelineGearActive; }
      const skin::SkinPartPtr& timelineOnionskin() const { return m_timelineOnionskin; }
      const skin::SkinPartPtr& timelineOnionskinActive() const { return m_timelineOnionskinActive; }
      const skin::SkinPartPtr& timelineOnionskinRange() const { return m_timelineOnionskinRange; }
      const skin::SkinPartPtr& timelinePadding() const { return m_timelinePadding; }
      const skin::SkinPartPtr& timelinePaddingTr() const { return m_timelinePaddingTr; }
      const skin::SkinPartPtr& timelinePaddingBl() const { return m_timelinePaddingBl; }
      const skin::SkinPartPtr& timelinePaddingBr() const { return m_timelinePaddingBr; }
      const skin::SkinPartPtr& timelineDropLayerDeco() const { return m_timelineDropLayerDeco; }
      const skin::SkinPartPtr& timelineDropFrameDeco() const { return m_timelineDropFrameDeco; }
      const skin::SkinPartPtr& timelineLoopRange() const { return m_timelineLoopRange; }
      const skin::SkinPartPtr& flagNormal() const { return m_flagNormal; }
      const skin::SkinPartPtr& flagHighlight() const { return m_flagHighlight; }
      const skin::SkinPartPtr& dropPixelsOk() const { return m_dropPixelsOk; }
      const skin::SkinPartPtr& dropPixelsOkSelected() const { return m_dropPixelsOkSelected; }
      const skin::SkinPartPtr& dropPixelsCancel() const { return m_dropPixelsCancel; }
      const skin::SkinPartPtr& dropPixelsCancelSelected() const { return m_dropPixelsCancelSelected; }
      const skin::SkinPartPtr& warningBox() const { return m_warningBox; }
      const skin::SkinPartPtr& canvasNw() const { return m_canvasNw; }
      const skin::SkinPartPtr& canvasN() const { return m_canvasN; }
      const skin::SkinPartPtr& canvasNe() const { return m_canvasNe; }
      const skin::SkinPartPtr& canvasW() const { return m_canvasW; }
      const skin::SkinPartPtr& canvasC() const { return m_canvasC; }
      const skin::SkinPartPtr& canvasE() const { return m_canvasE; }
      const skin::SkinPartPtr& canvasSw() const { return m_canvasSw; }
      const skin::SkinPartPtr& canvasS() const { return m_canvasS; }
      const skin::SkinPartPtr& canvasSe() const { return m_canvasSe; }
      const skin::SkinPartPtr& canvasEmpty() const { return m_canvasEmpty; }
      const skin::SkinPartPtr& inkSimple() const { return m_inkSimple; }
      const skin::SkinPartPtr& inkAlphaCompositing() const { return m_inkAlphaCompositing; }
      const skin::SkinPartPtr& inkCopyColor() const { return m_inkCopyColor; }
      const skin::SkinPartPtr& inkLockAlpha() const { return m_inkLockAlpha; }
      const skin::SkinPartPtr& inkShading() const { return m_inkShading; }
      const skin::SkinPartPtr& selectionOpaque() const { return m_selectionOpaque; }
      const skin::SkinPartPtr& selectionMasked() const { return m_selectionMasked; }
      const skin::SkinPartPtr& pivotNorthwest() const { return m_pivotNorthwest; }
      const skin::SkinPartPtr& pivotNorth() const { return m_pivotNorth; }
      const skin::SkinPartPtr& pivotNortheast() const { return m_pivotNortheast; }
      const skin::SkinPartPtr& pivotWest() const { return m_pivotWest; }
      const skin::SkinPartPtr& pivotCenter() const { return m_pivotCenter; }
      const skin::SkinPartPtr& pivotEast() const { return m_pivotEast; }
      const skin::SkinPartPtr& pivotSouthwest() const { return m_pivotSouthwest; }
      const skin::SkinPartPtr& pivotSouth() const { return m_pivotSouth; }
      const skin::SkinPartPtr& pivotSoutheast() const { return m_pivotSoutheast; }
      const skin::SkinPartPtr& iconRgb() const { return m_iconRgb; }
      const skin::SkinPartPtr& iconGrayscale() const { return m_iconGrayscale; }
      const skin::SkinPartPtr& iconIndexed() const { return m_iconIndexed; }
      const skin::SkinPartPtr& iconBlack() const { return m_iconBlack; }
      const skin::SkinPartPtr& iconWhite() const { return m_iconWhite; }
      const skin::SkinPartPtr& iconTransparent() const { return m_iconTransparent; }
      const skin::SkinPartPtr& colorWheelIndicator() const { return m_colorWheelIndicator; }
      const skin::SkinPartPtr& noSymmetry() const { return m_noSymmetry; }
      const skin::SkinPartPtr& horizontalSymmetry() const { return m_horizontalSymmetry; }
      const skin::SkinPartPtr& verticalSymmetry() const { return m_verticalSymmetry; }
      const skin::SkinPartPtr& iconArrowDown() const { return m_iconArrowDown; }
      const skin::SkinPartPtr& iconClose() const { return m_iconClose; }
      const skin::SkinPartPtr& iconSearch() const { return m_iconSearch; }
      const skin::SkinPartPtr& iconUserData() const { return m_iconUserData; }
      const skin::SkinPartPtr& iconPos() const { return m_iconPos; }
      const skin::SkinPartPtr& iconSize() const { return m_iconSize; }
      const skin::SkinPartPtr& iconSelsize() const { return m_iconSelsize; }
      const skin::SkinPartPtr& iconFrame() const { return m_iconFrame; }
      const skin::SkinPartPtr& iconClock() const { return m_iconClock; }
      const skin::SkinPartPtr& iconStart() const { return m_iconStart; }
      const skin::SkinPartPtr& iconEnd() const { return m_iconEnd; }
      const skin::SkinPartPtr& iconAngle() const { return m_iconAngle; }
      const skin::SkinPartPtr& iconKey() const { return m_iconKey; }
      const skin::SkinPartPtr& iconDistance() const { return m_iconDistance; }
      const skin::SkinPartPtr& iconGrid() const { return m_iconGrid; }
    private:
      skin::SkinPartPtr m_radioNormal;
      skin::SkinPartPtr m_radioSelected;
      skin::SkinPartPtr m_radioDisabled;
      skin::SkinPartPtr m_checkNormal;
      skin::SkinPartPtr m_checkSelected;
      skin::SkinPartPtr m_checkDisabled;
      skin::SkinPartPtr m_checkFocus;
      skin::SkinPartPtr m_radioFocus;
      skin::SkinPartPtr m_buttonNormal;
      skin::SkinPartPtr m_buttonHot;
      skin::SkinPartPtr m_buttonFocused;
      skin::SkinPartPtr m_buttonSelected;
      skin::SkinPartPtr m_sunkenNormal;
      skin::SkinPartPtr m_sunkenFocused;
      skin::SkinPartPtr m_sunken2Normal;
      skin::SkinPartPtr m_sunken2Focused;
      skin::SkinPartPtr m_sunkenMiniNormal;
      skin::SkinPartPtr m_sunkenMiniFocused;
      skin::SkinPartPtr m_window;
      skin::SkinPartPtr m_menu;
      skin::SkinPartPtr m_windowCloseButtonNormal;
      skin::SkinPartPtr m_windowCloseButtonHot;
      skin::SkinPartPtr m_windowCloseButtonSelected;
      skin::SkinPartPtr m_windowPlayButtonNormal;
      skin::SkinPartPtr m_windowPlayButtonHot;
      skin::SkinPartPtr m_windowPlayButtonSelected;
      skin::SkinPartPtr m_windowStopButtonNormal;
      skin::SkinPartPtr m_windowStopButtonHot;
      skin::SkinPartPtr m_windowStopButtonSelected;
      skin::SkinPartPtr m_windowCenterButtonNormal;
      skin::SkinPartPtr m_windowCenterButtonHot;
      skin::SkinPartPtr m_windowCenterButtonSelected;
      skin::SkinPartPtr m_sliderFull;
      skin::SkinPartPtr m_sliderEmpty;
      skin::SkinPartPtr m_sliderFullFocused;
      skin::SkinPartPtr m_sliderEmptyFocused;
      skin::SkinPartPtr m_miniSliderFull;
      skin::SkinPartPtr m_miniSliderEmpty;
      skin::SkinPartPtr m_miniSliderFullFocused;
      skin::SkinPartPtr m_miniSliderEmptyFocused;
      skin::SkinPartPtr m_miniSliderThumb;
      skin::SkinPartPtr m_miniSliderThumbFocused;
      skin::SkinPartPtr m_separatorHorz;
      skin::SkinPartPtr m_separatorVert;
      skin::SkinPartPtr m_comboboxArrowDown;
      skin::SkinPartPtr m_comboboxArrowDownSelected;
      skin::SkinPartPtr m_comboboxArrowDownDisabled;
      skin::SkinPartPtr m_comboboxArrowUp;
      skin::SkinPartPtr m_comboboxArrowUpSelected;
      skin::SkinPartPtr m_comboboxArrowUpDisabled;
      skin::SkinPartPtr m_comboboxArrowLeft;
      skin::SkinPartPtr m_comboboxArrowLeftSelected;
      skin::SkinPartPtr m_comboboxArrowLeftDisabled;
      skin::SkinPartPtr m_comboboxArrowRight;
      skin::SkinPartPtr m_comboboxArrowRightSelected;
      skin::SkinPartPtr m_comboboxArrowRightDisabled;
      skin::SkinPartPtr m_newfolder;
      skin::SkinPartPtr m_newfolderSelected;
      skin::SkinPartPtr m_toolbuttonNormal;
      skin::SkinPartPtr m_toolbuttonHot;
      skin::SkinPartPtr m_toolbuttonLast;
      skin::SkinPartPtr m_toolbuttonPushed;
      skin::SkinPartPtr m_toolbuttonHotFocused;
      skin::SkinPartPtr m_toolbuttonFocused;
      skin::SkinPartPtr m_tabNormal;
      skin::SkinPartPtr m_tabActive;
      skin::SkinPartPtr m_tabBottomActive;
      skin::SkinPartPtr m_tabBottomNormal;
      skin::SkinPartPtr m_tabFiller;
      skin::SkinPartPtr m_tabModifiedIconNormal;
      skin::SkinPartPtr m_tabModifiedIconActive;
      skin::SkinPartPtr m_tabCloseIconNormal;
      skin::SkinPartPtr m_tabCloseIconActive;
      skin::SkinPartPtr m_tabIconBgClicked;
      skin::SkinPartPtr m_tabIconBgHover;
      skin::SkinPartPtr m_tabHomeIconNormal;
      skin::SkinPartPtr m_tabHomeIconActive;
      skin::SkinPartPtr m_editorNormal;
      skin::SkinPartPtr m_editorSelected;
      skin::SkinPartPtr m_colorbar0;
      skin::SkinPartPtr m_colorbar1;
      skin::SkinPartPtr m_colorbar2;
      skin::SkinPartPtr m_colorbar3;
      skin::SkinPartPtr m_colorbarBorderFg;
      skin::SkinPartPtr m_colorbarBorderBg;
      skin::SkinPartPtr m_colorbarBorderHotfg;
      skin::SkinPartPtr m_scrollbarBg;
      skin::SkinPartPtr m_scrollbarThumb;
      skin::SkinPartPtr m_miniScrollbarBg;
      skin::SkinPartPtr m_miniScrollbarThumb;
      skin::SkinPartPtr m_miniScrollbarBgHot;
      skin::SkinPartPtr m_miniScrollbarThumbHot;
      skin::SkinPartPtr m_transparentScrollbarBg;
      skin::SkinPartPtr m_transparentScrollbarThumb;
      skin::SkinPartPtr m_transparentScrollbarBgHot;
      skin::SkinPartPtr m_transparentScrollbarThumbHot;
      skin::SkinPartPtr m_tooltip;
      skin::SkinPartPtr m_tooltipArrow;
      skin::SkinPartPtr m_aniFirst;
      skin::SkinPartPtr m_aniPrevious;
      skin::SkinPartPtr m_aniPlay;
      skin::SkinPartPtr m_aniStop;
      skin::SkinPartPtr m_aniNext;
      skin::SkinPartPtr m_aniLast;
      skin::SkinPartPtr m_palEdit;
      skin::SkinPartPtr m_palSort;
      skin::SkinPartPtr m_palPresets;
      skin::SkinPartPtr m_palOptions;
      skin::SkinPartPtr m_palResize;
      skin::SkinPartPtr m_targetOne;
      skin::SkinPartPtr m_targetFrames;
      skin::SkinPartPtr m_targetLayers;
      skin::SkinPartPtr m_targetFramesLayers;
      skin::SkinPartPtr m_brushCircle;
      skin::SkinPartPtr m_brushCircleSelected;
      skin::SkinPartPtr m_brushSquare;
      skin::SkinPartPtr m_brushSquareSelected;
      skin::SkinPartPtr m_brushLine;
      skin::SkinPartPtr m_brushLineSelected;
      skin::SkinPartPtr m_selectionReplace;
      skin::SkinPartPtr m_selectionReplaceSelected;
      skin::SkinPartPtr m_selectionAdd;
      skin::SkinPartPtr m_selectionAddSelected;
      skin::SkinPartPtr m_selectionSubtract;
      skin::SkinPartPtr m_selectionSubtractSelected;
      skin::SkinPartPtr m_unpinned;
      skin::SkinPartPtr m_pinned;
      skin::SkinPartPtr m_dropDownButtonLeftNormal;
      skin::SkinPartPtr m_dropDownButtonLeftHot;
      skin::SkinPartPtr m_dropDownButtonLeftFocused;
      skin::SkinPartPtr m_dropDownButtonLeftSelected;
      skin::SkinPartPtr m_dropDownButtonRightNormal;
      skin::SkinPartPtr m_dropDownButtonRightHot;
      skin::SkinPartPtr m_dropDownButtonRightFocused;
      skin::SkinPartPtr m_dropDownButtonRightSelected;
      skin::SkinPartPtr m_transformationHandle;
      skin::SkinPartPtr m_pivotHandle;
      skin::SkinPartPtr m_timelineNormal;
      skin::SkinPartPtr m_timelineActive;
      skin::SkinPartPtr m_timelineHover;
      skin::SkinPartPtr m_timelineActiveHover;
      skin::SkinPartPtr m_timelineClicked;
      skin::SkinPartPtr m_timelineOpenEyeNormal;
      skin::SkinPartPtr m_timelineOpenEyeActive;
      skin::SkinPartPtr m_timelineClosedEyeNormal;
      skin::SkinPartPtr m_timelineClosedEyeActive;
      skin::SkinPartPtr m_timelineOpenPadlockNormal;
      skin::SkinPartPtr m_timelineOpenPadlockActive;
      skin::SkinPartPtr m_timelineClosedPadlockNormal;
      skin::SkinPartPtr m_timelineClosedPadlockActive;
      skin::SkinPartPtr m_timelineContinuousNormal;
      skin::SkinPartPtr m_timelineContinuousActive;
      skin::SkinPartPtr m_timelineDiscontinuousNormal;
      skin::SkinPartPtr m_timelineDiscontinuousActive;
      skin::SkinPartPtr m_timelineEmptyFrameNormal;
      skin::SkinPartPtr m_timelineEmptyFrameActive;
      skin::SkinPartPtr m_timelineKeyframeNormal;
      skin::SkinPartPtr m_timelineKeyframeActive;
      skin::SkinPartPtr m_timelineFromLeftNormal;
      skin::SkinPartPtr m_timelineFromLeftActive;
      skin::SkinPartPtr m_timelineFromRightNormal;
      skin::SkinPartPtr m_timelineFromRightActive;
      skin::SkinPartPtr m_timelineFromBothNormal;
      skin::SkinPartPtr m_timelineFromBothActive;
      skin::SkinPartPtr m_timelineLeftLinkActive;
      skin::SkinPartPtr m_timelineBothLinksActive;
      skin::SkinPartPtr m_timelineRightLinkActive;
      skin::SkinPartPtr m_timelineGear;
      skin::SkinPartPtr m_timelineGearActive;
      skin::SkinPartPtr m_timelineOnionskin;
      skin::SkinPartPtr m_timelineOnionskinActive;
      skin::SkinPartPtr m_timelineOnionskinRange;
      skin::SkinPartPtr m_timelinePadding;
      skin::SkinPartPtr m_timelinePaddingTr;
      skin::SkinPartPtr m_timelinePaddingBl;
      skin::SkinPartPtr m_timelinePaddingBr;
      skin::SkinPartPtr m_timelineDropLayerDeco;
      skin::SkinPartPtr m_timelineDropFrameDeco;
      skin::SkinPartPtr m_timelineLoopRange;
      skin::SkinPartPtr m_flagNormal;
      skin::SkinPartPtr m_flagHighlight;
      skin::SkinPartPtr m_dropPixelsOk;
      skin::SkinPartPtr m_dropPixelsOkSelected;
      skin::SkinPartPtr m_dropPixelsCancel;
      skin::SkinPartPtr m_dropPixelsCancelSelected;
      skin::SkinPartPtr m_warningBox;
      skin::SkinPartPtr m_canvasNw;
      skin::SkinPartPtr m_canvasN;
      skin::SkinPartPtr m_canvasNe;
      skin::SkinPartPtr m_canvasW;
      skin::SkinPartPtr m_canvasC;
      skin::SkinPartPtr m_canvasE;
      skin::SkinPartPtr m_canvasSw;
      skin::SkinPartPtr m_canvasS;
      skin::SkinPartPtr m_canvasSe;
      skin::SkinPartPtr m_canvasEmpty;
      skin::SkinPartPtr m_inkSimple;
      skin::SkinPartPtr m_inkAlphaCompositing;
      skin::SkinPartPtr m_inkCopyColor;
      skin::SkinPartPtr m_inkLockAlpha;
      skin::SkinPartPtr m_inkShading;
      skin::SkinPartPtr m_selectionOpaque;
      skin::SkinPartPtr m_selectionMasked;
      skin::SkinPartPtr m_pivotNorthwest;
      skin::SkinPartPtr m_pivotNorth;
      skin::SkinPartPtr m_pivotNortheast;
      skin::SkinPartPtr m_pivotWest;
      skin::SkinPartPtr m_pivotCenter;
      skin::SkinPartPtr m_pivotEast;
      skin::SkinPartPtr m_pivotSouthwest;
      skin::SkinPartPtr m_pivotSouth;
      skin::SkinPartPtr m_pivotSoutheast;
      skin::SkinPartPtr m_iconRgb;
      skin::SkinPartPtr m_iconGrayscale;
      skin::SkinPartPtr m_iconIndexed;
      skin::SkinPartPtr m_iconBlack;
      skin::SkinPartPtr m_iconWhite;
      skin::SkinPartPtr m_iconTransparent;
      skin::SkinPartPtr m_colorWheelIndicator;
      skin::SkinPartPtr m_noSymmetry;
      skin::SkinPartPtr m_horizontalSymmetry;
      skin::SkinPartPtr m_verticalSymmetry;
      skin::SkinPartPtr m_iconArrowDown;
      skin::SkinPartPtr m_iconClose;
      skin::SkinPartPtr m_iconSearch;
      skin::SkinPartPtr m_iconUserData;
      skin::SkinPartPtr m_iconPos;
      skin::SkinPartPtr m_iconSize;
      skin::SkinPartPtr m_iconSelsize;
      skin::SkinPartPtr m_iconFrame;
      skin::SkinPartPtr m_iconClock;
      skin::SkinPartPtr m_iconStart;
      skin::SkinPartPtr m_iconEnd;
      skin::SkinPartPtr m_iconAngle;
      skin::SkinPartPtr m_iconKey;
      skin::SkinPartPtr m_iconDistance;
      skin::SkinPartPtr m_iconGrid;
    };

    class Styles {
      template<typename> friend class SkinFile;
    public:
      skin::Style* label() const { return m_label; }
      skin::Style* link() const { return m_link; }
      skin::Style* view() const { return m_view; }
      skin::Style* window() const { return m_window; }
      skin::Style* windowTitle() const { return m_windowTitle; }
      skin::Style* menubox() const { return m_menubox; }
      skin::Style* desktop() const { return m_desktop; }
      skin::Style* scrollbar() const { return m_scrollbar; }
      skin::Style* scrollbarThumb() const { return m_scrollbarThumb; }
      skin::Style* miniScrollbar() const { return m_miniScrollbar; }
      skin::Style* miniScrollbarThumb() const { return m_miniScrollbarThumb; }
      skin::Style* transparentScrollbar() const { return m_transparentScrollbar; }
      skin::Style* transparentScrollbarThumb() const { return m_transparentScrollbarThumb; }
      skin::Style* timeline() const { return m_timeline; }
      skin::Style* timelineBox() const { return m_timelineBox; }
      skin::Style* timelineOpenEye() const { return m_timelineOpenEye; }
      skin::Style* timelineClosedEye() const { return m_timelineClosedEye; }
      skin::Style* timelineOpenPadlock() const { return m_timelineOpenPadlock; }
      skin::Style* timelineClosedPadlock() const { return m_timelineClosedPadlock; }
      skin::Style* timelineContinuous() const { return m_timelineContinuous; }
      skin::Style* timelineDiscontinuous() const { return m_timelineDiscontinuous; }
      skin::Style* timelineLayer() const { return m_timelineLayer; }
      skin::Style* timelineLayerTextOnly() const { return m_timelineLayerTextOnly; }
      skin::Style* timelineSelectedCel() const { return m_timelineSelectedCel; }
      skin::Style* timelineEmptyFrame() const { return m_timelineEmptyFrame; }
      skin::Style* timelineKeyframe() const { return m_timelineKeyframe; }
      skin::Style* timelineFromLeft() const { return m_timelineFromLeft; }
      skin::Style* timelineFromRight() const { return m_timelineFromRight; }
      skin::Style* timelineFromBoth() const { return m_timelineFromBoth; }
      skin::Style* timelineLeftLink() const { return m_timelineLeftLink; }
      skin::Style* timelineRightLink() const { return m_timelineRightLink; }
      skin::Style* timelineBothLinks() const { return m_timelineBothLinks; }
      skin::Style* timelineGear() const { return m_timelineGear; }
      skin::Style* timelineOnionskin() const { return m_timelineOnionskin; }
      skin::Style* timelineOnionskinRange() const { return m_timelineOnionskinRange; }
      skin::Style* timelinePadding() const { return m_timelinePadding; }
      skin::Style* timelinePaddingTr() const { return m_timelinePaddingTr; }
      skin::Style* timelinePaddingBl() const { return m_timelinePaddingBl; }
      skin::Style* timelinePaddingBr() const { return m_timelinePaddingBr; }
      skin::Style* timelineRangeOutline() const { return m_timelineRangeOutline; }
      skin::Style* timelineDropLayerDeco() const { return m_timelineDropLayerDeco; }
      skin::Style* timelineDropFrameDeco() const { return m_timelineDropFrameDeco; }
      skin::Style* timelineLoopRange() const { return m_timelineLoopRange; }
      skin::Style* flag() const { return m_flag; }
      skin::Style* warningBox() const { return m_warningBox; }
      skin::Style* tab() const { return m_tab; }
      skin::Style* tabText() const { return m_tabText; }
      skin::Style* tabBottom() const { return m_tabBottom; }
      skin::Style* tabFiller() const { return m_tabFiller; }
      skin::Style* tabIcon() const { return m_tabIcon; }
      skin::Style* tabCloseIcon() const { return m_tabCloseIcon; }
      skin::Style* tabModifiedIcon() const { return m_tabModifiedIcon; }
      skin::Style* tabHome() const { return m_tabHome; }
      skin::Style* workspaceLabel() const { return m_workspaceLabel; }
      skin::Style* workspaceLink() const { return m_workspaceLink; }
      skin::Style* workspaceUpdateLink() const { return m_workspaceUpdateLink; }
      skin::Style* workspaceView() const { return m_workspaceView; }
      skin::Style* recentFile() const { return m_recentFile; }
      skin::Style* recentFileDetail() const { return m_recentFileDetail; }
    private:
      skin::Style* m_label;
      skin::Style* m_link;
      skin::Style* m_view;
      skin::Style* m_window;
      skin::Style* m_windowTitle;
      skin::Style* m_menubox;
      skin::Style* m_desktop;
      skin::Style* m_scrollbar;
      skin::Style* m_scrollbarThumb;
      skin::Style* m_miniScrollbar;
      skin::Style* m_miniScrollbarThumb;
      skin::Style* m_transparentScrollbar;
      skin::Style* m_transparentScrollbarThumb;
      skin::Style* m_timeline;
      skin::Style* m_timelineBox;
      skin::Style* m_timelineOpenEye;
      skin::Style* m_timelineClosedEye;
      skin::Style* m_timelineOpenPadlock;
      skin::Style* m_timelineClosedPadlock;
      skin::Style* m_timelineContinuous;
      skin::Style* m_timelineDiscontinuous;
      skin::Style* m_timelineLayer;
      skin::Style* m_timelineLayerTextOnly;
      skin::Style* m_timelineSelectedCel;
      skin::Style* m_timelineEmptyFrame;
      skin::Style* m_timelineKeyframe;
      skin::Style* m_timelineFromLeft;
      skin::Style* m_timelineFromRight;
      skin::Style* m_timelineFromBoth;
      skin::Style* m_timelineLeftLink;
      skin::Style* m_timelineRightLink;
      skin::Style* m_timelineBothLinks;
      skin::Style* m_timelineGear;
      skin::Style* m_timelineOnionskin;
      skin::Style* m_timelineOnionskinRange;
      skin::Style* m_timelinePadding;
      skin::Style* m_timelinePaddingTr;
      skin::Style* m_timelinePaddingBl;
      skin::Style* m_timelinePaddingBr;
      skin::Style* m_timelineRangeOutline;
      skin::Style* m_timelineDropLayerDeco;
      skin::Style* m_timelineDropFrameDeco;
      skin::Style* m_timelineLoopRange;
      skin::Style* m_flag;
      skin::Style* m_warningBox;
      skin::Style* m_tab;
      skin::Style* m_tabText;
      skin::Style* m_tabBottom;
      skin::Style* m_tabFiller;
      skin::Style* m_tabIcon;
      skin::Style* m_tabCloseIcon;
      skin::Style* m_tabModifiedIcon;
      skin::Style* m_tabHome;
      skin::Style* m_workspaceLabel;
      skin::Style* m_workspaceLink;
      skin::Style* m_workspaceUpdateLink;
      skin::Style* m_workspaceView;
      skin::Style* m_recentFile;
      skin::Style* m_recentFileDetail;
    };

    Dimensions dimensions;
    Colors colors;
    Parts parts;
    Styles styles;

  protected:
    void updateInternals() {
      byId(dimensions.m_scrollbarSize, "scrollbar_size");
      byId(dimensions.m_miniScrollbarSize, "mini_scrollbar_size");
      byId(dimensions.m_tabsWidth, "tabs_width");
      byId(dimensions.m_tabsHeight, "tabs_height");
      byId(dimensions.m_tabsBottomHeight, "tabs_bottom_height");
      byId(dimensions.m_dockedTabsHeight, "docked_tabs_height");
      byId(dimensions.m_tabsCloseIconWidth, "tabs_close_icon_width");
      byId(dimensions.m_tabsCloseIconHeight, "tabs_close_icon_height");
      byId(dimensions.m_tabsIconWidth, "tabs_icon_width");
      byId(dimensions.m_timelineTopBorder, "timeline_top_border");
      byId(dimensions.m_timelineTagsAreaHeight, "timeline_tags_area_height");
      byId(dimensions.m_timelineOutlineWidth, "timeline_outline_width");
      byId(dimensions.m_paletteOutlineWidth, "palette_outline_width");
      byId(dimensions.m_colorSliderHeight, "color_slider_height");
      byId(colors.m_text, "text");
      byId(colors.m_disabled, "disabled");
      byId(colors.m_face, "face");
      byId(colors.m_hotFace, "hot_face");
      byId(colors.m_selected, "selected");
      byId(colors.m_separatorLabel, "separator_label");
      byId(colors.m_background, "background");
      byId(colors.m_desktop, "desktop");
      byId(colors.m_textboxText, "textbox_text");
      byId(colors.m_textboxFace, "textbox_face");
      byId(colors.m_entrySuffix, "entry_suffix");
      byId(colors.m_linkText, "link_text");
      byId(colors.m_linkHover, "link_hover");
      byId(colors.m_buttonNormalText, "button_normal_text");
      byId(colors.m_buttonNormalFace, "button_normal_face");
      byId(colors.m_buttonHotText, "button_hot_text");
      byId(colors.m_buttonHotFace, "button_hot_face");
      byId(colors.m_buttonSelectedText, "button_selected_text");
      byId(colors.m_buttonSelectedFace, "button_selected_face");
      byId(colors.m_checkHotFace, "check_hot_face");
      byId(colors.m_checkFocusFace, "check_focus_face");
      byId(colors.m_radioHotFace, "radio_hot_face");
      byId(colors.m_radioFocusFace, "radio_focus_face");
      byId(colors.m_menuitemNormalText, "menuitem_normal_text");
      byId(colors.m_menuitemNormalFace, "menuitem_normal_face");
      byId(colors.m_menuitemHotText, "menuitem_hot_text");
      byId(colors.m_menuitemHotFace, "menuitem_hot_face");
      byId(colors.m_menuitemHighlightText, "menuitem_highlight_text");
      byId(colors.m_menuitemHighlightFace, "menuitem_highlight_face");
      byId(colors.m_windowFace, "window_face");
      byId(colors.m_windowTitlebarText, "window_titlebar_text");
      byId(colors.m_windowTitlebarFace, "window_titlebar_face");
      byId(colors.m_editorFace, "editor_face");
      byId(colors.m_editorSpriteBorder, "editor_sprite_border");
      byId(colors.m_editorSpriteBottomBorder, "editor_sprite_bottom_border");
      byId(colors.m_editorLayerEdges, "editor_layer_edges");
      byId(colors.m_listitemNormalText, "listitem_normal_text");
      byId(colors.m_listitemNormalFace, "listitem_normal_face");
      byId(colors.m_listitemSelectedText, "listitem_selected_text");
      byId(colors.m_listitemSelectedFace, "listitem_selected_face");
      byId(colors.m_sliderEmptyText, "slider_empty_text");
      byId(colors.m_sliderEmptyFace, "slider_empty_face");
      byId(colors.m_sliderFullText, "slider_full_text");
      byId(colors.m_sliderFullFace, "slider_full_face");
      byId(colors.m_tabNormalText, "tab_normal_text");
      byId(colors.m_tabNormalFace, "tab_normal_face");
      byId(colors.m_tabActiveText, "tab_active_text");
      byId(colors.m_tabActiveFace, "tab_active_face");
      byId(colors.m_splitterNormalFace, "splitter_normal_face");
      byId(colors.m_scrollbarBgFace, "scrollbar_bg_face");
      byId(colors.m_scrollbarThumbFace, "scrollbar_thumb_face");
      byId(colors.m_popupWindowBorder, "popup_window_border");
      byId(colors.m_tooltipText, "tooltip_text");
      byId(colors.m_tooltipFace, "tooltip_face");
      byId(colors.m_filelistEvenRowText, "filelist_even_row_text");
      byId(colors.m_filelistEvenRowFace, "filelist_even_row_face");
      byId(colors.m_filelistOddRowText, "filelist_odd_row_text");
      byId(colors.m_filelistOddRowFace, "filelist_odd_row_face");
      byId(colors.m_filelistSelectedRowText, "filelist_selected_row_text");
      byId(colors.m_filelistSelectedRowFace, "filelist_selected_row_face");
      byId(colors.m_filelistDisabledRowText, "filelist_disabled_row_text");
      byId(colors.m_workspace, "workspace");
      byId(colors.m_workspaceText, "workspace_text");
      byId(colors.m_workspaceLink, "workspace_link");
      byId(colors.m_workspaceLinkHover, "workspace_link_hover");
      byId(colors.m_timelineNormal, "timeline_normal");
      byId(colors.m_timelineNormalText, "timeline_normal_text");
      byId(colors.m_timelineHover, "timeline_hover");
      byId(colors.m_timelineHoverText, "timeline_hover_text");
      byId(colors.m_timelineActive, "timeline_active");
      byId(colors.m_timelineActiveText, "timeline_active_text");
      byId(colors.m_timelineActiveHover, "timeline_active_hover");
      byId(colors.m_timelineActiveHoverText, "timeline_active_hover_text");
      byId(colors.m_timelineClicked, "timeline_clicked");
      byId(colors.m_timelineClickedText, "timeline_clicked_text");
      byId(colors.m_timelinePadding, "timeline_padding");
      byId(colors.m_statusBarText, "status_bar_text");
      byId(colors.m_statusBarFace, "status_bar_face");
      byId(colors.m_flagNormal, "flag_normal");
      byId(colors.m_flagActive, "flag_active");
      byId(colors.m_flagClicked, "flag_clicked");
      byId(colors.m_selectBoxRuler, "select_box_ruler");
      byId(colors.m_selectBoxGrid, "select_box_grid");
      byId(parts.m_radioNormal, "radio_normal");
      byId(parts.m_radioSelected, "radio_selected");
      byId(parts.m_radioDisabled, "radio_disabled");
      byId(parts.m_checkNormal, "check_normal");
      byId(parts.m_checkSelected, "check_selected");
      byId(parts.m_checkDisabled, "check_disabled");
      byId(parts.m_checkFocus, "check_focus");
      byId(parts.m_radioFocus, "radio_focus");
      byId(parts.m_buttonNormal, "button_normal");
      byId(parts.m_buttonHot, "button_hot");
      byId(parts.m_buttonFocused, "button_focused");
      byId(parts.m_buttonSelected, "button_selected");
      byId(parts.m_sunkenNormal, "sunken_normal");
      byId(parts.m_sunkenFocused, "sunken_focused");
      byId(parts.m_sunken2Normal, "sunken2_normal");
      byId(parts.m_sunken2Focused, "sunken2_focused");
      byId(parts.m_sunkenMiniNormal, "sunken_mini_normal");
      byId(parts.m_sunkenMiniFocused, "sunken_mini_focused");
      byId(parts.m_window, "window");
      byId(parts.m_menu, "menu");
      byId(parts.m_windowCloseButtonNormal, "window_close_button_normal");
      byId(parts.m_windowCloseButtonHot, "window_close_button_hot");
      byId(parts.m_windowCloseButtonSelected, "window_close_button_selected");
      byId(parts.m_windowPlayButtonNormal, "window_play_button_normal");
      byId(parts.m_windowPlayButtonHot, "window_play_button_hot");
      byId(parts.m_windowPlayButtonSelected, "window_play_button_selected");
      byId(parts.m_windowStopButtonNormal, "window_stop_button_normal");
      byId(parts.m_windowStopButtonHot, "window_stop_button_hot");
      byId(parts.m_windowStopButtonSelected, "window_stop_button_selected");
      byId(parts.m_windowCenterButtonNormal, "window_center_button_normal");
      byId(parts.m_windowCenterButtonHot, "window_center_button_hot");
      byId(parts.m_windowCenterButtonSelected, "window_center_button_selected");
      byId(parts.m_sliderFull, "slider_full");
      byId(parts.m_sliderEmpty, "slider_empty");
      byId(parts.m_sliderFullFocused, "slider_full_focused");
      byId(parts.m_sliderEmptyFocused, "slider_empty_focused");
      byId(parts.m_miniSliderFull, "mini_slider_full");
      byId(parts.m_miniSliderEmpty, "mini_slider_empty");
      byId(parts.m_miniSliderFullFocused, "mini_slider_full_focused");
      byId(parts.m_miniSliderEmptyFocused, "mini_slider_empty_focused");
      byId(parts.m_miniSliderThumb, "mini_slider_thumb");
      byId(parts.m_miniSliderThumbFocused, "mini_slider_thumb_focused");
      byId(parts.m_separatorHorz, "separator_horz");
      byId(parts.m_separatorVert, "separator_vert");
      byId(parts.m_comboboxArrowDown, "combobox_arrow_down");
      byId(parts.m_comboboxArrowDownSelected, "combobox_arrow_down_selected");
      byId(parts.m_comboboxArrowDownDisabled, "combobox_arrow_down_disabled");
      byId(parts.m_comboboxArrowUp, "combobox_arrow_up");
      byId(parts.m_comboboxArrowUpSelected, "combobox_arrow_up_selected");
      byId(parts.m_comboboxArrowUpDisabled, "combobox_arrow_up_disabled");
      byId(parts.m_comboboxArrowLeft, "combobox_arrow_left");
      byId(parts.m_comboboxArrowLeftSelected, "combobox_arrow_left_selected");
      byId(parts.m_comboboxArrowLeftDisabled, "combobox_arrow_left_disabled");
      byId(parts.m_comboboxArrowRight, "combobox_arrow_right");
      byId(parts.m_comboboxArrowRightSelected, "combobox_arrow_right_selected");
      byId(parts.m_comboboxArrowRightDisabled, "combobox_arrow_right_disabled");
      byId(parts.m_newfolder, "newfolder");
      byId(parts.m_newfolderSelected, "newfolder_selected");
      byId(parts.m_toolbuttonNormal, "toolbutton_normal");
      byId(parts.m_toolbuttonHot, "toolbutton_hot");
      byId(parts.m_toolbuttonLast, "toolbutton_last");
      byId(parts.m_toolbuttonPushed, "toolbutton_pushed");
      byId(parts.m_toolbuttonHotFocused, "toolbutton_hot_focused");
      byId(parts.m_toolbuttonFocused, "toolbutton_focused");
      byId(parts.m_tabNormal, "tab_normal");
      byId(parts.m_tabActive, "tab_active");
      byId(parts.m_tabBottomActive, "tab_bottom_active");
      byId(parts.m_tabBottomNormal, "tab_bottom_normal");
      byId(parts.m_tabFiller, "tab_filler");
      byId(parts.m_tabModifiedIconNormal, "tab_modified_icon_normal");
      byId(parts.m_tabModifiedIconActive, "tab_modified_icon_active");
      byId(parts.m_tabCloseIconNormal, "tab_close_icon_normal");
      byId(parts.m_tabCloseIconActive, "tab_close_icon_active");
      byId(parts.m_tabIconBgClicked, "tab_icon_bg_clicked");
      byId(parts.m_tabIconBgHover, "tab_icon_bg_hover");
      byId(parts.m_tabHomeIconNormal, "tab_home_icon_normal");
      byId(parts.m_tabHomeIconActive, "tab_home_icon_active");
      byId(parts.m_editorNormal, "editor_normal");
      byId(parts.m_editorSelected, "editor_selected");
      byId(parts.m_colorbar0, "colorbar_0");
      byId(parts.m_colorbar1, "colorbar_1");
      byId(parts.m_colorbar2, "colorbar_2");
      byId(parts.m_colorbar3, "colorbar_3");
      byId(parts.m_colorbarBorderFg, "colorbar_border_fg");
      byId(parts.m_colorbarBorderBg, "colorbar_border_bg");
      byId(parts.m_colorbarBorderHotfg, "colorbar_border_hotfg");
      byId(parts.m_scrollbarBg, "scrollbar_bg");
      byId(parts.m_scrollbarThumb, "scrollbar_thumb");
      byId(parts.m_miniScrollbarBg, "mini_scrollbar_bg");
      byId(parts.m_miniScrollbarThumb, "mini_scrollbar_thumb");
      byId(parts.m_miniScrollbarBgHot, "mini_scrollbar_bg_hot");
      byId(parts.m_miniScrollbarThumbHot, "mini_scrollbar_thumb_hot");
      byId(parts.m_transparentScrollbarBg, "transparent_scrollbar_bg");
      byId(parts.m_transparentScrollbarThumb, "transparent_scrollbar_thumb");
      byId(parts.m_transparentScrollbarBgHot, "transparent_scrollbar_bg_hot");
      byId(parts.m_transparentScrollbarThumbHot, "transparent_scrollbar_thumb_hot");
      byId(parts.m_tooltip, "tooltip");
      byId(parts.m_tooltipArrow, "tooltip_arrow");
      byId(parts.m_aniFirst, "ani_first");
      byId(parts.m_aniPrevious, "ani_previous");
      byId(parts.m_aniPlay, "ani_play");
      byId(parts.m_aniStop, "ani_stop");
      byId(parts.m_aniNext, "ani_next");
      byId(parts.m_aniLast, "ani_last");
      byId(parts.m_palEdit, "pal_edit");
      byId(parts.m_palSort, "pal_sort");
      byId(parts.m_palPresets, "pal_presets");
      byId(parts.m_palOptions, "pal_options");
      byId(parts.m_palResize, "pal_resize");
      byId(parts.m_targetOne, "target_one");
      byId(parts.m_targetFrames, "target_frames");
      byId(parts.m_targetLayers, "target_layers");
      byId(parts.m_targetFramesLayers, "target_frames_layers");
      byId(parts.m_brushCircle, "brush_circle");
      byId(parts.m_brushCircleSelected, "brush_circle_selected");
      byId(parts.m_brushSquare, "brush_square");
      byId(parts.m_brushSquareSelected, "brush_square_selected");
      byId(parts.m_brushLine, "brush_line");
      byId(parts.m_brushLineSelected, "brush_line_selected");
      byId(parts.m_selectionReplace, "selection_replace");
      byId(parts.m_selectionReplaceSelected, "selection_replace_selected");
      byId(parts.m_selectionAdd, "selection_add");
      byId(parts.m_selectionAddSelected, "selection_add_selected");
      byId(parts.m_selectionSubtract, "selection_subtract");
      byId(parts.m_selectionSubtractSelected, "selection_subtract_selected");
      byId(parts.m_unpinned, "unpinned");
      byId(parts.m_pinned, "pinned");
      byId(parts.m_dropDownButtonLeftNormal, "drop_down_button_left_normal");
      byId(parts.m_dropDownButtonLeftHot, "drop_down_button_left_hot");
      byId(parts.m_dropDownButtonLeftFocused, "drop_down_button_left_focused");
      byId(parts.m_dropDownButtonLeftSelected, "drop_down_button_left_selected");
      byId(parts.m_dropDownButtonRightNormal, "drop_down_button_right_normal");
      byId(parts.m_dropDownButtonRightHot, "drop_down_button_right_hot");
      byId(parts.m_dropDownButtonRightFocused, "drop_down_button_right_focused");
      byId(parts.m_dropDownButtonRightSelected, "drop_down_button_right_selected");
      byId(parts.m_transformationHandle, "transformation_handle");
      byId(parts.m_pivotHandle, "pivot_handle");
      byId(parts.m_timelineNormal, "timeline_normal");
      byId(parts.m_timelineActive, "timeline_active");
      byId(parts.m_timelineHover, "timeline_hover");
      byId(parts.m_timelineActiveHover, "timeline_active_hover");
      byId(parts.m_timelineClicked, "timeline_clicked");
      byId(parts.m_timelineOpenEyeNormal, "timeline_open_eye_normal");
      byId(parts.m_timelineOpenEyeActive, "timeline_open_eye_active");
      byId(parts.m_timelineClosedEyeNormal, "timeline_closed_eye_normal");
      byId(parts.m_timelineClosedEyeActive, "timeline_closed_eye_active");
      byId(parts.m_timelineOpenPadlockNormal, "timeline_open_padlock_normal");
      byId(parts.m_timelineOpenPadlockActive, "timeline_open_padlock_active");
      byId(parts.m_timelineClosedPadlockNormal, "timeline_closed_padlock_normal");
      byId(parts.m_timelineClosedPadlockActive, "timeline_closed_padlock_active");
      byId(parts.m_timelineContinuousNormal, "timeline_continuous_normal");
      byId(parts.m_timelineContinuousActive, "timeline_continuous_active");
      byId(parts.m_timelineDiscontinuousNormal, "timeline_discontinuous_normal");
      byId(parts.m_timelineDiscontinuousActive, "timeline_discontinuous_active");
      byId(parts.m_timelineEmptyFrameNormal, "timeline_empty_frame_normal");
      byId(parts.m_timelineEmptyFrameActive, "timeline_empty_frame_active");
      byId(parts.m_timelineKeyframeNormal, "timeline_keyframe_normal");
      byId(parts.m_timelineKeyframeActive, "timeline_keyframe_active");
      byId(parts.m_timelineFromLeftNormal, "timeline_from_left_normal");
      byId(parts.m_timelineFromLeftActive, "timeline_from_left_active");
      byId(parts.m_timelineFromRightNormal, "timeline_from_right_normal");
      byId(parts.m_timelineFromRightActive, "timeline_from_right_active");
      byId(parts.m_timelineFromBothNormal, "timeline_from_both_normal");
      byId(parts.m_timelineFromBothActive, "timeline_from_both_active");
      byId(parts.m_timelineLeftLinkActive, "timeline_left_link_active");
      byId(parts.m_timelineBothLinksActive, "timeline_both_links_active");
      byId(parts.m_timelineRightLinkActive, "timeline_right_link_active");
      byId(parts.m_timelineGear, "timeline_gear");
      byId(parts.m_timelineGearActive, "timeline_gear_active");
      byId(parts.m_timelineOnionskin, "timeline_onionskin");
      byId(parts.m_timelineOnionskinActive, "timeline_onionskin_active");
      byId(parts.m_timelineOnionskinRange, "timeline_onionskin_range");
      byId(parts.m_timelinePadding, "timeline_padding");
      byId(parts.m_timelinePaddingTr, "timeline_padding_tr");
      byId(parts.m_timelinePaddingBl, "timeline_padding_bl");
      byId(parts.m_timelinePaddingBr, "timeline_padding_br");
      byId(parts.m_timelineDropLayerDeco, "timeline_drop_layer_deco");
      byId(parts.m_timelineDropFrameDeco, "timeline_drop_frame_deco");
      byId(parts.m_timelineLoopRange, "timeline_loop_range");
      byId(parts.m_flagNormal, "flag_normal");
      byId(parts.m_flagHighlight, "flag_highlight");
      byId(parts.m_dropPixelsOk, "drop_pixels_ok");
      byId(parts.m_dropPixelsOkSelected, "drop_pixels_ok_selected");
      byId(parts.m_dropPixelsCancel, "drop_pixels_cancel");
      byId(parts.m_dropPixelsCancelSelected, "drop_pixels_cancel_selected");
      byId(parts.m_warningBox, "warning_box");
      byId(parts.m_canvasNw, "canvas_nw");
      byId(parts.m_canvasN, "canvas_n");
      byId(parts.m_canvasNe, "canvas_ne");
      byId(parts.m_canvasW, "canvas_w");
      byId(parts.m_canvasC, "canvas_c");
      byId(parts.m_canvasE, "canvas_e");
      byId(parts.m_canvasSw, "canvas_sw");
      byId(parts.m_canvasS, "canvas_s");
      byId(parts.m_canvasSe, "canvas_se");
      byId(parts.m_canvasEmpty, "canvas_empty");
      byId(parts.m_inkSimple, "ink_simple");
      byId(parts.m_inkAlphaCompositing, "ink_alpha_compositing");
      byId(parts.m_inkCopyColor, "ink_copy_color");
      byId(parts.m_inkLockAlpha, "ink_lock_alpha");
      byId(parts.m_inkShading, "ink_shading");
      byId(parts.m_selectionOpaque, "selection_opaque");
      byId(parts.m_selectionMasked, "selection_masked");
      byId(parts.m_pivotNorthwest, "pivot_northwest");
      byId(parts.m_pivotNorth, "pivot_north");
      byId(parts.m_pivotNortheast, "pivot_northeast");
      byId(parts.m_pivotWest, "pivot_west");
      byId(parts.m_pivotCenter, "pivot_center");
      byId(parts.m_pivotEast, "pivot_east");
      byId(parts.m_pivotSouthwest, "pivot_southwest");
      byId(parts.m_pivotSouth, "pivot_south");
      byId(parts.m_pivotSoutheast, "pivot_southeast");
      byId(parts.m_iconRgb, "icon_rgb");
      byId(parts.m_iconGrayscale, "icon_grayscale");
      byId(parts.m_iconIndexed, "icon_indexed");
      byId(parts.m_iconBlack, "icon_black");
      byId(parts.m_iconWhite, "icon_white");
      byId(parts.m_iconTransparent, "icon_transparent");
      byId(parts.m_colorWheelIndicator, "color_wheel_indicator");
      byId(parts.m_noSymmetry, "no_symmetry");
      byId(parts.m_horizontalSymmetry, "horizontal_symmetry");
      byId(parts.m_verticalSymmetry, "vertical_symmetry");
      byId(parts.m_iconArrowDown, "icon_arrow_down");
      byId(parts.m_iconClose, "icon_close");
      byId(parts.m_iconSearch, "icon_search");
      byId(parts.m_iconUserData, "icon_user_data");
      byId(parts.m_iconPos, "icon_pos");
      byId(parts.m_iconSize, "icon_size");
      byId(parts.m_iconSelsize, "icon_selsize");
      byId(parts.m_iconFrame, "icon_frame");
      byId(parts.m_iconClock, "icon_clock");
      byId(parts.m_iconStart, "icon_start");
      byId(parts.m_iconEnd, "icon_end");
      byId(parts.m_iconAngle, "icon_angle");
      byId(parts.m_iconKey, "icon_key");
      byId(parts.m_iconDistance, "icon_distance");
      byId(parts.m_iconGrid, "icon_grid");
      byId(styles.m_label, "label");
      byId(styles.m_link, "link");
      byId(styles.m_view, "view");
      byId(styles.m_window, "window");
      byId(styles.m_windowTitle, "window_title");
      byId(styles.m_menubox, "menubox");
      byId(styles.m_desktop, "desktop");
      byId(styles.m_scrollbar, "scrollbar");
      byId(styles.m_scrollbarThumb, "scrollbar_thumb");
      byId(styles.m_miniScrollbar, "mini_scrollbar");
      byId(styles.m_miniScrollbarThumb, "mini_scrollbar_thumb");
      byId(styles.m_transparentScrollbar, "transparent_scrollbar");
      byId(styles.m_transparentScrollbarThumb, "transparent_scrollbar_thumb");
      byId(styles.m_timeline, "timeline");
      byId(styles.m_timelineBox, "timeline_box");
      byId(styles.m_timelineOpenEye, "timeline_open_eye");
      byId(styles.m_timelineClosedEye, "timeline_closed_eye");
      byId(styles.m_timelineOpenPadlock, "timeline_open_padlock");
      byId(styles.m_timelineClosedPadlock, "timeline_closed_padlock");
      byId(styles.m_timelineContinuous, "timeline_continuous");
      byId(styles.m_timelineDiscontinuous, "timeline_discontinuous");
      byId(styles.m_timelineLayer, "timeline_layer");
      byId(styles.m_timelineLayerTextOnly, "timeline_layer_text_only");
      byId(styles.m_timelineSelectedCel, "timeline_selected_cel");
      byId(styles.m_timelineEmptyFrame, "timeline_empty_frame");
      byId(styles.m_timelineKeyframe, "timeline_keyframe");
      byId(styles.m_timelineFromLeft, "timeline_from_left");
      byId(styles.m_timelineFromRight, "timeline_from_right");
      byId(styles.m_timelineFromBoth, "timeline_from_both");
      byId(styles.m_timelineLeftLink, "timeline_left_link");
      byId(styles.m_timelineRightLink, "timeline_right_link");
      byId(styles.m_timelineBothLinks, "timeline_both_links");
      byId(styles.m_timelineGear, "timeline_gear");
      byId(styles.m_timelineOnionskin, "timeline_onionskin");
      byId(styles.m_timelineOnionskinRange, "timeline_onionskin_range");
      byId(styles.m_timelinePadding, "timeline_padding");
      byId(styles.m_timelinePaddingTr, "timeline_padding_tr");
      byId(styles.m_timelinePaddingBl, "timeline_padding_bl");
      byId(styles.m_timelinePaddingBr, "timeline_padding_br");
      byId(styles.m_timelineRangeOutline, "timeline_range_outline");
      byId(styles.m_timelineDropLayerDeco, "timeline_drop_layer_deco");
      byId(styles.m_timelineDropFrameDeco, "timeline_drop_frame_deco");
      byId(styles.m_timelineLoopRange, "timeline_loop_range");
      byId(styles.m_flag, "flag");
      byId(styles.m_warningBox, "warning_box");
      byId(styles.m_tab, "tab");
      byId(styles.m_tabText, "tab_text");
      byId(styles.m_tabBottom, "tab_bottom");
      byId(styles.m_tabFiller, "tab_filler");
      byId(styles.m_tabIcon, "tab_icon");
      byId(styles.m_tabCloseIcon, "tab_close_icon");
      byId(styles.m_tabModifiedIcon, "tab_modified_icon");
      byId(styles.m_tabHome, "tab_home");
      byId(styles.m_workspaceLabel, "workspace_label");
      byId(styles.m_workspaceLink, "workspace_link");
      byId(styles.m_workspaceUpdateLink, "workspace_update_link");
      byId(styles.m_workspaceView, "workspace_view");
      byId(styles.m_recentFile, "recent_file");
      byId(styles.m_recentFileDetail, "recent_file_detail");
    }

  private:
    void byId(int& dimension, const std::string& id) {
      dimension = static_cast<T*>(this)->getDimensionById(id);
    }
    void byId(gfx::Color& color, const std::string& id) {
      color = static_cast<T*>(this)->getColorById(id);
    }
    void byId(skin::SkinPartPtr& part, const std::string& id) {
      part = static_cast<T*>(this)->getPartById(id);
    }
    void byId(skin::Style*& style, const std::string& id) {
      style = static_cast<T*>(this)->getStyle(id);
    }
  };

} // namespace gen
} // namespace app
