diff --git a/bin/assets/ui/uitheme.css b/bin/assets/ui/uitheme.css index d5dd0b03b..b6d1ac1c8 100644 --- a/bin/assets/ui/uitheme.css +++ b/bin/assets/ui/uitheme.css @@ -7,12 +7,6 @@ textSelectionBackColor: #969696FF; } -Tab:selected, -Tab:hover, -Tab:pressed { - textColor: #FFF; -} - TabWidget { tabSeparation: -1dp; drawLineBelowTabs: true; @@ -43,7 +37,11 @@ Menu:hover, PopUpMenu:hover, MenuItem:hover, MenuCheckBox:hover, -MenuSubMenu:hover { +MenuSubMenu:hover, +ListBox::item:hover, +Tab:selected, +Tab:hover, +Tab:pressed { textColor: #FFF; } diff --git a/include/eepp/graphics/fontstyleconfig.hpp b/include/eepp/graphics/fontstyleconfig.hpp index 9acb31c34..b81f5d0c2 100644 --- a/include/eepp/graphics/fontstyleconfig.hpp +++ b/include/eepp/graphics/fontstyleconfig.hpp @@ -23,19 +23,19 @@ class FontStyleConfig { return ShadowColor; } - Uint32 getFontCharacterSize() const { + const Uint32& getFontCharacterSize() const { return CharacterSize; } - Uint32 getFontStyle() const { + const Uint32& getFontStyle() const { return Style; } - Float getOutlineThickness() const { + const Float& getOutlineThickness() const { return OutlineThickness; } - Color getOutlineColor() const { + const Color& getOutlineColor() const { return OutlineColor; } diff --git a/include/eepp/ui/uidropdownlist.hpp b/include/eepp/ui/uidropdownlist.hpp index 6454334cc..91e2d43d9 100644 --- a/include/eepp/ui/uidropdownlist.hpp +++ b/include/eepp/ui/uidropdownlist.hpp @@ -8,6 +8,12 @@ namespace EE { namespace UI { class EE_API UIDropDownList : public UITextInput { public: + class StyleConfig { + public: + Uint32 MaxNumVisibleItems = 10; + bool PopUpToMainControl = false; + }; + static UIDropDownList * New(); UIDropDownList(); @@ -32,9 +38,9 @@ class EE_API UIDropDownList : public UITextInput { void setMaxNumVisibleItems(const Uint32 & maxNumVisibleItems); - UIDropDownListStyleConfig getStyleConfig() const; + const StyleConfig& getStyleConfig() const; - void setStyleConfig(const UIDropDownListStyleConfig & styleConfig); + void setStyleConfig(const StyleConfig & styleConfig); virtual bool setAttribute( const NodeAttribute& attribute, const Uint32& state = UIState::StateFlagNormal ); @@ -42,7 +48,7 @@ class EE_API UIDropDownList : public UITextInput { protected: friend class UIComboBox; - UIDropDownListStyleConfig mStyleConfig; + StyleConfig mStyleConfig; UIListBox * mListBox; UINode * mFriendCtrl; diff --git a/include/eepp/ui/uifontstyleconfig.hpp b/include/eepp/ui/uifontstyleconfig.hpp new file mode 100644 index 000000000..80a05ed26 --- /dev/null +++ b/include/eepp/ui/uifontstyleconfig.hpp @@ -0,0 +1,52 @@ +#ifndef EE_UICUITHEMECONFIG_HPP +#define EE_UICUITHEMECONFIG_HPP + +#include +#include +#include + +namespace EE { namespace Graphics { +class Font; +}} + +namespace EE { namespace UI { + +class UIFontStyleConfig : public FontStyleConfig { + public: + const Color& getFontSelectedColor() const { + return FontSelectedColor; + } + + Color getFontSelectionBackColor() const { + return FontSelectionBackColor; + } + + void setFontSelectedColor( const Color& color ) { + FontSelectedColor = color; + } + + void setFontSelectionBackColor(const Color& color) { + FontSelectionBackColor = color; + } + + UIFontStyleConfig() : FontStyleConfig() {} + + UIFontStyleConfig( const UIFontStyleConfig& fontStyleConfig ) : + FontStyleConfig( fontStyleConfig ), + FontSelectedColor( fontStyleConfig.FontSelectedColor ), + FontSelectionBackColor( fontStyleConfig.FontSelectionBackColor ) + {} + + virtual void updateStyleConfig( const UIFontStyleConfig& fontStyleConfig ) { + FontStyleConfig::updateFontStyleConfig( fontStyleConfig ); + FontSelectedColor = fontStyleConfig.FontSelectedColor; + FontSelectionBackColor = fontStyleConfig.FontSelectionBackColor; + } + + Color FontSelectedColor = Color(255,255,255,255); + Color FontSelectionBackColor = Color(50,50,50,255); +}; + +}} + +#endif diff --git a/include/eepp/ui/uihelper.hpp b/include/eepp/ui/uihelper.hpp index 748e9499a..a77ec4b9a 100644 --- a/include/eepp/ui/uihelper.hpp +++ b/include/eepp/ui/uihelper.hpp @@ -151,6 +151,15 @@ enum LayoutPositionRules { BOTTOM_OF }; +class UIScaleType { + public: + enum Type { + None, + Expand, + FitInside + }; +}; + static const Uint32 UI_CONTROL_DEFAULT_ALIGN = UI_HALIGN_LEFT | UI_VALIGN_CENTER; static const Uint32 UI_CONTROL_ALIGN_CENTER = UI_HALIGN_CENTER | UI_VALIGN_CENTER; diff --git a/include/eepp/ui/uilistbox.hpp b/include/eepp/ui/uilistbox.hpp index d135a3581..8e915faac 100644 --- a/include/eepp/ui/uilistbox.hpp +++ b/include/eepp/ui/uilistbox.hpp @@ -17,7 +17,7 @@ class EE_API UIListBox : public UITouchDragableWidget { static UIListBox * NewWithTag( const std::string& tag ); - UIListBox( const std::string& tag ); + explicit UIListBox( const std::string& tag ); virtual ~UIListBox(); @@ -69,10 +69,6 @@ class EE_API UIListBox : public UITouchDragableWidget { const Color& getFontColor() const; - void setFontOverColor( const Color& Color ); - - const Color& getFontOverColor() const; - void setFontSelectedColor( const Color& Color ); const Color& getFontSelectedColor() const; diff --git a/include/eepp/ui/uimenu.hpp b/include/eepp/ui/uimenu.hpp index cda120b01..b8c50d05c 100644 --- a/include/eepp/ui/uimenu.hpp +++ b/include/eepp/ui/uimenu.hpp @@ -12,6 +12,15 @@ namespace EE { namespace UI { class EE_API UIMenu : public UIWidget { public: + class StyleConfig { + public: + Rectf Padding = Rectf(0, 0, 0, 0); + Uint32 MinWidth = 0; + Uint32 MinSpaceForIcons = 0; + Uint32 MinRightMargin = 0; + + }; + static UIMenu * New(); static void fixMenuPos( Vector2f& position, UIMenu * Menu, UIMenu * parent = NULL, UIMenuSubMenu * SubMenu = NULL ); @@ -62,7 +71,7 @@ class EE_API UIMenu : public UIWidget { void setMinRightMargin(const Uint32 & minRightMargin); - UITooltipStyleConfig getFontStyleConfig() const; + const StyleConfig& getStyleConfig() const; virtual void loadFromXmlNode( const pugi::xml_node& node ); @@ -73,7 +82,7 @@ class EE_API UIMenu : public UIWidget { friend class UIMenuSubMenu; std::deque mItems; - UIMenuStyleConfig mStyleConfig; + StyleConfig mStyleConfig; Uint32 mMaxWidth; Uint32 mNextPosY; Uint32 mBiggestIcon; diff --git a/include/eepp/ui/uiprogressbar.hpp b/include/eepp/ui/uiprogressbar.hpp index fe2cc9a14..54c653444 100644 --- a/include/eepp/ui/uiprogressbar.hpp +++ b/include/eepp/ui/uiprogressbar.hpp @@ -9,6 +9,14 @@ namespace EE { namespace UI { class EE_API UIProgressBar : public UIWidget { public: + class StyleConfig { + public: + bool DisplayPercent = false; + bool VerticalExpand = true; + Vector2f MovementSpeed = Vector2f( 64.f, 0 ); + Rectf FillerPadding; + }; + static UIProgressBar * New(); UIProgressBar(); @@ -52,8 +60,10 @@ class EE_API UIProgressBar : public UIWidget { UITextView * getTextBox() const; virtual bool setAttribute( const NodeAttribute& attribute, const Uint32& state = UIState::StateFlagNormal ); + + const StyleConfig& getStyleConfig() const; protected: - UIProgressBarStyleConfig mStyleConfig; + StyleConfig mStyleConfig; Float mProgress; Float mTotalSteps; UITextView * mTextBox; diff --git a/include/eepp/ui/uipushbutton.hpp b/include/eepp/ui/uipushbutton.hpp index 56fed01a6..213cc9123 100644 --- a/include/eepp/ui/uipushbutton.hpp +++ b/include/eepp/ui/uipushbutton.hpp @@ -9,6 +9,13 @@ namespace EE { namespace UI { class EE_API UIPushButton : public UIWidget { public: + class StyleConfig { + public: + Int32 IconHorizontalMargin = 4; + bool IconAutoMargin = true; + Sizei IconMinSize; + }; + static UIPushButton * New(); UIPushButton(); @@ -35,51 +42,19 @@ class EE_API UIPushButton : public UIWidget { UITextView * getTextBox() const; - void setFont( Font * font ); - - Font * getFont(); - - const Color& getFontColor() const; - - void setFontColor( const Color& color ); - - const Color& getFontOverColor() const; - - void setFontOverColor( const Color& color ); - - const Color& getFontShadowColor() const; - - void setFontShadowColor( const Color& color ); - - Uint32 getCharacterSize(); - - void setCharacterSize( const Uint32& characterSize ); - - const Uint32& getFontStyle() const; - - UIPushButton * setFontStyle( const Uint32& fontStyle ); - - const Float & getOutlineThickness() const; - - UIPushButton * setOutlineThickness( const Float& outlineThickness ); - - const Color& getOutlineColor() const; - - UIPushButton * setOutlineColor( const Color& outlineColor ); - - UIFontStyleConfig getStyleConfig() const; + const StyleConfig& getStyleConfig() const; void setIconMinimumSize( const Sizei& minIconSize ); - void setStyleConfig(const UIPushButtonStyleConfig & styleConfig); + void setStyleConfig(const StyleConfig & styleConfig); virtual bool setAttribute( const NodeAttribute& attribute, const Uint32& state = UIState::StateFlagNormal ); protected: - UIPushButtonStyleConfig mStyleConfig; + StyleConfig mStyleConfig; UIImage * mIcon; UITextView * mTextBox; - UIPushButton( const std::string& tag ); + explicit UIPushButton( const std::string& tag ); virtual void onSizeChange(); diff --git a/include/eepp/ui/uiselectbutton.hpp b/include/eepp/ui/uiselectbutton.hpp index 44d2d9ad1..7c3cf04ab 100644 --- a/include/eepp/ui/uiselectbutton.hpp +++ b/include/eepp/ui/uiselectbutton.hpp @@ -9,8 +9,12 @@ class EE_API UISelectButton : public UIPushButton { public: static UISelectButton * New(); + static UISelectButton * NewWithTag(const std::string & tag); + UISelectButton(); + explicit UISelectButton( const std::string& tag ); + virtual ~UISelectButton(); virtual Uint32 getType() const; @@ -22,15 +26,7 @@ class EE_API UISelectButton : public UIPushButton { virtual void unselect(); virtual void select(); - - void setFontSelectedColor( const Color& color ); - - const Color& getFontSelectedColor() const; - - virtual bool setAttribute( const NodeAttribute& attribute, const Uint32& state = UIState::StateFlagNormal ); protected: - UISelectButton( const std::string& tag ); - virtual void onStateChange(); }; diff --git a/include/eepp/ui/uislider.hpp b/include/eepp/ui/uislider.hpp index d22e46dab..492ea8bc1 100644 --- a/include/eepp/ui/uislider.hpp +++ b/include/eepp/ui/uislider.hpp @@ -6,6 +6,14 @@ namespace EE { namespace UI { +class EE_API UISliderStyleConfig { + public: + UISliderStyleConfig() {} + + bool AllowHalfSliderOut = false; + bool ExpandBackground = false; +}; + class EE_API UISlider : public UIWidget { public: static UISlider * New(); diff --git a/include/eepp/ui/uitabwidget.hpp b/include/eepp/ui/uitabwidget.hpp index 2a5ba902e..0c93bc358 100644 --- a/include/eepp/ui/uitabwidget.hpp +++ b/include/eepp/ui/uitabwidget.hpp @@ -9,6 +9,21 @@ namespace EE { namespace UI { class EE_API UITabWidget : public UIWidget { public: + class StyleConfig { + public: + Int32 TabSeparation = 0; + Uint32 MaxTextLength = 30; + Uint32 TabWidgetHeight = 0; + Uint32 TabTextAlign = ( UI_HALIGN_CENTER | UI_VALIGN_CENTER ); + Uint32 MinTabWidth = 32; + Uint32 MaxTabWidth = 300; + bool TabsClosable = false; + bool SpecialBorderTabs = false; //! Indicates if the periferical tabs ( the left and right border tab ) are different from the central tabs. + bool DrawLineBelowTabs = false; + Color LineBelowTabsColor; + Int32 LineBelowTabsYOffset = 0; + }; + static UITabWidget * New(); UITabWidget(); @@ -91,11 +106,9 @@ class EE_API UITabWidget : public UIWidget { void setLineBelowTabsYOffset(const Int32 & lineBelowTabsYOffset); - UITooltipStyleConfig getFontStyleConfig() const; + const StyleConfig & getStyleConfig() const; - UITabWidgetStyleConfig getStyleConfig() const; - - void setStyleConfig(const UITabWidgetStyleConfig & styleConfig); + void setStyleConfig(const StyleConfig & styleConfig); virtual bool setAttribute( const NodeAttribute& attribute, const Uint32& state = UIState::StateFlagNormal ); protected: @@ -103,7 +116,7 @@ class EE_API UITabWidget : public UIWidget { UIWidget * mCtrlContainer; UIWidget * mTabContainer; - UITabWidgetStyleConfig mStyleConfig; + StyleConfig mStyleConfig; std::deque mTabs; UITab * mTabSelected; Uint32 mTabSelectedIndex; diff --git a/include/eepp/ui/uitextedit.hpp b/include/eepp/ui/uitextedit.hpp index 3849a2331..27ad03dcf 100644 --- a/include/eepp/ui/uitextedit.hpp +++ b/include/eepp/ui/uitextedit.hpp @@ -1,12 +1,12 @@ #ifndef EE_UICUITEXTEDIT_HPP #define EE_UICUITEXTEDIT_HPP -#include #include -#include namespace EE { namespace UI { +class UIScrollBar; + class EE_API UITextEdit : public UIWidget { public: static UITextEdit * New(); diff --git a/include/eepp/ui/uitextinputpassword.hpp b/include/eepp/ui/uitextinputpassword.hpp index abc5ea4d0..e5393d27c 100644 --- a/include/eepp/ui/uitextinputpassword.hpp +++ b/include/eepp/ui/uitextinputpassword.hpp @@ -21,8 +21,6 @@ class EE_API UITextInputPassword : public UITextInput virtual UITextView * setText( const String& text ); Text * getPassCache() const; - - void setFontStyleConfig( const UITooltipStyleConfig& fontStyleConfig ); protected: Text * mPassCache; @@ -31,6 +29,10 @@ class EE_API UITextInputPassword : public UITextInput void updateText(); void updatePass( const String& pass ); + + void updateFontStyleConfig(); + + virtual void onStateChange(); }; }} diff --git a/include/eepp/ui/uitextview.hpp b/include/eepp/ui/uitextview.hpp index 874952665..0490be404 100644 --- a/include/eepp/ui/uitextview.hpp +++ b/include/eepp/ui/uitextview.hpp @@ -2,7 +2,7 @@ #define EE_UICUITEXTBOX_H #include -#include +#include #include namespace EE { namespace UI { @@ -77,13 +77,13 @@ class EE_API UITextView : public UIWidget { bool isTextSelectionEnabled() const; - UITooltipStyleConfig getFontStyleConfig() const; + const UIFontStyleConfig & getFontStyleConfig() const; virtual bool setAttribute( const NodeAttribute& attribute, const Uint32& state = UIState::StateFlagNormal ); protected: Text * mTextCache; String mString; - UITooltipStyleConfig mFontStyleConfig; + UIFontStyleConfig mFontStyleConfig; Vector2f mAlignOffset; Vector2f mRealAlignOffset; Int32 mSelCurInit; diff --git a/include/eepp/ui/uitheme.hpp b/include/eepp/ui/uitheme.hpp index 5fb729356..6e6eb148e 100644 --- a/include/eepp/ui/uitheme.hpp +++ b/include/eepp/ui/uitheme.hpp @@ -2,7 +2,7 @@ #define EE_UICUITHEME_HPP #include -#include +#include #include #include #include diff --git a/include/eepp/ui/uithemeconfig.hpp b/include/eepp/ui/uithemeconfig.hpp deleted file mode 100644 index 56d1d7f32..000000000 --- a/include/eepp/ui/uithemeconfig.hpp +++ /dev/null @@ -1,210 +0,0 @@ -#ifndef EE_UICUITHEMECONFIG_HPP -#define EE_UICUITHEMECONFIG_HPP - -#include -#include -#include - -namespace EE { namespace Graphics { -class Font; -}} - -namespace EE { namespace UI { - -class UIFontStyleConfig : public FontStyleConfig { - public: - const Color& getFontOverColor() const { - return FontOverColor; - } - - const Color& getFontSelectedColor() const { - return FontSelectedColor; - } - - Color getFontSelectionBackColor() const { - return FontSelectionBackColor; - } - - void setFontShadowColor( const Color& color ) { - ShadowColor = color; - } - - void setFontOverColor( const Color& color ) { - FontOverColor = color; - } - - void setFontSelectedColor( const Color& color ) { - FontSelectedColor = color; - } - - void setFontSelectionBackColor(const Color& color) { - FontSelectionBackColor = color; - } - - UIFontStyleConfig() : FontStyleConfig() {} - - UIFontStyleConfig( const UIFontStyleConfig& fontStyleConfig ) : - FontStyleConfig( fontStyleConfig ), - FontOverColor( fontStyleConfig.FontOverColor ), - FontSelectedColor( fontStyleConfig.FontSelectedColor ), - FontSelectionBackColor( fontStyleConfig.FontSelectionBackColor ) - {} - - virtual void updateStyleConfig( const UIFontStyleConfig& fontStyleConfig ) { - FontStyleConfig::updateFontStyleConfig( fontStyleConfig ); - FontOverColor = fontStyleConfig.FontOverColor; - FontSelectedColor = fontStyleConfig.FontSelectedColor; - FontSelectionBackColor = fontStyleConfig.FontSelectionBackColor; - } - - Color FontOverColor = Color(255,255,255,255); - Color FontSelectedColor = Color(255,255,255,255); - Color FontSelectionBackColor = Color(255,255,255,255); -}; - -class UITabWidgetStyleConfig : public UIFontStyleConfig { - public: - UITabWidgetStyleConfig() {} - - explicit UITabWidgetStyleConfig( UIFontStyleConfig fontStyleConfig ) : - UIFontStyleConfig( fontStyleConfig ) - {} - - Int32 TabSeparation = 0; - Uint32 MaxTextLength = 30; - Uint32 TabWidgetHeight = 0; - Uint32 TabTextAlign = ( UI_HALIGN_CENTER | UI_VALIGN_CENTER ); - Uint32 MinTabWidth = 32; - Uint32 MaxTabWidth = 300; - bool TabsClosable = false; - bool SpecialBorderTabs = false; //! Indicates if the periferical tabs ( the left and right border tab ) are different from the central tabs. - bool DrawLineBelowTabs = false; - Color LineBelowTabsColor; - Int32 LineBelowTabsYOffset = 0; -}; - -class UIProgressBarStyleConfig : public UIFontStyleConfig { - public: - UIProgressBarStyleConfig() {} - - UIProgressBarStyleConfig( UIFontStyleConfig fontStyleConfig ) : - UIFontStyleConfig( fontStyleConfig ) - {} - - bool DisplayPercent = false; - bool VerticalExpand = true; - Vector2f MovementSpeed = Vector2f( 64.f, 0 ); - Rectf FillerPadding; -}; - -class UIWinMenuStyleConfig : public UIFontStyleConfig { - public: - UIWinMenuStyleConfig() {} - - UIWinMenuStyleConfig( UIFontStyleConfig fontStyleConfig ) : - UIFontStyleConfig( fontStyleConfig ) - {} - - Uint32 MarginBetweenButtons = 0; - Uint32 ButtonMargin = 4; - Uint32 MenuHeight = 0; - Uint32 FirstButtonMargin = 1; -}; - -class UIDropDownListStyleConfig : public UIFontStyleConfig { - public: - UIDropDownListStyleConfig() {} - - explicit UIDropDownListStyleConfig( UIFontStyleConfig fontStyleConfig ) : - UIFontStyleConfig( fontStyleConfig ) - {} - - Uint32 MaxNumVisibleItems = 10; - bool PopUpToMainControl = false; -}; - -class UIWindowStyleConfig : public UIFontStyleConfig { - public: - UIWindowStyleConfig() {} - - UIWindowStyleConfig( Uint32 winFlags, UIFontStyleConfig fontStyleConfig = UIFontStyleConfig() ) : - UIFontStyleConfig( fontStyleConfig ), - WinFlags( winFlags ) - { - } - - UIWindowStyleConfig( UIFontStyleConfig fontStyleConfig ) : - UIFontStyleConfig( fontStyleConfig ) - {} - - Uint32 WinFlags = UI_WIN_DEFAULT_FLAGS; - Sizei DecorationSize; - Sizei BorderSize; - Sizef MinWindowSize; - Vector2i ButtonsPositionFixer; - Uint32 ButtonsSeparation = 4; - Int32 MinCornerDistance = 24; - Uint8 BaseAlpha = 255; - bool DecorationAutoSize = true; - bool BorderAutoSize = true; -}; - -class UIMenuStyleConfig : public UIFontStyleConfig { - public: - UIMenuStyleConfig() {} - - UIMenuStyleConfig( UIFontStyleConfig fontStyleConfig ) : - UIFontStyleConfig( fontStyleConfig ) - {} - - Rectf Padding = Rectf(0, 0, 0, 0); - Uint32 MinWidth = 0; - Uint32 MinSpaceForIcons = 0; - Uint32 MinRightMargin = 0; - -}; - -class UIPushButtonStyleConfig : public UIFontStyleConfig { - public: - UIPushButtonStyleConfig() {} - - UIPushButtonStyleConfig( UIFontStyleConfig fontStyleConfig ) : - UIFontStyleConfig( fontStyleConfig ) - {} - - Int32 IconHorizontalMargin = 4; - bool IconAutoMargin = true; - Sizei IconMinSize; -}; - -class UISliderStyleConfig { - public: - UISliderStyleConfig() {} - - bool AllowHalfSliderOut = false; - bool ExpandBackground = false; -}; - -class UITooltipStyleConfig : public UIFontStyleConfig { - public: - UITooltipStyleConfig() {} - - UITooltipStyleConfig( UIFontStyleConfig fontStyleConfig ) : - UIFontStyleConfig( fontStyleConfig ) - {} - - Rectf Padding; -}; - -class UIScaleType { - public: - enum Type { - None, - Expand, - FitInside - }; -}; - -}} - -#endif diff --git a/include/eepp/ui/uitooltip.hpp b/include/eepp/ui/uitooltip.hpp index 013e46a4b..0e063d72c 100644 --- a/include/eepp/ui/uitooltip.hpp +++ b/include/eepp/ui/uitooltip.hpp @@ -2,9 +2,11 @@ #define EE_UICUITOOLTIP_HPP #include +#include namespace EE { namespace Graphics { class Text; +class Font; }} namespace EE { namespace UI { @@ -49,10 +51,6 @@ class EE_API UITooltip : public UIWidget { virtual void onFontChanged(); - virtual void setPadding( const Rectf& padding ); - - const Rectf& getPadding() const; - Text * getTextCache(); Float getTextWidth(); @@ -73,9 +71,9 @@ class EE_API UITooltip : public UIWidget { void setTooltipOf(UINode * tooltipOf); - UITooltipStyleConfig getStyleConfig() const; + const UIFontStyleConfig & getFontStyleConfig() const; - void setStyleConfig(const UITooltipStyleConfig & styleConfig); + void setFontStyleConfig(const UIFontStyleConfig & styleConfig); Uint32 getCharacterSize() const; @@ -96,7 +94,7 @@ class EE_API UITooltip : public UIWidget { virtual bool setAttribute( const NodeAttribute& attribute, const Uint32& state = UIState::StateFlagNormal ); protected: Text * mTextCache; - UITooltipStyleConfig mStyleConfig; + UIFontStyleConfig mStyleConfig; Vector2f mAlignOffset; Rectf mRealPadding; Time mTooltipTime; diff --git a/include/eepp/ui/uiwidget.hpp b/include/eepp/ui/uiwidget.hpp index 380ea5e3a..d9050d024 100644 --- a/include/eepp/ui/uiwidget.hpp +++ b/include/eepp/ui/uiwidget.hpp @@ -4,7 +4,6 @@ #include #include #include -#include namespace pugi { class xml_node; diff --git a/include/eepp/ui/uiwindow.hpp b/include/eepp/ui/uiwindow.hpp index 43d18d447..511c96575 100644 --- a/include/eepp/ui/uiwindow.hpp +++ b/include/eepp/ui/uiwindow.hpp @@ -15,17 +15,37 @@ class UISceneNode; class EE_API UIWindow : public UIWidget { public: + class StyleConfig { + public: + StyleConfig() {} + + StyleConfig( Uint32 winFlags ) : + WinFlags( winFlags ) + {} + + Uint32 WinFlags = UI_WIN_DEFAULT_FLAGS; + Sizei DecorationSize; + Sizei BorderSize; + Sizef MinWindowSize; + Vector2i ButtonsPositionFixer; + Uint32 ButtonsSeparation = 4; + Int32 MinCornerDistance = 24; + Uint8 BaseAlpha = 255; + bool DecorationAutoSize = true; + bool BorderAutoSize = true; + }; + enum WindowBaseContainerType { SIMPLE_LAYOUT, LINEAR_LAYOUT, RELATIVE_LAYOUT }; - static UIWindow * NewOpt( WindowBaseContainerType type, const UIWindowStyleConfig& windowStyleConfig ); + static UIWindow * NewOpt( WindowBaseContainerType type, const StyleConfig& windowStyleConfig ); static UIWindow * New(); - explicit UIWindow( WindowBaseContainerType type, const UIWindowStyleConfig& windowStyleConfig ); + explicit UIWindow( WindowBaseContainerType type, const StyleConfig& windowStyleConfig ); explicit UIWindow( WindowBaseContainerType type = SIMPLE_LAYOUT ); @@ -95,9 +115,9 @@ class EE_API UIWindow : public UIWidget { UIWindow * setWinFlags(const Uint32 & winFlags); - UIWindowStyleConfig getStyleConfig() const; + const StyleConfig& getStyleConfig() const; - UIWindow * setStyleConfig(const UIWindowStyleConfig & styleConfig); + UIWindow * setStyleConfig(const StyleConfig & styleConfig); UIWindow * setMinWindowSize( Sizef size ); @@ -155,7 +175,7 @@ class EE_API UIWindow : public UIWidget { }; FrameBuffer * mFrameBuffer; - UIWindowStyleConfig mStyleConfig; + StyleConfig mStyleConfig; UINode * mWindowDecoration; UINode * mBorderLeft; UINode * mBorderRight; diff --git a/include/eepp/ui/uiwinmenu.hpp b/include/eepp/ui/uiwinmenu.hpp index 77a2de5e5..0e9a0f20a 100644 --- a/include/eepp/ui/uiwinmenu.hpp +++ b/include/eepp/ui/uiwinmenu.hpp @@ -10,6 +10,14 @@ namespace EE { namespace UI { class EE_API UIWinMenu : public UIWidget { public: + class StyleConfig { + public: + Uint32 MarginBetweenButtons = 0; + Uint32 ButtonMargin = 4; + Uint32 MenuHeight = 0; + Uint32 FirstButtonMargin = 1; + }; + static UIWinMenu * New(); UIWinMenu(); @@ -46,9 +54,9 @@ class EE_API UIWinMenu : public UIWidget { void setFirstButtonMargin( const Uint32& buttonMargin ); - UIWinMenuStyleConfig getStyleConfig() const; + const StyleConfig& getStyleConfig() const; - void setStyleConfig(const UIWinMenuStyleConfig & styleConfig); + void setStyleConfig(const StyleConfig & styleConfig); virtual bool setAttribute( const NodeAttribute& attribute, const Uint32& state = UIState::StateFlagNormal ); @@ -56,7 +64,7 @@ class EE_API UIWinMenu : public UIWidget { protected: typedef std::list< std::pair< UISelectButton *, UIPopUpMenu * > > WinMenuList; - UIWinMenuStyleConfig mStyleConfig; + StyleConfig mStyleConfig; UIPopUpMenu * mCurrentMenu; WinMenuList mButtons; diff --git a/projects/linux/ee.files b/projects/linux/ee.files index 55c09604f..7a5656424 100644 --- a/projects/linux/ee.files +++ b/projects/linux/ee.files @@ -309,6 +309,7 @@ ../../include/eepp/ui/uicommondialog.hpp ../../include/eepp/ui/uidropdownlist.hpp ../../include/eepp/ui/uieventdispatcher.hpp +../../include/eepp/ui/uifontstyleconfig.hpp ../../include/eepp/ui/uigridlayout.hpp ../../include/eepp/ui/uihelper.hpp ../../include/eepp/ui/uiimage.hpp @@ -352,7 +353,6 @@ ../../include/eepp/ui/uitextinputpassword.hpp ../../include/eepp/ui/uitextureregion.hpp ../../include/eepp/ui/uitextview.hpp -../../include/eepp/ui/uithemeconfig.hpp ../../include/eepp/ui/uitheme.hpp ../../include/eepp/ui/uithememanager.hpp ../../include/eepp/ui/uitooltip.hpp diff --git a/src/eepp/maps/mapeditor/maplayerproperties.cpp b/src/eepp/maps/mapeditor/maplayerproperties.cpp index c60174381..4916f03ed 100644 --- a/src/eepp/maps/mapeditor/maplayerproperties.cpp +++ b/src/eepp/maps/mapeditor/maplayerproperties.cpp @@ -138,7 +138,7 @@ void MapLayerProperties::loadProperties() { } } -void MapLayerProperties::onOKClick( const Event * Event ) { +void MapLayerProperties::onOKClick( const Event * ) { saveProperties(); mLayer->setName( mUIInput->getText().toUtf8() ); @@ -150,15 +150,15 @@ void MapLayerProperties::onOKClick( const Event * Event ) { mUIWindow->closeWindow(); } -void MapLayerProperties::onCancelClick( const Event * Event ) { +void MapLayerProperties::onCancelClick( const Event * ) { mUIWindow->closeWindow(); } -void MapLayerProperties::onWindowClose( const Event * Event ) { +void MapLayerProperties::onWindowClose( const Event * ) { eeDelete( this ); } -void MapLayerProperties::onAddCellClick( const Event * Event ) { +void MapLayerProperties::onAddCellClick( const Event * ) { mGenGrid->add( createCell() ); Uint32 Index = mGenGrid->getItemSelectedIndex(); @@ -168,7 +168,7 @@ void MapLayerProperties::onAddCellClick( const Event * Event ) { } } -void MapLayerProperties::onRemoveCellClick( const Event * Event ) { +void MapLayerProperties::onRemoveCellClick( const Event * ) { Uint32 Index = mGenGrid->getItemSelectedIndex(); if ( eeINDEX_NOT_FOUND != Index ) { diff --git a/src/eepp/maps/mapeditor/tilemapproperties.cpp b/src/eepp/maps/mapeditor/tilemapproperties.cpp index d24a41099..4f8cd8b86 100644 --- a/src/eepp/maps/mapeditor/tilemapproperties.cpp +++ b/src/eepp/maps/mapeditor/tilemapproperties.cpp @@ -139,7 +139,7 @@ TileMapProperties::TileMapProperties( TileMap * Map ) : TileMapProperties::~TileMapProperties() { } -void TileMapProperties::onRedChange( const Event * Event ) { +void TileMapProperties::onRedChange( const Event * ) { Color Col = mUIBaseColor->getBackground()->getColor(); Col.r = (Uint8)mUIRedSlider->getValue(); mUIBaseColor->setBackgroundColor( Col ); @@ -150,7 +150,7 @@ void TileMapProperties::onRedChange( const Event * Event ) { mMap->setBaseColor( MapCol ); } -void TileMapProperties::onGreenChange( const Event * Event ) { +void TileMapProperties::onGreenChange( const Event * ) { Color Col = mUIBaseColor->getBackground()->getColor(); Col.g = (Uint8)mUIGreenSlider->getValue(); mUIBaseColor->setBackgroundColor( Col ); @@ -161,7 +161,7 @@ void TileMapProperties::onGreenChange( const Event * Event ) { mMap->setBaseColor( MapCol ); } -void TileMapProperties::onBlueChange( const Event * Event ) { +void TileMapProperties::onBlueChange( const Event * ) { Color Col = mUIBaseColor->getBackground()->getColor(); Col.b = (Uint8)mUIBlueSlider->getValue(); mUIBaseColor->setBackgroundColor( Col ); @@ -204,21 +204,21 @@ void TileMapProperties::loadProperties() { } } -void TileMapProperties::onOKClick( const Event * Event ) { +void TileMapProperties::onOKClick( const Event * ) { saveProperties(); mUIWindow->closeWindow(); } -void TileMapProperties::onCancelClick( const Event * Event ) { +void TileMapProperties::onCancelClick( const Event * ) { mUIWindow->closeWindow(); } -void TileMapProperties::onWindowClose( const Event * Event ) { +void TileMapProperties::onWindowClose( const Event * ) { eeDelete( this ); } -void TileMapProperties::onAddCellClick( const Event * Event ) { +void TileMapProperties::onAddCellClick( const Event * ) { mGenGrid->add( createCell() ); Uint32 Index = mGenGrid->getItemSelectedIndex(); @@ -228,7 +228,7 @@ void TileMapProperties::onAddCellClick( const Event * Event ) { } } -void TileMapProperties::onRemoveCellClick( const Event * Event ) { +void TileMapProperties::onRemoveCellClick( const Event * ) { Uint32 Index = mGenGrid->getItemSelectedIndex(); if ( eeINDEX_NOT_FOUND != Index ) { diff --git a/src/eepp/maps/mapeditor/uigotypenew.cpp b/src/eepp/maps/mapeditor/uigotypenew.cpp index 2cc138e98..67ea052be 100644 --- a/src/eepp/maps/mapeditor/uigotypenew.cpp +++ b/src/eepp/maps/mapeditor/uigotypenew.cpp @@ -55,7 +55,7 @@ UIGOTypeNew::~UIGOTypeNew() { } -void UIGOTypeNew::onOKClick( const Event * Event ) { +void UIGOTypeNew::onOKClick( const Event * ) { if ( mUIInput->getText().size() ) { if ( mCb ) mCb( mUIInput->getText().toUtf8(), String::hash( mUIInput->getText().toUtf8() ) ); @@ -64,11 +64,11 @@ void UIGOTypeNew::onOKClick( const Event * Event ) { mUIWindow->closeWindow(); } -void UIGOTypeNew::onCancelClick( const Event * Event ) { +void UIGOTypeNew::onCancelClick( const Event * ) { mUIWindow->closeWindow(); } -void UIGOTypeNew::onWindowClose( const Event * Event ) { +void UIGOTypeNew::onWindowClose( const Event * ) { eeDelete( this ); } diff --git a/src/eepp/maps/mapeditor/uimap.cpp b/src/eepp/maps/mapeditor/uimap.cpp index 534ebfec1..88939a5ca 100644 --- a/src/eepp/maps/mapeditor/uimap.cpp +++ b/src/eepp/maps/mapeditor/uimap.cpp @@ -12,7 +12,7 @@ UIMap * UIMap::New( UITheme * Theme, TileMap * Map ) { } UIMap::UIMap( UITheme * Theme, TileMap * Map ) : - UIWindow( SIMPLE_LAYOUT, UIWindowStyleConfig( UI_WIN_NO_BORDER | UI_WIN_FRAME_BUFFER ) ), + UIWindow( SIMPLE_LAYOUT, StyleConfig( UI_WIN_NO_BORDER | UI_WIN_FRAME_BUFFER ) ), mMap( Map ), mCurLayer( NULL ), mEditingMode( 0 ), diff --git a/src/eepp/maps/mapeditor/uimaplayernew.cpp b/src/eepp/maps/mapeditor/uimaplayernew.cpp index ca5a6ebe6..53219a2f0 100644 --- a/src/eepp/maps/mapeditor/uimaplayernew.cpp +++ b/src/eepp/maps/mapeditor/uimaplayernew.cpp @@ -72,7 +72,7 @@ void UIMapLayerNew::onOnKeyUp( const Event * event ) { } } -void UIMapLayerNew::onOKClick( const Event * event ) { +void UIMapLayerNew::onOKClick( const Event * ) { if ( mUILayerName->getText().size() ) { mLayer = mUIMap->Map()->addLayer( mType, LAYER_FLAG_VISIBLE | LAYER_FLAG_LIGHTS_ENABLED, mUILayerName->getText() ); @@ -83,11 +83,11 @@ void UIMapLayerNew::onOKClick( const Event * event ) { mUIWindow->closeWindow(); } -void UIMapLayerNew::onCancelClick( const Event * Event ) { +void UIMapLayerNew::onCancelClick( const Event * ) { mUIWindow->closeWindow(); } -void UIMapLayerNew::onWindowClose( const Event * Event ) { +void UIMapLayerNew::onWindowClose( const Event * ) { eeDelete( this ); } diff --git a/src/eepp/maps/mapeditor/uimapnew.cpp b/src/eepp/maps/mapeditor/uimapnew.cpp index 1bc80c219..4eec01918 100644 --- a/src/eepp/maps/mapeditor/uimapnew.cpp +++ b/src/eepp/maps/mapeditor/uimapnew.cpp @@ -201,28 +201,28 @@ UIMapNew::UIMapNew( UIMap * Map, std::function NewMapCb, bool ResizeMap UIMapNew::~UIMapNew() { } -void UIMapNew::onRedChange( const Event * Event ) { +void UIMapNew::onRedChange( const Event * ) { Color Col = mUIBaseColor->getBackground()->getColor(); Col.r = (Uint8)mUIRedSlider->getValue(); mUIBaseColor->setBackgroundColor( Col ); mUIRedTxt->setText( String::toStr( (Int32)mUIRedSlider->getValue() ) ); } -void UIMapNew::onGreenChange( const Event * Event ) { +void UIMapNew::onGreenChange( const Event * ) { Color Col = mUIBaseColor->getBackground()->getColor(); Col.g = (Uint8)mUIGreenSlider->getValue(); mUIBaseColor->setBackgroundColor( Col ); mUIGreenTxt->setText( String::toStr( (Uint32)mUIGreenSlider->getValue() ) ); } -void UIMapNew::onBlueChange( const Event * Event ) { +void UIMapNew::onBlueChange( const Event * ) { Color Col = mUIBaseColor->getBackground()->getColor(); Col.b = (Uint8)mUIBlueSlider->getValue(); mUIBaseColor->setBackgroundColor( Col ); mUIBlueTxt->setText( String::toStr( (Uint32)mUIBlueSlider->getValue() ) ); } -void UIMapNew::onOKClick( const Event * Event ) { +void UIMapNew::onOKClick( const Event * ) { Int32 w = static_cast( mUIMapWidth->getValue() ); Int32 h = static_cast( mUIMapHeight->getValue() ); Int32 tw = static_cast( mUIMapTWidth->getValue() ); @@ -272,11 +272,11 @@ void UIMapNew::onOKClick( const Event * Event ) { mUIWindow->closeWindow(); } -void UIMapNew::onCancelClick( const Event * Event ) { +void UIMapNew::onCancelClick( const Event * ) { mUIWindow->closeWindow(); } -void UIMapNew::onWindowClose( const Event * Event ) { +void UIMapNew::onWindowClose( const Event * ) { eeDelete( this ); } diff --git a/src/eepp/maps/mapeditor/uimapnew.hpp b/src/eepp/maps/mapeditor/uimapnew.hpp index 6648df823..37539f420 100644 --- a/src/eepp/maps/mapeditor/uimapnew.hpp +++ b/src/eepp/maps/mapeditor/uimapnew.hpp @@ -6,6 +6,7 @@ #include #include #include +#include #include using namespace EE::UI; diff --git a/src/eepp/ui/uidropdownlist.cpp b/src/eepp/ui/uidropdownlist.cpp index 46a05a96d..9276cee74 100644 --- a/src/eepp/ui/uidropdownlist.cpp +++ b/src/eepp/ui/uidropdownlist.cpp @@ -185,11 +185,11 @@ void UIDropDownList::setMaxNumVisibleItems(const Uint32 & maxNumVisibleItems) { mListBox->setSize( mDpSize.getWidth(), mStyleConfig.MaxNumVisibleItems * mDpSize.getHeight() ); } -UIDropDownListStyleConfig UIDropDownList::getStyleConfig() const { +const UIDropDownList::StyleConfig& UIDropDownList::getStyleConfig() const { return mStyleConfig; } -void UIDropDownList::setStyleConfig(const UIDropDownListStyleConfig & styleConfig) { +void UIDropDownList::setStyleConfig( const StyleConfig& styleConfig ) { mStyleConfig = styleConfig; setMaxNumVisibleItems( mStyleConfig.MaxNumVisibleItems ); diff --git a/src/eepp/ui/uilistbox.cpp b/src/eepp/ui/uilistbox.cpp index 5e938245e..a1777a3d5 100644 --- a/src/eepp/ui/uilistbox.cpp +++ b/src/eepp/ui/uilistbox.cpp @@ -196,11 +196,10 @@ Uint32 UIListBox::removeListBoxItem( UIListBoxItem * Item ) { void UIListBox::removeListBoxItems( std::vector ItemsIndex ) { if ( ItemsIndex.size() && eeINDEX_NOT_FOUND != ItemsIndex[0] ) { std::vector ItemsCpy; - bool erase; mTexts.clear(); for ( Uint32 i = 0; i < mItems.size(); i++ ) { - erase = false; + bool erase = false; for ( Uint32 z = 0; z < ItemsIndex.size(); z++ ) { if ( ItemsIndex[z] == i ) { @@ -730,14 +729,6 @@ const Color& UIListBox::getFontColor() const { return mFontStyleConfig.FontColor; } -void UIListBox::setFontOverColor( const Color& Color ) { - mFontStyleConfig.FontOverColor = Color; -} - -const Color& UIListBox::getFontOverColor() const { - return mFontStyleConfig.FontOverColor; -} - void UIListBox::setFontSelectedColor( const Color& Color ) { mFontStyleConfig.FontSelectedColor = Color; } @@ -992,8 +983,6 @@ bool UIListBox::setAttribute( const NodeAttribute& attribute, const Uint32& stat setFontColor( attribute.asColor() ); } else if ( "textshadowcolor" == name ) { mFontStyleConfig.ShadowColor = ( attribute.asColor() ); - } else if ( "textovercolor" == name ) { - setFontOverColor( attribute.asColor() ); } else if ( "textselectedcolor" == name ) { setFontSelectedColor( attribute.asColor() ); } else if ( "textselectionbackcolor" == name ) { diff --git a/src/eepp/ui/uilistboxitem.cpp b/src/eepp/ui/uilistboxitem.cpp index 227c1ac7f..0dbe8ffea 100644 --- a/src/eepp/ui/uilistboxitem.cpp +++ b/src/eepp/ui/uilistboxitem.cpp @@ -8,7 +8,7 @@ UIListBoxItem * UIListBoxItem::New() { } UIListBoxItem::UIListBoxItem() : - UITextView( "listboxitem" ) + UITextView( "listbox::item" ) { setLayoutSizeRules( FIXED, FIXED ); applyDefaultTheme(); diff --git a/src/eepp/ui/uimenu.cpp b/src/eepp/ui/uimenu.cpp index 7c8544a04..a6cbe6f29 100644 --- a/src/eepp/ui/uimenu.cpp +++ b/src/eepp/ui/uimenu.cpp @@ -56,14 +56,10 @@ void UIMenu::onThemeLoaded() { } UIMenuItem * UIMenu::createMenuItem( const String& Text, Drawable * Icon ) { - UIPushButtonStyleConfig styleConfig( mStyleConfig ); - styleConfig.IconMinSize = Sizei( mStyleConfig.MinSpaceForIcons, mStyleConfig.MinSpaceForIcons ); - UIMenuItem * tCtrl = UIMenuItem::New(); tCtrl->setHorizontalAlign( UI_HALIGN_LEFT ); tCtrl->setParent( this ); - //tCtrl->setStyleConfig( styleConfig ); - tCtrl->setIconMinimumSize( styleConfig.IconMinSize ); + tCtrl->setIconMinimumSize( Sizei( mStyleConfig.MinSpaceForIcons, mStyleConfig.MinSpaceForIcons ) ); tCtrl->setIcon( Icon ); tCtrl->setText( Text ); @@ -75,14 +71,10 @@ Uint32 UIMenu::add( const String& Text, Drawable * Icon ) { } UIMenuCheckBox * UIMenu::createMenuCheckBox( const String& Text, const bool &Active ) { - UIPushButtonStyleConfig styleConfig( mStyleConfig ); - styleConfig.IconMinSize = Sizei( mStyleConfig.MinSpaceForIcons, mStyleConfig.MinSpaceForIcons ); - UIMenuCheckBox * tCtrl = UIMenuCheckBox::New(); tCtrl->setHorizontalAlign( UI_HALIGN_LEFT ); tCtrl->setParent( this ); - //tCtrl->setStyleConfig( styleConfig ); - tCtrl->setIconMinimumSize( styleConfig.IconMinSize ); + tCtrl->setIconMinimumSize( Sizei( mStyleConfig.MinSpaceForIcons, mStyleConfig.MinSpaceForIcons ) ); tCtrl->setText( Text ); if ( Active ) @@ -96,14 +88,10 @@ Uint32 UIMenu::addCheckBox( const String& Text, const bool& Active ) { } UIMenuSubMenu * UIMenu::createSubMenu( const String& Text, Drawable * Icon, UIMenu * SubMenu ) { - UIPushButtonStyleConfig styleConfig( mStyleConfig ); - styleConfig.IconMinSize = Sizei( mStyleConfig.MinSpaceForIcons, mStyleConfig.MinSpaceForIcons ); - UIMenuSubMenu * tCtrl = UIMenuSubMenu::New(); tCtrl->setHorizontalAlign( UI_HALIGN_LEFT ); tCtrl->setParent( this ); - //tCtrl->setStyleConfig( styleConfig ); - tCtrl->setIconMinimumSize( styleConfig.IconMinSize ); + tCtrl->setIconMinimumSize( Sizei( mStyleConfig.MinSpaceForIcons, mStyleConfig.MinSpaceForIcons ) ); tCtrl->setIcon( Icon ); tCtrl->setText( Text ); tCtrl->setSubMenu( SubMenu ); @@ -520,7 +508,7 @@ void UIMenu::setMinRightMargin(const Uint32 & minRightMargin) { rePosControls(); } -UITooltipStyleConfig UIMenu::getFontStyleConfig() const { +const UIMenu::StyleConfig& UIMenu::getStyleConfig() const { return mStyleConfig; } diff --git a/src/eepp/ui/uiprogressbar.cpp b/src/eepp/ui/uiprogressbar.cpp index f37e27df8..f328e0fa2 100644 --- a/src/eepp/ui/uiprogressbar.cpp +++ b/src/eepp/ui/uiprogressbar.cpp @@ -238,6 +238,10 @@ bool UIProgressBar::setAttribute( const NodeAttribute& attribute, const Uint32& return true; } +const UIProgressBar::StyleConfig & UIProgressBar::getStyleConfig() const { + return mStyleConfig; +} + void UIProgressBar::onAlphaChange() { UINode::onAlphaChange(); diff --git a/src/eepp/ui/uipushbutton.cpp b/src/eepp/ui/uipushbutton.cpp index 00f2e0b47..2ed9c6efb 100644 --- a/src/eepp/ui/uipushbutton.cpp +++ b/src/eepp/ui/uipushbutton.cpp @@ -212,14 +212,6 @@ UITextView * UIPushButton::getTextBox() const { return mTextBox; } -void UIPushButton::setFont(Font * font) { - mTextBox->setFont( font ); -} - -Font * UIPushButton::getFont() { - return mTextBox->getFont(); -} - void UIPushButton::onAlphaChange() { UIWidget::onAlphaChange(); @@ -266,81 +258,8 @@ void UIPushButton::autoIconHorizontalMargin() { setIconHorizontalMargin( RMargin.Left ); } } -const Color& UIPushButton::getFontColor() const { - return mStyleConfig.FontColor; -} -void UIPushButton::setFontColor( const Color& color ) { - mStyleConfig.FontColor = color; - onStateChange(); -} - -const Color& UIPushButton::getFontOverColor() const { - return mStyleConfig.FontOverColor; -} - -void UIPushButton::setFontOverColor( const Color& color ) { - mStyleConfig.FontOverColor = color; - onStateChange(); -} - -const Color& UIPushButton::getFontShadowColor() const { - return mTextBox->getFontShadowColor(); -} - -void UIPushButton::setFontShadowColor( const Color& color ) { - mTextBox->setFontShadowColor( color ); -} - -Uint32 UIPushButton::getCharacterSize() { - return mTextBox->getCharacterSize(); -} - -void UIPushButton::setCharacterSize(const Uint32 & characterSize) { - mTextBox->setCharacterSize( characterSize ); - onSizeChange(); -} - -const Uint32 &UIPushButton::getFontStyle() const { - return mStyleConfig.Style; -} - -const Float &UIPushButton::getOutlineThickness() const { - return mStyleConfig.OutlineThickness; -} - -UIPushButton * UIPushButton::setOutlineThickness( const Float & outlineThickness ) { - if ( mStyleConfig.OutlineThickness != outlineThickness ) { - mTextBox->setOutlineThickness( outlineThickness ); - mStyleConfig.OutlineThickness = outlineThickness; - } - - return this; -} - -const Color &UIPushButton::getOutlineColor() const { - return mStyleConfig.OutlineColor; -} - -UIPushButton * UIPushButton::setOutlineColor(const Color & outlineColor) { - if ( mStyleConfig.OutlineColor != outlineColor ) { - mTextBox->setOutlineColor( outlineColor ); - mStyleConfig.OutlineColor = outlineColor; - } - - return this; -} - -UIPushButton * UIPushButton::setFontStyle(const Uint32 & fontStyle) { - if ( mStyleConfig.Style != fontStyle ) { - mTextBox->setFontStyle( fontStyle ); - mStyleConfig.Style = fontStyle; - } - - return this; -} - -UIFontStyleConfig UIPushButton::getStyleConfig() const { +const UIPushButton::StyleConfig& UIPushButton::getStyleConfig() const { return mStyleConfig; } @@ -359,7 +278,7 @@ void UIPushButton::setIconMinimumSize( const Sizei & minIconSize ) { } } -void UIPushButton::setStyleConfig(const UIPushButtonStyleConfig & styleConfig) { +void UIPushButton::setStyleConfig(const StyleConfig & styleConfig) { setIconMinimumSize( styleConfig.IconMinSize ); mStyleConfig = styleConfig; onStateChange(); @@ -373,8 +292,6 @@ bool UIPushButton::setAttribute( const NodeAttribute& attribute, const Uint32& s if ( "text" == name ) { if ( NULL != mSceneNode && mSceneNode->isUISceneNode() ) setText( static_cast( mSceneNode )->getTranslatorString( attribute.asString() ) ); - } else if ( "textovercolor" == name ) { - setFontOverColor( attribute.asColor() ); } else if ( "icon" == name ) { std::string val = attribute.asString(); Drawable * icon = NULL; diff --git a/src/eepp/ui/uiscrollview.cpp b/src/eepp/ui/uiscrollview.cpp index 253170c39..307d2c617 100644 --- a/src/eepp/ui/uiscrollview.cpp +++ b/src/eepp/ui/uiscrollview.cpp @@ -204,11 +204,11 @@ void UIScrollView::updateScroll() { ); } -void UIScrollView::onValueChangeCb( const Event * Event ) { +void UIScrollView::onValueChangeCb( const Event * ) { updateScroll(); } -void UIScrollView::onScrollViewSizeChange(const Event * Event) { +void UIScrollView::onScrollViewSizeChange(const Event *) { containerUpdate(); } diff --git a/src/eepp/ui/uiselectbutton.cpp b/src/eepp/ui/uiselectbutton.cpp index 1701bcafa..2ee6049b9 100644 --- a/src/eepp/ui/uiselectbutton.cpp +++ b/src/eepp/ui/uiselectbutton.cpp @@ -8,6 +8,10 @@ UISelectButton * UISelectButton::New() { return eeNew( UISelectButton, () ); } +UISelectButton * UISelectButton::NewWithTag( const std::string& tag ) { + return eeNew( UISelectButton, ( tag ) ); +} + UISelectButton::UISelectButton( const std::string& tag ) : UIPushButton( tag ) {} @@ -64,24 +68,4 @@ void UISelectButton::onStateChange() { mTextBox->setAlpha( mAlpha ); } -void UISelectButton::setFontSelectedColor(const Color & color) { - mStyleConfig.FontSelectedColor = color; -} - -const Color &UISelectButton::getFontSelectedColor() const { - return mStyleConfig.FontSelectedColor; -} - -bool UISelectButton::setAttribute( const NodeAttribute& attribute, const Uint32& state ) { - const std::string& name = attribute.getName(); - - if ( "textselectedcolor" == name ) { - setFontSelectedColor( attribute.asColor() ); - } else { - return UIPushButton::setAttribute( attribute, state ); - } - - return true; -} - }} diff --git a/src/eepp/ui/uitabwidget.cpp b/src/eepp/ui/uitabwidget.cpp index bf0253403..2872059a0 100644 --- a/src/eepp/ui/uitabwidget.cpp +++ b/src/eepp/ui/uitabwidget.cpp @@ -19,12 +19,6 @@ UITabWidget::UITabWidget() : { setHorizontalAlign( UI_HALIGN_CENTER ); - UITheme * Theme = UIThemeManager::instance()->getDefaultTheme(); - - if ( NULL != Theme ) { - mStyleConfig.Font = Theme->getDefaultFont(); - } - mTabContainer = UIWidget::New(); mTabContainer->setPixelsSize( mSize.getWidth(), mStyleConfig.TabWidgetHeight ) ->setParent( this )->setPosition( 0, 0 ); @@ -112,15 +106,11 @@ void UITabWidget::draw() { } } -UITooltipStyleConfig UITabWidget::getFontStyleConfig() const { - return UITooltipStyleConfig( mStyleConfig ); -} - -UITabWidgetStyleConfig UITabWidget::getStyleConfig() const { +const UITabWidget::StyleConfig& UITabWidget::getStyleConfig() const { return mStyleConfig; } -void UITabWidget::setStyleConfig(const UITabWidgetStyleConfig & styleConfig) { +void UITabWidget::setStyleConfig(const StyleConfig & styleConfig) { Uint32 tabWidgetHeight = mStyleConfig.TabWidgetHeight; mStyleConfig = styleConfig; mStyleConfig.TabWidgetHeight = tabWidgetHeight; @@ -321,7 +311,6 @@ UITab * UITabWidget::createTab( const String& Text, UINode * CtrlOwned, Drawable UITab * tCtrl = UITab::New(); tCtrl->setParent( mTabContainer ); tCtrl->setFlags( UI_VALIGN_CENTER | UI_HALIGN_CENTER | UI_AUTO_SIZE ); - tCtrl->setStyleConfig( mStyleConfig ); tCtrl->setIcon( Icon ); tCtrl->setText( Text ); tCtrl->setVisible( true ); diff --git a/src/eepp/ui/uitextedit.cpp b/src/eepp/ui/uitextedit.cpp index 0fdde3867..3384e54d8 100644 --- a/src/eepp/ui/uitextedit.cpp +++ b/src/eepp/ui/uitextedit.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -25,7 +26,7 @@ UITextEdit::UITextEdit() : mTextInput = UITextInput::New(); mTextInput->setLayoutSizeRules( LayoutSizeRules::FIXED, LayoutSizeRules::FIXED ); mTextInput->setParent( this ); - mTextInput->setFlags( UI_TEXT_SELECTION_ENABLED | UI_TEXT_SELECTION_ENABLED | UI_VALIGN_TOP ); + mTextInput->setFlags( UI_TEXT_SELECTION_ENABLED | UI_VALIGN_TOP ); mTextInput->unsetFlags( UI_VALIGN_CENTER | UI_AUTO_SIZE ); mTextInput->clipDisable(); mTextInput->getInputTextBuffer()->isNewLineEnabled( true ); diff --git a/src/eepp/ui/uitextinputpassword.cpp b/src/eepp/ui/uitextinputpassword.cpp index c02b4d9fe..c579cf42d 100644 --- a/src/eepp/ui/uitextinputpassword.cpp +++ b/src/eepp/ui/uitextinputpassword.cpp @@ -13,7 +13,8 @@ UITextInputPassword::UITextInputPassword() : UITextInput() { mPassCache = Text::New(); - setFontStyleConfig( mFontStyleConfig ); + + updateFontStyleConfig(); alignFix(); } @@ -127,13 +128,18 @@ Text *UITextInputPassword::getPassCache() const { return mPassCache; } -void UITextInputPassword::setFontStyleConfig(const UITooltipStyleConfig & fontStyleConfig) { +void UITextInputPassword::updateFontStyleConfig() { mPassCache->setCharacterSize( mFontStyleConfig.CharacterSize ); mPassCache->setFont( mFontStyleConfig.getFont() ); mPassCache->setFillColor( mFontStyleConfig.getFontColor() ); mPassCache->setShadowColor( mFontStyleConfig.getFontShadowColor() ); } +void UITextInputPassword::onStateChange() { + updateFontStyleConfig(); + UITextInput::onStateChange(); +} + const String& UITextInputPassword::getText() { return UITextView::getText(); } diff --git a/src/eepp/ui/uitextview.cpp b/src/eepp/ui/uitextview.cpp index 92142cd16..6c012463d 100644 --- a/src/eepp/ui/uitextview.cpp +++ b/src/eepp/ui/uitextview.cpp @@ -1,11 +1,12 @@ #include #include +#include #include #include +#include +#include #include #include -#include -#include namespace EE { namespace UI { @@ -469,7 +470,7 @@ bool UITextView::isTextSelectionEnabled() const { return 0 != ( mFlags & UI_TEXT_SELECTION_ENABLED ); } -UITooltipStyleConfig UITextView::getFontStyleConfig() const { +const UIFontStyleConfig& UITextView::getFontStyleConfig() const { return mFontStyleConfig; } @@ -542,8 +543,6 @@ bool UITextView::setAttribute( const NodeAttribute& attribute, const Uint32& sta setFontColor( attribute.asColor() ); } else if ( "textshadowcolor" == name ) { setFontShadowColor( attribute.asColor() ); - } else if ( "textovercolor" == name ) { - mFontStyleConfig.FontOverColor = attribute.asColor(); } else if ( "textselectedcolor" == name ) { mFontStyleConfig.FontSelectedColor = attribute.asColor(); } else if ( "textselectionbackcolor" == name ) { diff --git a/src/eepp/ui/uitooltip.cpp b/src/eepp/ui/uitooltip.cpp index 1291ec373..3fbbb56b1 100644 --- a/src/eepp/ui/uitooltip.cpp +++ b/src/eepp/ui/uitooltip.cpp @@ -63,7 +63,7 @@ void UITooltip::setTheme( UITheme * Theme ) { } void UITooltip::autoPadding() { - if ( ( mFlags & UI_AUTO_PADDING ) && mStyleConfig.Padding == Rectf() ) { + if ( ( mFlags & UI_AUTO_PADDING ) && mPadding == Rectf() ) { setPadding( makePadding( true, true, true, true ) ); } } @@ -208,18 +208,6 @@ void UITooltip::onFontChanged() { invalidateDraw(); } -void UITooltip::setPadding( const Rectf& padding ) { - if ( mStyleConfig.Padding != padding ) { - mStyleConfig.Padding = padding; - mRealPadding = PixelDensity::dpToPx( padding ); - invalidateDraw(); - } -} - -const Rectf& UITooltip::getPadding() const { - return mStyleConfig.Padding; -} - Text * UITooltip::getTextCache() { return mTextCache; } @@ -260,7 +248,7 @@ void UITooltip::setTooltipOf(UINode * tooltipOf) { mTooltipOf = tooltipOf; } -UITooltipStyleConfig UITooltip::getStyleConfig() const { +const UIFontStyleConfig& UITooltip::getFontStyleConfig() const { return mStyleConfig; } @@ -326,12 +314,8 @@ UITooltip * UITooltip::setOutlineColor(const Color & outlineColor) { return this; } -void UITooltip::setStyleConfig(const UITooltipStyleConfig & styleConfig) { +void UITooltip::setFontStyleConfig(const UIFontStyleConfig & styleConfig) { mStyleConfig = styleConfig; - - if ( mStyleConfig.Padding != Rectf() ) - setPadding( mStyleConfig.Padding ); - setFont( mStyleConfig.Font ); setFontColor( mStyleConfig.FontColor ); setFontShadowColor( mStyleConfig.ShadowColor ); diff --git a/src/eepp/ui/uitouchdragablewidget.cpp b/src/eepp/ui/uitouchdragablewidget.cpp index 3ffe3f913..6064bc9fd 100644 --- a/src/eepp/ui/uitouchdragablewidget.cpp +++ b/src/eepp/ui/uitouchdragablewidget.cpp @@ -133,7 +133,7 @@ void UITouchDragableWidget::update( const Time& time ) { UIWidget::update( time ); } -void UITouchDragableWidget::onTouchDragValueChange( Vector2f diff ) +void UITouchDragableWidget::onTouchDragValueChange( Vector2f ) {} bool UITouchDragableWidget::isTouchOverAllowedChilds() { diff --git a/src/eepp/ui/uiwindow.cpp b/src/eepp/ui/uiwindow.cpp index 5ef157ec1..cf7b69109 100644 --- a/src/eepp/ui/uiwindow.cpp +++ b/src/eepp/ui/uiwindow.cpp @@ -16,7 +16,7 @@ namespace EE { namespace UI { -UIWindow * UIWindow::NewOpt( UIWindow::WindowBaseContainerType type, const UIWindowStyleConfig& windowStyleConfig ) { +UIWindow * UIWindow::NewOpt( UIWindow::WindowBaseContainerType type, const StyleConfig& windowStyleConfig ) { return eeNew( UIWindow, ( type, windowStyleConfig ) ); } @@ -25,10 +25,10 @@ UIWindow * UIWindow::New() { } UIWindow::UIWindow( UIWindow::WindowBaseContainerType type ) : - UIWindow( type, UIWindowStyleConfig() ) + UIWindow( type, StyleConfig() ) {} -UIWindow::UIWindow( UIWindow::WindowBaseContainerType type, const UIWindowStyleConfig& windowStyleConfig ) : +UIWindow::UIWindow( UIWindow::WindowBaseContainerType type, const StyleConfig& windowStyleConfig ) : UIWidget( "window" ), mFrameBuffer( NULL ), mStyleConfig( windowStyleConfig ), @@ -1310,11 +1310,11 @@ UIWindow * UIWindow::setWinFlags(const Uint32 & winFlags) { return this; } -UIWindowStyleConfig UIWindow::getStyleConfig() const { +const UIWindow::StyleConfig& UIWindow::getStyleConfig() const { return mStyleConfig; } -UIWindow * UIWindow::setStyleConfig(const UIWindowStyleConfig & styleConfig) { +UIWindow * UIWindow::setStyleConfig(const StyleConfig & styleConfig) { mStyleConfig = styleConfig; updateWinFlags(); diff --git a/src/eepp/ui/uiwinmenu.cpp b/src/eepp/ui/uiwinmenu.cpp index cc1c9737c..535f4ce07 100644 --- a/src/eepp/ui/uiwinmenu.cpp +++ b/src/eepp/ui/uiwinmenu.cpp @@ -18,11 +18,6 @@ UIWinMenu::UIWinMenu() : if ( !(mFlags & UI_ANCHOR_RIGHT) ) mFlags |= UI_ANCHOR_RIGHT; - UITheme * theme = UIThemeManager::instance()->getDefaultTheme(); - - if ( NULL != theme ) - mStyleConfig.Font = theme->getDefaultFont(); - onParentChange(); applyDefaultTheme(); @@ -43,9 +38,7 @@ bool UIWinMenu::isType( const Uint32& type ) const { void UIWinMenu::addMenuButton( const String& ButtonText, UIPopUpMenu * Menu ) { eeASSERT( NULL != Menu ); - UISelectButton * Button = UISelectButton::New(); - - Button->setStyleConfig( mStyleConfig ); + UISelectButton * Button = UISelectButton::NewWithTag( "winmenu::button" ); Button->setParent( this ); Button->setText( ButtonText ); Button->setVisible( true ); @@ -130,11 +123,11 @@ void UIWinMenu::setButtonMargin( const Uint32& buttonMargin ) { refreshButtons(); } -UIWinMenuStyleConfig UIWinMenu::getStyleConfig() const { +const UIWinMenu::StyleConfig& UIWinMenu::getStyleConfig() const { return mStyleConfig; } -void UIWinMenu::setStyleConfig(const UIWinMenuStyleConfig & styleConfig) { +void UIWinMenu::setStyleConfig(const StyleConfig & styleConfig) { mStyleConfig = styleConfig; refreshButtons(); } @@ -219,7 +212,6 @@ void UIWinMenu::refreshButtons() { UITextView * tbox = pbut->getTextBox(); pbut->setLayoutSizeRules( FIXED, FIXED ); - pbut->setStyleConfig( mStyleConfig ); pbut->setPixelsSize( tbox->getTextWidth() + PixelDensity::dpToPx( mStyleConfig.ButtonMargin ), getRealSize().getHeight() ); pbut->setPosition( xpos, ycenter ); diff --git a/src/test/eetest.cpp b/src/test/eetest.cpp index 207d93b3e..d0e0d4034 100644 --- a/src/test/eetest.cpp +++ b/src/test/eetest.cpp @@ -362,7 +362,7 @@ void EETest::createBaseUI() { /**/ UIWindow * tWin = UIWindow::New(); tWin->setSize( 530, 405 )->setPosition( 320, 240 ); - UIWindowStyleConfig windowStyleConfig = tWin->getStyleConfig(); + UIWindow::StyleConfig windowStyleConfig = tWin->getStyleConfig(); windowStyleConfig.WinFlags = UI_WIN_DRAGABLE_CONTAINER | UI_WIN_SHADOW | UI_WIN_FRAME_BUFFER; windowStyleConfig.MinWindowSize = Sizef( 530, 405 ); windowStyleConfig.BaseAlpha = 200; @@ -901,7 +901,7 @@ void EETest::createMapEditor() { UIWindow * tWin = UIWindow::New(); tWin->setSizeWithDecoration( 1024, 768 )->setPosition( 0, 0 ); - UIWindowStyleConfig windowStyleConfig = tWin->getStyleConfig(); + UIWindow::StyleConfig windowStyleConfig = tWin->getStyleConfig(); windowStyleConfig.WinFlags = UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON | UI_WIN_DRAGABLE_CONTAINER | UI_WIN_SHADOW | UI_WIN_FRAME_BUFFER; windowStyleConfig.MinWindowSize = Sizef( 1024, 768 ); tWin->setStyleConfig( windowStyleConfig ); @@ -918,7 +918,7 @@ void EETest::onMapEditorClose() { void EETest::createETGEditor() { UIWindow * tWin = UIWindow::New(); tWin->setSizeWithDecoration( 1024, 768 )->setPosition( 0, 0 ); - UIWindowStyleConfig windowStyleConfig = tWin->getStyleConfig(); + UIWindow::StyleConfig windowStyleConfig = tWin->getStyleConfig(); windowStyleConfig.WinFlags = UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON | UI_WIN_DRAGABLE_CONTAINER | UI_WIN_SHADOW | UI_WIN_FRAME_BUFFER; windowStyleConfig.MinWindowSize = Sizef( 1024, 768 ); tWin->setStyleConfig( windowStyleConfig );