mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-05-31 18:46:29 +03:00
Clean up.
--HG-- branch : dev
This commit is contained in:
@@ -8,6 +8,8 @@ namespace EE { namespace UI {
|
||||
|
||||
class EE_API UIComplexControl : public UIControlAnim {
|
||||
public:
|
||||
static UIComplexControl * New();
|
||||
|
||||
class CreateParams : public UIControlAnim::CreateParams {
|
||||
public:
|
||||
inline CreateParams() :
|
||||
|
||||
@@ -22,6 +22,8 @@ class UIManager;
|
||||
|
||||
class EE_API UIControl {
|
||||
public:
|
||||
static UIControl * New();
|
||||
|
||||
typedef cb::Callback1<void, const UIEvent*> UIEventCallback;
|
||||
|
||||
class CreateParams {
|
||||
@@ -150,11 +152,11 @@ class EE_API UIControl {
|
||||
|
||||
Uint32 getHorizontalAlign() const;
|
||||
|
||||
void setHorizontalAlign( Uint32 halign );
|
||||
UIControl * setHorizontalAlign( Uint32 halign );
|
||||
|
||||
Uint32 getVerticalAlign() const;
|
||||
|
||||
void setVerticalAlign( Uint32 valign );
|
||||
UIControl * setVerticalAlign( Uint32 valign );
|
||||
|
||||
UIBackground * setBackgroundFillEnabled( bool enabled );
|
||||
|
||||
@@ -178,7 +180,7 @@ class EE_API UIControl {
|
||||
|
||||
virtual UIControl * unsetFlags( const Uint32& flags );
|
||||
|
||||
UIControl * resetFlags();
|
||||
UIControl * resetFlags( Uint32 newFlags = 0 );
|
||||
|
||||
void setBlendMode( const EE_BLEND_MODE& blend );
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@ namespace EE { namespace UI {
|
||||
|
||||
class EE_API UIControlAnim : public UIDragable {
|
||||
public:
|
||||
static UIControlAnim * New();
|
||||
|
||||
UIControlAnim( const CreateParams& Params );
|
||||
|
||||
UIControlAnim();
|
||||
|
||||
@@ -15,9 +15,9 @@ class EE_API UIDefaultTheme : public UITheme {
|
||||
|
||||
WinMenuStyleConfig getWinMenuStyleConfig();
|
||||
|
||||
virtual UIPopUpMenu * createPopUpMenu(UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS | UI_AUTO_SIZE | UI_AUTO_PADDING, Recti PaddingContainer = Recti(), Uint32 MinWidth = 100, Uint32 MinSpaceForIcons = 16, Uint32 MinRightMargin = 8 );
|
||||
WindowStyleConfig getWindowStyleConfig();
|
||||
|
||||
virtual UIWindow * createWindow( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS_CENTERED, Uint32 WinFlags = UI_WIN_DEFAULT_FLAGS, Sizei MinWindowSize = Sizei(0,0), Uint8 BaseAlpha = 255 );
|
||||
virtual UIPopUpMenu * createPopUpMenu(UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS | UI_AUTO_SIZE | UI_AUTO_PADDING, Recti PaddingContainer = Recti(), Uint32 MinWidth = 100, Uint32 MinSpaceForIcons = 16, Uint32 MinRightMargin = 8 );
|
||||
|
||||
virtual UICommonDialog * createCommonDialog( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS_CENTERED, Uint32 WinFlags = UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON, Sizei MinWindowSize = Sizei(0,0), Uint8 BaseAlpha = 255, Uint32 CDLFlags = UI_CDL_DEFAULT_FLAGS, std::string DefaultFilePattern = "*", std::string DefaultDirectory = Sys::getProcessPath() );
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@ namespace EE { namespace UI {
|
||||
|
||||
class EE_API UIDragable : public UIControl {
|
||||
public:
|
||||
static UIDragable * New();
|
||||
|
||||
UIDragable( const UIControl::CreateParams& Params );
|
||||
|
||||
UIDragable();
|
||||
|
||||
@@ -7,6 +7,8 @@ namespace EE { namespace UI {
|
||||
|
||||
class EE_API UIGfx : public UIComplexControl {
|
||||
public:
|
||||
static UIGfx * New();
|
||||
|
||||
class CreateParams : public UIComplexControl::CreateParams {
|
||||
public:
|
||||
inline CreateParams() :
|
||||
@@ -59,6 +61,8 @@ class EE_API UIGfx : public UIComplexControl {
|
||||
|
||||
virtual void onSizeChange();
|
||||
|
||||
virtual void onAlignChange();
|
||||
|
||||
void autoSize();
|
||||
|
||||
void autoAlign();
|
||||
|
||||
@@ -10,6 +10,8 @@ class UIGenericGrid;
|
||||
|
||||
class EE_API UIGridCell : public UIComplexControl {
|
||||
public:
|
||||
static UIGridCell * New();
|
||||
|
||||
UIGridCell( UIGridCell::CreateParams& Params );
|
||||
|
||||
UIGridCell();
|
||||
|
||||
@@ -8,6 +8,8 @@ namespace EE { namespace UI {
|
||||
|
||||
class EE_API UISpinBox : public UIComplexControl {
|
||||
public:
|
||||
static UISpinBox * New();
|
||||
|
||||
class CreateParams : public UITextInput::CreateParams {
|
||||
public:
|
||||
inline CreateParams() :
|
||||
|
||||
@@ -11,6 +11,8 @@ namespace EE { namespace UI {
|
||||
|
||||
class EE_API UISprite : public UIComplexControl {
|
||||
public:
|
||||
static UISprite * New();
|
||||
|
||||
class CreateParams : public UIComplexControl::CreateParams {
|
||||
public:
|
||||
inline CreateParams() :
|
||||
|
||||
@@ -8,7 +8,9 @@
|
||||
namespace EE { namespace UI {
|
||||
|
||||
class EE_API UITextEdit : public UIComplexControl {
|
||||
public:
|
||||
public:
|
||||
static UITextEdit * New();
|
||||
|
||||
class CreateParams : public UITextBox::CreateParams {
|
||||
public:
|
||||
inline CreateParams() : UITextBox::CreateParams(),
|
||||
|
||||
@@ -8,10 +8,10 @@ namespace EE { namespace UI {
|
||||
class UITextInputPassword : public UITextInput
|
||||
{
|
||||
public:
|
||||
UITextInputPassword( const UITextInput::CreateParams& Params );
|
||||
|
||||
UITextInputPassword();
|
||||
|
||||
~UITextInputPassword();
|
||||
|
||||
virtual void draw();
|
||||
|
||||
virtual const String& getText();
|
||||
|
||||
@@ -83,22 +83,12 @@ class EE_API UITheme : protected ResourceManager<UISkin> {
|
||||
|
||||
SubTexture * getIconByName( const std::string& name );
|
||||
|
||||
virtual UIGfx * createGfx( SubTexture * SubTexture, UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS_CENTERED | UI_AUTO_SIZE, ColorA SubTextureColor = ColorA(255,255,255,255), EE_RENDER_MODE SubTextureRender = RN_NORMAL );
|
||||
|
||||
virtual UISprite * createSprite( Sprite * Sprite, UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS_CENTERED | UI_AUTO_SIZE, bool DealloSprite = true, EE_RENDER_MODE SpriteRender = RN_NORMAL );
|
||||
|
||||
virtual UICheckBox * createCheckBox( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS );
|
||||
|
||||
virtual UIRadioButton * createRadioButton( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS );
|
||||
|
||||
virtual UITextBox * createTextBox( const String& Text = "", UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS | UI_AUTO_SIZE );
|
||||
|
||||
virtual UITextEdit * createTextEdit( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS | UI_AUTO_PADDING | UI_CLIP_ENABLE | UI_AUTO_SIZE | UI_TEXT_SELECTION_ENABLED, UI_SCROLLBAR_MODE HScrollBar = UI_SCROLLBAR_AUTO, UI_SCROLLBAR_MODE VScrollBar = UI_SCROLLBAR_AUTO, bool WordWrap = true );
|
||||
|
||||
virtual UITextInput * createTextInput( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS | UI_CLIP_ENABLE | UI_AUTO_PADDING | UI_TEXT_SELECTION_ENABLED, bool SupportFreeEditing = true, Uint32 MaxLength = 1024*8 );
|
||||
|
||||
virtual UITextInputPassword * createTextInputPassword( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS | UI_CLIP_ENABLE | UI_AUTO_PADDING | UI_TEXT_SELECTION_ENABLED, bool SupportFreeEditing = true, Uint32 MaxLength = 1024*8 );
|
||||
|
||||
virtual UIScrollBar * createScrollBar( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS | UI_AUTO_SIZE, bool VerticalScrollBar = false );
|
||||
|
||||
virtual UISlider * createSlider( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS, bool VerticalSlider = false, bool AllowHalfSliderOut = true, bool ExpandBackground = false );
|
||||
@@ -107,16 +97,12 @@ class EE_API UITheme : protected ResourceManager<UISkin> {
|
||||
|
||||
virtual UIListBox * createListBox( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS | UI_CLIP_ENABLE | UI_AUTO_PADDING, bool SmoothScroll = true, Uint32 RowHeight = 0, UI_SCROLLBAR_MODE VScrollMode = UI_SCROLLBAR_AUTO, UI_SCROLLBAR_MODE HScrollMode = UI_SCROLLBAR_AUTO, Recti PaddingContainer = Recti() );
|
||||
|
||||
virtual UIMenu * createMenu( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS | UI_AUTO_SIZE | UI_AUTO_PADDING, Recti PaddingContainer = Recti(), Uint32 MinWidth = 0, Uint32 MinSpaceForIcons = 0, Uint32 MinRightMargin = 0 );
|
||||
|
||||
virtual UIPopUpMenu * createPopUpMenu(UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS | UI_AUTO_SIZE | UI_AUTO_PADDING, Recti PaddingContainer = Recti(), Uint32 MinWidth = 0, Uint32 MinSpaceForIcons = 0, Uint32 MinRightMargin = 0 );
|
||||
|
||||
virtual UIPushButton * createPushButton( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS_CENTERED | UI_AUTO_SIZE, SubTexture * Icon = NULL, Int32 IconHorizontalMargin = 0, bool IconAutoMargin = true );
|
||||
|
||||
virtual UISelectButton * createSelectButton( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS_CENTERED | UI_AUTO_SIZE, SubTexture * Icon = NULL, Int32 IconHorizontalMargin = 0, bool IconAutoMargin = true );
|
||||
|
||||
virtual UIWindow * createWindow( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS_CENTERED, Uint32 WinFlags = UI_WIN_DEFAULT_FLAGS, Sizei MinWindowSize = Sizei(0,0), Uint8 BaseAlpha = 255 );
|
||||
|
||||
virtual UICommonDialog * createCommonDialog( UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS_CENTERED, Uint32 WinFlags = UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON, Sizei MinWindowSize = Sizei(0,0), Uint8 BaseAlpha = 255, Uint32 CDLFlags = UI_CDL_DEFAULT_FLAGS, std::string DefaultFilePattern = "*", std::string DefaultDirectory = Sys::getProcessPath() );
|
||||
|
||||
virtual UIMessageBox * createMessageBox( UI_MSGBOX_TYPE Type = MSGBOX_OKCANCEL, const String& Message = String(), Uint32 WinFlags = UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL, UIControl * Parent = NULL, const Sizei& Size = Sizei(), const Vector2i& Pos = Vector2i(), const Uint32& Flags = UI_CONTROL_DEFAULT_FLAGS_CENTERED, Sizei MinWindowSize = Sizei(0,0), Uint8 BaseAlpha = 255 );
|
||||
@@ -137,10 +123,6 @@ class EE_API UITheme : protected ResourceManager<UISkin> {
|
||||
|
||||
void setTooltipPadding(const Recti & tooltipPadding);
|
||||
|
||||
Int32 getTabSeparation() const;
|
||||
|
||||
void setTabSeparation(const Int32 & tabSeparation);
|
||||
|
||||
FontStyleConfig getFontStyleConfig() const;
|
||||
|
||||
void setFontStyleConfig(const FontStyleConfig & fontConfig);
|
||||
@@ -152,6 +134,8 @@ class EE_API UITheme : protected ResourceManager<UISkin> {
|
||||
virtual WinMenuStyleConfig getWinMenuStyleConfig();
|
||||
|
||||
virtual DropDownListStyleConfig getDropDownListStyleConfig();
|
||||
|
||||
virtual WindowStyleConfig getWindowStyleConfig();
|
||||
protected:
|
||||
std::string mName;
|
||||
Uint32 mNameHash;
|
||||
@@ -162,7 +146,6 @@ class EE_API UITheme : protected ResourceManager<UISkin> {
|
||||
ColorA mMenuFontColorOver;
|
||||
ColorA mTooltipFontColor;
|
||||
Recti mTooltipPadding;
|
||||
Int32 mTabSeparation;
|
||||
bool mUseDefaultThemeValues;
|
||||
std::list<std::string> mUIElements;
|
||||
std::list<std::string> mUIIcons;
|
||||
|
||||
@@ -149,6 +149,27 @@ class DropDownListStyleConfig : public FontStyleConfig {
|
||||
bool popUpToMainControl = false;
|
||||
};
|
||||
|
||||
class WindowStyleConfig : public FontStyleConfig {
|
||||
public:
|
||||
WindowStyleConfig() {}
|
||||
|
||||
WindowStyleConfig( FontStyleConfig fontStyleConfig ) :
|
||||
FontStyleConfig( fontStyleConfig )
|
||||
{}
|
||||
|
||||
Uint32 winFlags = UI_WIN_DEFAULT_FLAGS;
|
||||
Sizei decorationSize;
|
||||
Sizei borderSize;
|
||||
Sizei minWindowSize;
|
||||
Vector2i buttonsPositionFixer;
|
||||
Uint32 buttonsSeparation = 4;
|
||||
Int32 minCornerDistance = 24;
|
||||
ColorA titleFontColor = ColorA( 255, 255, 255, 255 );
|
||||
Uint8 baseAlpha = 255;
|
||||
bool decorationAutoSize = true;
|
||||
bool borderAutoSize = true;
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -9,33 +9,23 @@ namespace EE { namespace UI {
|
||||
|
||||
class EE_API UIWindow : public UIComplexControl {
|
||||
public:
|
||||
static UIWindow * New();
|
||||
|
||||
class CreateParams : public UIComplexControl::CreateParams {
|
||||
public:
|
||||
inline CreateParams() :
|
||||
UIComplexControl::CreateParams(),
|
||||
WinFlags( UI_WIN_DEFAULT_FLAGS ),
|
||||
ButtonsSeparation( 4 ),
|
||||
MinCornerDistance( 24 ),
|
||||
TitleFontColor( 255, 255, 255, 255 ),
|
||||
BaseAlpha( 255 ),
|
||||
DecorationAutoSize( true ),
|
||||
BorderAutoSize( true )
|
||||
UIComplexControl::CreateParams()
|
||||
{
|
||||
UITheme * theme = UIThemeManager::instance()->getDefaultTheme();
|
||||
|
||||
if ( NULL != theme ) {
|
||||
windowStyleConfig = theme->getWindowStyleConfig();
|
||||
}
|
||||
}
|
||||
|
||||
inline ~CreateParams() {}
|
||||
|
||||
Uint32 WinFlags;
|
||||
Sizei DecorationSize;
|
||||
Sizei BorderSize;
|
||||
Sizei MinWindowSize;
|
||||
Vector2i ButtonsPositionFixer;
|
||||
Uint32 ButtonsSeparation;
|
||||
Int32 MinCornerDistance;
|
||||
ColorA TitleFontColor;
|
||||
Uint8 BaseAlpha;
|
||||
bool DecorationAutoSize;
|
||||
bool BorderAutoSize;
|
||||
WindowStyleConfig windowStyleConfig;
|
||||
};
|
||||
|
||||
UIWindow( const UIWindow::CreateParams& Params );
|
||||
@@ -52,6 +42,10 @@ class EE_API UIWindow : public UIComplexControl {
|
||||
|
||||
UIControl * setSize( const Int32& Width, const Int32& Height );
|
||||
|
||||
UIWindow * setSizeWithDecoration( const Int32& Width, const Int32& Height );
|
||||
|
||||
UIWindow * setSizeWithDecoration( const Sizei& size );
|
||||
|
||||
const Sizei& getSize();
|
||||
|
||||
virtual void setTheme( UITheme * Theme );
|
||||
@@ -103,6 +97,16 @@ class EE_API UIWindow : public UIComplexControl {
|
||||
Uint32 getWinFlags() const;
|
||||
|
||||
UIWindow * setWinFlags(const Uint32 & winFlags);
|
||||
|
||||
WindowStyleConfig getStyleConfig() const;
|
||||
|
||||
UIWindow * setStyleConfig(const WindowStyleConfig & styleConfig);
|
||||
|
||||
UIWindow * setMinWindowSize( Sizei size );
|
||||
|
||||
UIWindow * setMinWindowSize( const Int32& width, const Int32& height );
|
||||
|
||||
const Sizei& getMinWindowSize();
|
||||
protected:
|
||||
class KeyboardShortcut {
|
||||
public:
|
||||
@@ -137,8 +141,7 @@ class EE_API UIWindow : public UIComplexControl {
|
||||
RESIZE_TOPRIGHT
|
||||
};
|
||||
|
||||
Uint32 mWinFlags;
|
||||
|
||||
WindowStyleConfig mStyleConfig;
|
||||
UIControlAnim * mWindowDecoration;
|
||||
UIControlAnim * mBorderLeft;
|
||||
UIControlAnim * mBorderRight;
|
||||
@@ -148,31 +151,16 @@ class EE_API UIWindow : public UIComplexControl {
|
||||
UIComplexControl * mButtonClose;
|
||||
UIComplexControl * mButtonMinimize;
|
||||
UIComplexControl * mButtonMaximize;
|
||||
UITextBox * mTitle;
|
||||
UITextBox * mTitle;
|
||||
|
||||
UIControlAnim * mModalCtrl;
|
||||
UIComplexControl * mModalCtrl;
|
||||
|
||||
Sizei mDecoSize;
|
||||
Sizei mBorderSize;
|
||||
Sizei mMinWindowSize;
|
||||
Vector2i mNonMaxPos;
|
||||
Sizei mNonMaxSize;
|
||||
Vector2i mButtonsPositionFixer;
|
||||
Uint32 mButtonsSeparation;
|
||||
Int32 mMinCornerDistance;
|
||||
|
||||
UI_RESIZE_TYPE mResizeType;
|
||||
Vector2i mResizePos;
|
||||
|
||||
ColorA mTitleFontColor;
|
||||
|
||||
KeyboardShortcuts mKbShortcuts;
|
||||
|
||||
Uint8 mBaseAlpha;
|
||||
|
||||
bool mDecoAutoSize;
|
||||
bool mBorderAutoSize;
|
||||
|
||||
virtual void onSizeChange();
|
||||
|
||||
virtual void onAlphaChange();
|
||||
@@ -203,7 +191,7 @@ class EE_API UIWindow : public UIComplexControl {
|
||||
|
||||
void internalSize( const Int32& w, const Int32& h );
|
||||
|
||||
void getMinWinSize();
|
||||
void calcMinWinSize();
|
||||
|
||||
void fixTitleSize();
|
||||
|
||||
|
||||
@@ -328,9 +328,12 @@ void MapEditor::CreateSubTextureContainer( Int32 Width ) {
|
||||
mSubTextureList->setSize( mSubTextureList->getSize().getWidth(), mSubTextureList->getRowHeight() * 9 + mSubTextureList->getContainerPadding().Top + mSubTextureList->getContainerPadding().Bottom );
|
||||
mSubTextureList->addEventListener( UIEvent::EventOnItemSelected, cb::Make1( this, &MapEditor::OnSubTextureChange ) );
|
||||
|
||||
mGfxPreview = mTheme->createGfx( NULL, mSGCont, Sizei( Width, Width ), Vector2i( 0, mSubTextureList->getPosition().y + mSubTextureList->getSize().getHeight() + 4 ), UI_VALIGN_CENTER | UI_HALIGN_CENTER | UI_ANCHOR_RIGHT | UI_ANCHOR_TOP | UI_AUTO_FIT );
|
||||
mGfxPreview->setBorderEnabled( true );
|
||||
mGfxPreview->getBorder()->setColor( ColorA( 0, 0, 0, 200 ) );
|
||||
mGfxPreview = UIGfx::New();
|
||||
mGfxPreview->resetFlags( UI_VALIGN_CENTER | UI_HALIGN_CENTER | UI_ANCHOR_RIGHT | UI_ANCHOR_TOP | UI_AUTO_FIT )
|
||||
->setParent( mSGCont )->setSize( Width, Width )
|
||||
->setPosition( 0, mSubTextureList->getPosition().y + mSubTextureList->getSize().getHeight() + 4 );
|
||||
|
||||
mGfxPreview->setBorderEnabled( true )->setColor( ColorA( 0, 0, 0, 200 ) );
|
||||
|
||||
UIComplexControl::CreateParams DIParams;
|
||||
DIParams.setParent( mSubTextureCont );
|
||||
@@ -1014,7 +1017,11 @@ void MapEditor::MapMenuClick( const UIEvent * Event ) {
|
||||
const String& txt = reinterpret_cast<UIMenuItem*> ( Event->getControl() )->getText();
|
||||
|
||||
if ( "New Texture Atlas..." == txt ) {
|
||||
UIWindow * tWin = mTheme->createWindow( NULL, Sizei( 1024, 768 ), Vector2i(), UI_CONTROL_DEFAULT_FLAGS_CENTERED, UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON | UI_WIN_DRAGABLE_CONTAINER, Sizei( 1024, 768 ) );
|
||||
UIWindow * tWin = UIWindow::New();
|
||||
tWin->setSizeWithDecoration( 1024, 768 );
|
||||
tWin->setWinFlags( UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON | UI_WIN_DRAGABLE_CONTAINER );
|
||||
tWin->setMinWindowSize( 1024, 768 );
|
||||
|
||||
eeNew ( Tools::TextureAtlasEditor, ( tWin ) );
|
||||
tWin->center();
|
||||
tWin->show();
|
||||
|
||||
@@ -20,7 +20,9 @@ MapLayerProperties::MapLayerProperties( MapLayer * Map, RefreshLayerListCb Cb )
|
||||
if ( NULL == mUITheme )
|
||||
return;
|
||||
|
||||
mUIWindow = mUITheme->createWindow( NULL, Sizei( 500, 500 ), Vector2i(), UI_CONTROL_DEFAULT_FLAGS_CENTERED, UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL, Sizei( 500, 500 ) );
|
||||
mUIWindow = UIWindow::New();
|
||||
mUIWindow->setSizeWithDecoration( 500, 500 )->setWinFlags( UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL )->setMinWindowSize( 500, 500 );
|
||||
|
||||
mUIWindow->addEventListener( UIEvent::EventOnWindowClose, cb::Make1( this, &MapLayerProperties::onWindowClose ) );
|
||||
mUIWindow->setTitle( "Layer Properties" );
|
||||
|
||||
|
||||
@@ -19,7 +19,9 @@ MapObjectProperties::MapObjectProperties( GameObjectObject * Obj ) :
|
||||
if ( NULL == mUITheme )
|
||||
return;
|
||||
|
||||
mUIWindow = mUITheme->createWindow( NULL, Sizei( 500, 500 ), Vector2i(), UI_CONTROL_DEFAULT_FLAGS_CENTERED, UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL, Sizei( 500, 500 ) );
|
||||
mUIWindow = UIWindow::New();
|
||||
mUIWindow->setSizeWithDecoration( 500, 500 )->setWinFlags( UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL )->setMinWindowSize( 500, 500 );
|
||||
|
||||
mUIWindow->addEventListener( UIEvent::EventOnWindowClose, cb::Make1( this, &MapObjectProperties::onWindowClose ) );
|
||||
mUIWindow->setTitle( "Object Properties" );
|
||||
|
||||
|
||||
@@ -18,7 +18,9 @@ TileMapProperties::TileMapProperties( TileMap * Map ) :
|
||||
if ( NULL == mUITheme )
|
||||
return;
|
||||
|
||||
mUIWindow = mUITheme->createWindow( NULL, Sizei( 500, 500 ), Vector2i(), UI_CONTROL_DEFAULT_FLAGS_CENTERED, UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL, Sizei( 500, 500 ) );
|
||||
mUIWindow = UIWindow::New();
|
||||
mUIWindow->setSizeWithDecoration( 500, 500 )->setWinFlags( UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL )->setMinWindowSize( 500, 500 );
|
||||
|
||||
mUIWindow->addEventListener( UIEvent::EventOnWindowClose, cb::Make1( this, &TileMapProperties::onWindowClose ) );
|
||||
mUIWindow->setTitle( "Map Properties" );
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ UIGOTypeNew::UIGOTypeNew( cb::Callback2<void, std::string, Uint32> Cb ) :
|
||||
if ( NULL == mUITheme )
|
||||
return;
|
||||
|
||||
mUIWindow = mUITheme->createWindow( NULL, Sizei( 278, 114 ), Vector2i(), UI_CONTROL_DEFAULT_FLAGS_CENTERED, UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL, Sizei( 278, 114 ) );
|
||||
mUIWindow = UIWindow::New();
|
||||
mUIWindow->setSizeWithDecoration( 278, 114 )->setWinFlags( UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL )->setMinWindowSize( 278, 114 );
|
||||
|
||||
mUIWindow->addEventListener( UIEvent::EventOnWindowClose, cb::Make1( this, &UIGOTypeNew::onWindowClose ) );
|
||||
mUIWindow->setTitle( "Add GameObject Type" );
|
||||
|
||||
|
||||
@@ -16,7 +16,9 @@ UIMapLayerNew::UIMapLayerNew( UIMap * Map, EE_LAYER_TYPE Type, NewLayerCb newLay
|
||||
if ( NULL == mTheme )
|
||||
return;
|
||||
|
||||
mUIWindow = mTheme->createWindow( NULL, Sizei( 278, 114 ), Vector2i(), UI_CONTROL_DEFAULT_FLAGS_CENTERED, UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL, Sizei( 278, 114 ) );
|
||||
mUIWindow = UIWindow::New();
|
||||
mUIWindow->setSizeWithDecoration( 278, 114 )->setWinFlags( UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL )->setMinWindowSize( 278, 114 );
|
||||
|
||||
mUIWindow->addEventListener( UIEvent::EventOnWindowClose, cb::Make1( this, &UIMapLayerNew::onWindowClose ) );
|
||||
|
||||
if ( MAP_LAYER_TILED == mType )
|
||||
|
||||
@@ -17,7 +17,11 @@ UIMapNew::UIMapNew( UIMap * Map, cb::Callback0<void> NewMapCb, bool ResizeMap )
|
||||
if ( NULL == mTheme )
|
||||
return;
|
||||
|
||||
mUIWindow = mTheme->createWindow( NULL, Sizei( 320, 380 ), Vector2i(), UI_CONTROL_DEFAULT_FLAGS_CENTERED, UI_WIN_CLOSE_BUTTON | UI_WIN_USE_DEFAULT_BUTTONS_ACTIONS | UI_WIN_SHARE_ALPHA_WITH_CHILDS | UI_WIN_MODAL, Sizei( 320, 380 ) );
|
||||
mUIWindow = UIWindow::New();
|
||||
mUIWindow->setSizeWithDecoration( 320, 380 )
|
||||
->setWinFlags( UI_WIN_CLOSE_BUTTON | UI_WIN_USE_DEFAULT_BUTTONS_ACTIONS | UI_WIN_SHARE_ALPHA_WITH_CHILDS | UI_WIN_MODAL )
|
||||
->setMinWindowSize( 320, 380 );
|
||||
|
||||
mUIWindow->addEventListener( UIEvent::EventOnWindowClose, cb::Make1( this, &UIMapNew::onWindowClose ) );
|
||||
|
||||
if ( !mResizeMap ) {
|
||||
|
||||
@@ -48,11 +48,12 @@ TextureAtlasEditor::TextureAtlasEditor( UIWindow * AttatchTo, const TGEditorClos
|
||||
|
||||
InitY +=30;
|
||||
|
||||
mSpinOffX = eeNew( UISpinBox, () );
|
||||
mSpinOffX = UISpinBox::New();
|
||||
mSpinOffX->setParent( mUIContainer )->setSize( 100, 0 )->setVisible( true )->setEnabled( true );
|
||||
mSpinOffX->setMinValue( -32000 );
|
||||
mSpinOffX->setMaxValue( 32000 );
|
||||
mSpinOffX->setPosition( mUIContainer->getSize().getWidth() - mSpinOffX->getSize().getWidth() - 10, InitY );
|
||||
mSpinOffX->setAnchors( UI_ANCHOR_TOP | UI_ANCHOR_RIGHT );
|
||||
mSpinOffX->addEventListener( UIEvent::EventOnValueChange, cb::Make1( this, &TextureAtlasEditor::onOffXChange ) );
|
||||
|
||||
TxtBox = createTextBox( Vector2i(), "Offset X:" );
|
||||
@@ -60,31 +61,34 @@ TextureAtlasEditor::TextureAtlasEditor( UIWindow * AttatchTo, const TGEditorClos
|
||||
|
||||
InitY +=30;
|
||||
|
||||
mSpinOffY = eeNew( UISpinBox, () );
|
||||
mSpinOffY = UISpinBox::New();
|
||||
mSpinOffY->setParent( mUIContainer )->setSize( 100, 0 )->setVisible( true )->setEnabled( true );
|
||||
mSpinOffY->setMinValue( -32000 );
|
||||
mSpinOffY->setMaxValue( 32000 );
|
||||
mSpinOffY->setPosition( mUIContainer->getSize().getWidth() - mSpinOffY->getSize().getWidth() - 10, InitY );
|
||||
mSpinOffY->setAnchors( UI_ANCHOR_TOP | UI_ANCHOR_RIGHT );
|
||||
mSpinOffY->addEventListener( UIEvent::EventOnValueChange, cb::Make1( this, &TextureAtlasEditor::onOffYChange ) );
|
||||
TxtBox = createTextBox( Vector2i(), "Offset Y:" );
|
||||
TxtBox->setPosition( mSpinOffY->getPosition().x - 10 - TxtBox->getSize().getWidth(), InitY );
|
||||
|
||||
InitY +=30;
|
||||
|
||||
mSpinDestW = eeNew( UISpinBox, () );
|
||||
mSpinDestW = UISpinBox::New();
|
||||
mSpinDestW->setParent( mUIContainer )->setSize( 100, 0 )->setVisible( true )->setEnabled( true );
|
||||
mSpinDestW->setMaxValue( 32000 );
|
||||
mSpinDestW->setPosition( mUIContainer->getSize().getWidth() - mSpinDestW->getSize().getWidth() - 10, InitY );
|
||||
mSpinDestW->setAnchors( UI_ANCHOR_TOP | UI_ANCHOR_RIGHT );
|
||||
mSpinDestW->addEventListener( UIEvent::EventOnValueChange, cb::Make1( this, &TextureAtlasEditor::onDestWChange ) );
|
||||
TxtBox = createTextBox( Vector2i(), "Dest. Width:" );
|
||||
TxtBox->setPosition( mSpinDestW->getPosition().x - 10 - TxtBox->getSize().getWidth(), InitY );
|
||||
|
||||
InitY +=30;
|
||||
|
||||
mSpinDestH = eeNew( UISpinBox, () );
|
||||
mSpinDestH = UISpinBox::New();
|
||||
mSpinDestH->setParent( mUIContainer )->setSize( 100, 0 )->setVisible( true )->setEnabled( true );
|
||||
mSpinDestH->setMaxValue( 32000 );
|
||||
mSpinDestH->setPosition( mUIContainer->getSize().getWidth() - mSpinDestH->getSize().getWidth() - 10, InitY );
|
||||
mSpinDestH->setAnchors( UI_ANCHOR_TOP | UI_ANCHOR_RIGHT );
|
||||
mSpinDestH->addEventListener( UIEvent::EventOnValueChange, cb::Make1( this, &TextureAtlasEditor::onDestHChange ) );
|
||||
TxtBox = createTextBox( Vector2i(), "Dest. Height:" );
|
||||
TxtBox->setPosition( mSpinDestH->getPosition().x - 10 - TxtBox->getSize().getWidth(), InitY );
|
||||
|
||||
@@ -16,7 +16,9 @@ TextureAtlasNew::TextureAtlasNew( TGCreateCb NewTGCb ) :
|
||||
if ( NULL == mTheme )
|
||||
return;
|
||||
|
||||
mUIWindow = mTheme->createWindow( NULL, Sizei( 378, 244 ), Vector2i(), UI_CONTROL_DEFAULT_FLAGS_CENTERED, UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL );
|
||||
mUIWindow = UIWindow::New();
|
||||
mUIWindow->setSizeWithDecoration( 378, 244 )->setWinFlags( UI_WIN_DEFAULT_FLAGS | UI_WIN_MODAL )->setMinWindowSize( 378, 244 );
|
||||
|
||||
mUIWindow->addEventListener( UIEvent::EventOnWindowClose, cb::Make1( this, &TextureAtlasNew::windowClose ) );
|
||||
mUIWindow->setTitle( "New Texture Atlas" );
|
||||
|
||||
@@ -67,7 +69,7 @@ TextureAtlasNew::TextureAtlasNew( TGCreateCb NewTGCb ) :
|
||||
mComboHeight->getListBox()->setSelected( "512" );
|
||||
|
||||
createTxtBox( Vector2i( 10, 110 ), "Space between sub textures (pixels):" );
|
||||
mPixelSpace = eeNew( UISpinBox, () );
|
||||
mPixelSpace = UISpinBox::New();
|
||||
mPixelSpace->setParent( mUIWindow->getContainer() )->setSize( 100, 0 )->setPosition( PosX, 110 )->setVisible( true )->setEnabled( true );
|
||||
|
||||
createTxtBox( Vector2i( 10, 140 ), "Texture Atlas Folder Path:" );
|
||||
|
||||
@@ -25,11 +25,11 @@ UICommonDialog::UICommonDialog( const UICommonDialog::CreateParams& Params ) :
|
||||
mRealSize.y = PixelDensity::dpToPxI( CDLG_MIN_HEIGHT );
|
||||
}
|
||||
|
||||
if ( mMinWindowSize.getWidth() < CDLG_MIN_WIDTH )
|
||||
mMinWindowSize.setWidth( CDLG_MIN_WIDTH );
|
||||
if ( mStyleConfig.minWindowSize.getWidth() < CDLG_MIN_WIDTH )
|
||||
mStyleConfig.minWindowSize.setWidth( CDLG_MIN_WIDTH );
|
||||
|
||||
if ( mMinWindowSize.getHeight() < CDLG_MIN_HEIGHT )
|
||||
mMinWindowSize.setHeight( CDLG_MIN_HEIGHT );
|
||||
if ( mStyleConfig.minWindowSize.getHeight() < CDLG_MIN_HEIGHT )
|
||||
mStyleConfig.minWindowSize.setHeight( CDLG_MIN_HEIGHT );
|
||||
|
||||
mContainer->setSize( mSize );
|
||||
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
|
||||
namespace EE { namespace UI {
|
||||
|
||||
UIComplexControl * UIComplexControl::New() {
|
||||
return eeNew( UIComplexControl, () );
|
||||
}
|
||||
|
||||
UIComplexControl::UIComplexControl( const UIComplexControl::CreateParams& Params ) :
|
||||
UIControlAnim( Params ),
|
||||
mTooltip( NULL ),
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
|
||||
namespace EE { namespace UI {
|
||||
|
||||
UIControl *UIControl::New() {
|
||||
return eeNew( UIControl, () );
|
||||
}
|
||||
|
||||
UIControl::UIControl( const CreateParams& Params ) :
|
||||
mPos( Params.Pos ),
|
||||
mRealPos( Params.Pos.x * PixelDensity::getPixelDensity(), Params.Pos.y * PixelDensity::getPixelDensity() ),
|
||||
@@ -562,22 +566,24 @@ Uint32 UIControl::getHorizontalAlign() const {
|
||||
return mFlags & UI_HALIGN_MASK;
|
||||
}
|
||||
|
||||
void UIControl::setHorizontalAlign( Uint32 halign ) {
|
||||
UIControl * UIControl::setHorizontalAlign( Uint32 halign ) {
|
||||
mFlags &= ~UI_HALIGN_MASK;
|
||||
mFlags |= halign & UI_HALIGN_MASK;
|
||||
|
||||
onAlignChange();
|
||||
return this;
|
||||
}
|
||||
|
||||
Uint32 UIControl::getVerticalAlign() const {
|
||||
return mFlags & UI_VALIGN_MASK;
|
||||
}
|
||||
|
||||
void UIControl::setVerticalAlign( Uint32 valign ) {
|
||||
UIControl * UIControl::setVerticalAlign( Uint32 valign ) {
|
||||
mFlags &= ~UI_VALIGN_MASK;
|
||||
mFlags |= valign & UI_VALIGN_MASK;
|
||||
|
||||
onAlignChange();
|
||||
return this;
|
||||
}
|
||||
|
||||
UIBackground * UIControl::setBackgroundFillEnabled( bool enabled ) {
|
||||
@@ -658,8 +664,8 @@ UIControl * UIControl::unsetFlags(const Uint32 & flags) {
|
||||
return this;
|
||||
}
|
||||
|
||||
UIControl *UIControl::resetFlags() {
|
||||
mFlags = 0;
|
||||
UIControl *UIControl::resetFlags( Uint32 newFlags ) {
|
||||
mFlags = newFlags;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,10 @@
|
||||
|
||||
namespace EE { namespace UI {
|
||||
|
||||
UIControlAnim *UIControlAnim::New() {
|
||||
return eeNew( UIControlAnim, () );
|
||||
}
|
||||
|
||||
UIControlAnim::UIControlAnim( const CreateParams& Params ) :
|
||||
UIDragable( Params ),
|
||||
mAngle(0.f),
|
||||
|
||||
@@ -21,7 +21,6 @@ UIDefaultTheme::UIDefaultTheme( const std::string& name, const std::string& Abbr
|
||||
setMenuFontColorOver( ColorA( 255, 255, 255, 255 ) );
|
||||
setTooltipFontColor( ColorA( 0, 0, 0, 255 ) );
|
||||
setTooltipPadding( Recti( 4, 6, 4, 6) );
|
||||
setTabSeparation( -1 );
|
||||
}
|
||||
|
||||
TabWidgetStyleConfig UIDefaultTheme::getTabWidgetStyleConfig() {
|
||||
@@ -49,6 +48,14 @@ WinMenuStyleConfig UIDefaultTheme::getWinMenuStyleConfig() {
|
||||
return winMenuStyleConfig;
|
||||
}
|
||||
|
||||
WindowStyleConfig UIDefaultTheme::getWindowStyleConfig() {
|
||||
WindowStyleConfig windowStyleConfig = UITheme::getWindowStyleConfig();
|
||||
windowStyleConfig.winFlags |= UI_WIN_DRAW_SHADOW;
|
||||
windowStyleConfig.buttonsPositionFixer.x = -2;
|
||||
windowStyleConfig.titleFontColor = ColorA( 230, 230, 230, 255 );
|
||||
return windowStyleConfig;
|
||||
}
|
||||
|
||||
UIPopUpMenu * UIDefaultTheme::createPopUpMenu( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, Recti PaddingContainer, Uint32 MinWidth, Uint32 MinSpaceForIcons, Uint32 MinRightMargin ) {
|
||||
UIPopUpMenu::CreateParams MenuParams;
|
||||
MenuParams.setParent( Parent );
|
||||
@@ -70,44 +77,24 @@ UIPopUpMenu * UIDefaultTheme::createPopUpMenu( UIControl * Parent, const Sizei&
|
||||
return eeNew( UIPopUpMenu, ( MenuParams ) );
|
||||
}
|
||||
|
||||
UIWindow * UIDefaultTheme::createWindow( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, Uint32 WinFlags, Sizei MinWindowSize, Uint8 BaseAlpha ) {
|
||||
UIWindow::CreateParams WinParams;
|
||||
WinParams.setParent( Parent );
|
||||
WinParams.setPosition( Pos );
|
||||
WinParams.setSize( Size );
|
||||
WinParams.Flags = Flags;
|
||||
WinParams.WinFlags = WinFlags;
|
||||
WinParams.MinWindowSize = MinWindowSize;
|
||||
WinParams.BaseAlpha = BaseAlpha;
|
||||
|
||||
if ( getUseDefaultThemeValues() ) {
|
||||
WinParams.Flags |= UI_DRAW_SHADOW;
|
||||
WinParams.WinFlags |= UI_WIN_DRAW_SHADOW;
|
||||
WinParams.ButtonsPositionFixer.x = -2;
|
||||
WinParams.TitleFontColor = ColorA( 230, 230, 230, 255 );
|
||||
}
|
||||
|
||||
return eeNew( UIWindow, ( WinParams ) );
|
||||
}
|
||||
|
||||
UICommonDialog * UIDefaultTheme::createCommonDialog( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, Uint32 WinFlags, Sizei MinWindowSize, Uint8 BaseAlpha, Uint32 CDLFlags, std::string DefaultFilePattern, std::string DefaultDirectory ) {
|
||||
UICommonDialog::CreateParams DLGParams;
|
||||
DLGParams.setParent( Parent );
|
||||
DLGParams.setPosition( Pos );
|
||||
DLGParams.setSize( Size );
|
||||
DLGParams.Flags = Flags;
|
||||
DLGParams.WinFlags = WinFlags;
|
||||
DLGParams.MinWindowSize = MinWindowSize;
|
||||
DLGParams.BaseAlpha = BaseAlpha;
|
||||
DLGParams.windowStyleConfig.winFlags = WinFlags;
|
||||
DLGParams.windowStyleConfig.minWindowSize = MinWindowSize;
|
||||
DLGParams.windowStyleConfig.baseAlpha = BaseAlpha;
|
||||
DLGParams.DefaultDirectory = DefaultDirectory;
|
||||
DLGParams.DefaultFilePattern = DefaultFilePattern;
|
||||
DLGParams.CDLFlags = CDLFlags;
|
||||
|
||||
if ( getUseDefaultThemeValues() ) {
|
||||
DLGParams.Flags |= UI_DRAW_SHADOW;
|
||||
DLGParams.WinFlags |= UI_WIN_DRAW_SHADOW;
|
||||
DLGParams.ButtonsPositionFixer.x = -2;
|
||||
DLGParams.TitleFontColor = ColorA( 230, 230, 230, 255 );
|
||||
DLGParams.windowStyleConfig.winFlags |= UI_WIN_DRAW_SHADOW;
|
||||
DLGParams.windowStyleConfig.buttonsPositionFixer.x = -2;
|
||||
DLGParams.windowStyleConfig.titleFontColor = ColorA( 230, 230, 230, 255 );
|
||||
}
|
||||
|
||||
return eeNew( UICommonDialog, ( DLGParams ) );
|
||||
@@ -119,17 +106,17 @@ UIMessageBox * UIDefaultTheme::createMessageBox( UI_MSGBOX_TYPE Type, const Stri
|
||||
MsgBoxParams.setPosition( Pos );
|
||||
MsgBoxParams.setSize( Size );
|
||||
MsgBoxParams.Flags = Flags;
|
||||
MsgBoxParams.WinFlags = WinFlags;
|
||||
MsgBoxParams.MinWindowSize = MinWindowSize;
|
||||
MsgBoxParams.BaseAlpha = BaseAlpha;
|
||||
MsgBoxParams.windowStyleConfig.winFlags = WinFlags;
|
||||
MsgBoxParams.windowStyleConfig.minWindowSize = MinWindowSize;
|
||||
MsgBoxParams.windowStyleConfig.baseAlpha = BaseAlpha;
|
||||
MsgBoxParams.Type = Type;
|
||||
MsgBoxParams.Message = Message;
|
||||
|
||||
if ( getUseDefaultThemeValues() ) {
|
||||
MsgBoxParams.Flags |= UI_DRAW_SHADOW;
|
||||
MsgBoxParams.WinFlags |= UI_WIN_DRAW_SHADOW;
|
||||
MsgBoxParams.ButtonsPositionFixer.x = -2;
|
||||
MsgBoxParams.TitleFontColor = ColorA( 230, 230, 230, 255 );
|
||||
MsgBoxParams.windowStyleConfig.winFlags |= UI_WIN_DRAW_SHADOW;
|
||||
MsgBoxParams.windowStyleConfig.buttonsPositionFixer.x = -2;
|
||||
MsgBoxParams.windowStyleConfig.titleFontColor = ColorA( 230, 230, 230, 255 );
|
||||
}
|
||||
|
||||
return eeNew( UIMessageBox, ( MsgBoxParams ) );
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
|
||||
namespace EE { namespace UI {
|
||||
|
||||
UIDragable * UIDragable::New() {
|
||||
return eeNew( UIDragable, () );
|
||||
}
|
||||
|
||||
UIDragable::UIDragable( const UIControl::CreateParams& Params ) :
|
||||
UIControl( Params ),
|
||||
mDragButton( EE_BUTTON_LMASK )
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
|
||||
namespace EE { namespace UI {
|
||||
|
||||
UIGfx *UIGfx::New() {
|
||||
return eeNew( UIGfx, () );
|
||||
}
|
||||
|
||||
UIGfx::UIGfx( const UIGfx::CreateParams& Params ) :
|
||||
UIComplexControl( Params ),
|
||||
mSubTexture( Params.SubTexture ),
|
||||
@@ -181,6 +185,11 @@ void UIGfx::onSizeChange() {
|
||||
UIControlAnim::onSizeChange();
|
||||
}
|
||||
|
||||
void UIGfx::onAlignChange() {
|
||||
autoSize();
|
||||
autoAlign();
|
||||
}
|
||||
|
||||
const Vector2i& UIGfx::getAlignOffset() const {
|
||||
return mAlignOffset;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
|
||||
namespace EE { namespace UI {
|
||||
|
||||
UIGridCell *UIGridCell::New() {
|
||||
return eeNew( UIGridCell, () );
|
||||
}
|
||||
|
||||
UIGridCell::UIGridCell( UIGridCell::CreateParams& Params ) :
|
||||
UIComplexControl( Params )
|
||||
{
|
||||
|
||||
@@ -53,10 +53,10 @@ void UIManager::init( Uint32 Flags, EE::Window::Window * window ) {
|
||||
Params.setPosition( 0, 0 );
|
||||
Params.setSize( (Float)Engine::instance()->getWidth() / PixelDensity::getPixelDensity(), (Float)Engine::instance()->getHeight() / PixelDensity::getPixelDensity() );
|
||||
Params.Flags = UI_CONTROL_DEFAULT_FLAGS | UI_REPORT_SIZE_CHANGE_TO_CHILDS;
|
||||
Params.WinFlags = UI_WIN_NO_BORDER | UI_WIN_RESIZEABLE;
|
||||
Params.MinWindowSize = Sizei( 0, 0 );
|
||||
Params.DecorationSize = Sizei( 0, 0 );
|
||||
Params.DecorationAutoSize = false;
|
||||
Params.windowStyleConfig.winFlags = UI_WIN_NO_BORDER | UI_WIN_RESIZEABLE;
|
||||
Params.windowStyleConfig.minWindowSize = Sizei( 0, 0 );
|
||||
Params.windowStyleConfig.decorationSize = Sizei( 0, 0 );
|
||||
Params.windowStyleConfig.decorationAutoSize = false;
|
||||
|
||||
mControl = eeNew( UIWindow, ( Params ) );
|
||||
mControl->setVisible( true );
|
||||
|
||||
@@ -145,7 +145,7 @@ UIPushButton * UIMessageBox::getButtonCancel() const {
|
||||
}
|
||||
|
||||
void UIMessageBox::autoSize() {
|
||||
Sizei nSize( mTextBox->getTextWidth() + 48, mTextBox->getTextHeight() + mButtonOK->getSize().getHeight() + mDecoSize.getHeight() + 8 );
|
||||
Sizei nSize( mTextBox->getTextWidth() + 48, mTextBox->getTextHeight() + mButtonOK->getSize().getHeight() + mStyleConfig.decorationSize.getHeight() + 8 );
|
||||
|
||||
if ( !( nSize.getWidth() > getContainer()->getSize().getWidth() ) ) {
|
||||
nSize.x = getContainer()->getSize().getWidth();
|
||||
@@ -158,7 +158,7 @@ void UIMessageBox::autoSize() {
|
||||
if ( nSize.x != getContainer()->getSize().getWidth() || nSize.y != getContainer()->getSize().getHeight() ) {
|
||||
setSize( nSize );
|
||||
|
||||
mMinWindowSize = nSize;
|
||||
mStyleConfig.minWindowSize = nSize;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
|
||||
namespace EE { namespace UI {
|
||||
|
||||
UISpinBox * UISpinBox::New() {
|
||||
return eeNew( UISpinBox, () );
|
||||
}
|
||||
|
||||
UISpinBox::UISpinBox( const UISpinBox::CreateParams& Params ) :
|
||||
UIComplexControl( Params ),
|
||||
mMinValue( 0.f ),
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
|
||||
namespace EE { namespace UI {
|
||||
|
||||
UISprite * UISprite::New() {
|
||||
return eeNew( UISprite, () );
|
||||
}
|
||||
|
||||
UISprite::UISprite( const UISprite::CreateParams& Params ) :
|
||||
UIComplexControl( Params ),
|
||||
mSprite( Params.Sprite ),
|
||||
|
||||
@@ -169,11 +169,12 @@ void UITextBox::shrinkText( const Uint32& MaxWidth ) {
|
||||
}
|
||||
|
||||
mTextCache->getFont()->shrinkText( mTextCache->getText(), MaxWidth );
|
||||
mTextCache->cacheWidth();
|
||||
}
|
||||
|
||||
void UITextBox::autoSize() {
|
||||
if ( ( mFlags & UI_AUTO_SIZE ) ) {
|
||||
setPixelsSize( Sizei( (int)mTextCache->getTextWidth(), (int)mTextCache->getTextHeight() ) );
|
||||
setInternalPixelsSize( Sizei( (int)mTextCache->getTextWidth(), (int)mTextCache->getTextHeight() ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,10 @@
|
||||
|
||||
namespace EE { namespace UI {
|
||||
|
||||
UITextEdit *UITextEdit::New() {
|
||||
return eeNew( UITextEdit, () );
|
||||
}
|
||||
|
||||
UITextEdit::UITextEdit( UITextEdit::CreateParams& Params ) :
|
||||
UIComplexControl( Params ),
|
||||
mTextInput( NULL ),
|
||||
|
||||
@@ -34,7 +34,7 @@ UITextInput::UITextInput() :
|
||||
mAllowEditing( true ),
|
||||
mShowingWait( true )
|
||||
{
|
||||
setFlags( UI_CLIP_ENABLE | UI_AUTO_PADDING | UI_AUTO_SIZE | UI_TEXT_SELECTION_ENABLED );
|
||||
resetFlags( UI_HALIGN_LEFT | UI_VALIGN_TOP | UI_CLIP_ENABLE | UI_AUTO_PADDING | UI_AUTO_SIZE | UI_TEXT_SELECTION_ENABLED );
|
||||
|
||||
mTextBuffer.start();
|
||||
mTextBuffer.setActive( false );
|
||||
|
||||
@@ -6,15 +6,6 @@
|
||||
|
||||
namespace EE { namespace UI {
|
||||
|
||||
UITextInputPassword::UITextInputPassword( const UITextInput::CreateParams& Params ) :
|
||||
UITextInput( Params )
|
||||
{
|
||||
mPassCache = eeNew( TextCache, () );
|
||||
setFontStyleConfig( mFontStyleConfig );
|
||||
|
||||
autoAlign();
|
||||
}
|
||||
|
||||
UITextInputPassword::UITextInputPassword() :
|
||||
UITextInput()
|
||||
{
|
||||
@@ -24,6 +15,10 @@ UITextInputPassword::UITextInputPassword() :
|
||||
autoAlign();
|
||||
}
|
||||
|
||||
UITextInputPassword::~UITextInputPassword() {
|
||||
eeSAFE_DELETE( mPassCache );
|
||||
}
|
||||
|
||||
void UITextInputPassword::draw() {
|
||||
if ( mVisible && 0.f != mAlpha ) {
|
||||
UIControlAnim::draw();
|
||||
|
||||
@@ -388,36 +388,6 @@ SubTexture * UITheme::getIconByName( const std::string& name ) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
UIGfx * UITheme::createGfx( SubTexture * SubTexture, UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, ColorA SubTextureColor, EE_RENDER_MODE SubTextureRender ) {
|
||||
UIGfx::CreateParams GfxParams;
|
||||
GfxParams.setParent( Parent );
|
||||
GfxParams.setPosition( Pos );
|
||||
GfxParams.setSize( Size );
|
||||
GfxParams.Flags = Flags;
|
||||
GfxParams.SubTexture = SubTexture;
|
||||
GfxParams.SubTextureColor = SubTextureColor;
|
||||
GfxParams.SubTextureRender = SubTextureRender;
|
||||
UIGfx * Gfx = eeNew( UIGfx, ( GfxParams ) );
|
||||
Gfx->setVisible( true );
|
||||
Gfx->setEnabled( true );
|
||||
return Gfx;
|
||||
}
|
||||
|
||||
UISprite * UITheme::createSprite( Sprite * Sprite, UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, bool DealloSprite, EE_RENDER_MODE SpriteRender ) {
|
||||
UISprite::CreateParams SpriteParams;
|
||||
SpriteParams.setParent( Parent );
|
||||
SpriteParams.setPosition( Pos );
|
||||
SpriteParams.setSize( Size );
|
||||
SpriteParams.Flags = Flags;
|
||||
SpriteParams.Sprite = Sprite;
|
||||
SpriteParams.SpriteRender = SpriteRender;
|
||||
SpriteParams.DeallocSprite = DealloSprite;
|
||||
UISprite * Spr = eeNew( UISprite, ( SpriteParams ) );
|
||||
Spr->setVisible( true );
|
||||
Spr->setEnabled( true );
|
||||
return Spr;
|
||||
}
|
||||
|
||||
UICheckBox * UITheme::createCheckBox( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags ) {
|
||||
UICheckBox::CreateParams CheckBoxParams;
|
||||
CheckBoxParams.setParent( Parent );
|
||||
@@ -430,18 +400,6 @@ UICheckBox * UITheme::createCheckBox( UIControl * Parent, const Sizei& Size, con
|
||||
return Ctrl;
|
||||
}
|
||||
|
||||
UIRadioButton * UITheme::createRadioButton( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags ) {
|
||||
UIRadioButton::CreateParams RadioButtonParams;
|
||||
RadioButtonParams.setParent( Parent );
|
||||
RadioButtonParams.setPosition( Pos );
|
||||
RadioButtonParams.setSize( Size );
|
||||
RadioButtonParams.Flags = Flags;
|
||||
UIRadioButton * Ctrl = eeNew( UIRadioButton, ( RadioButtonParams ) );
|
||||
Ctrl->setVisible( true );
|
||||
Ctrl->setEnabled( true );
|
||||
return Ctrl;
|
||||
}
|
||||
|
||||
UITextBox * UITheme::createTextBox( const String& Text, UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags ) {
|
||||
UITextBox::CreateParams TextBoxParams;
|
||||
TextBoxParams.setParent( Parent );
|
||||
@@ -455,21 +413,6 @@ UITextBox * UITheme::createTextBox( const String& Text, UIControl * Parent, cons
|
||||
return Ctrl;
|
||||
}
|
||||
|
||||
UITextEdit * UITheme::createTextEdit( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, UI_SCROLLBAR_MODE HScrollBar, UI_SCROLLBAR_MODE VScrollBar, bool WordWrap ) {
|
||||
UITextEdit::CreateParams TextEditParams;
|
||||
TextEditParams.setParent( Parent );
|
||||
TextEditParams.setPosition( Pos );
|
||||
TextEditParams.setSize( Size );
|
||||
TextEditParams.Flags = Flags;
|
||||
TextEditParams.HScrollBar = HScrollBar;
|
||||
TextEditParams.VScrollBar = VScrollBar;
|
||||
TextEditParams.WordWrap = WordWrap;
|
||||
UITextEdit * Ctrl = eeNew( UITextEdit, ( TextEditParams ) );
|
||||
Ctrl->setVisible( true );
|
||||
Ctrl->setEnabled( true );
|
||||
return Ctrl;
|
||||
}
|
||||
|
||||
UITextInput * UITheme::createTextInput( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, bool SupportFreeEditing, Uint32 MaxLength ) {
|
||||
UITextInput::CreateParams TextInputParams;
|
||||
TextInputParams.setParent( Parent );
|
||||
@@ -484,20 +427,6 @@ UITextInput * UITheme::createTextInput( UIControl * Parent, const Sizei& Size, c
|
||||
return Ctrl;
|
||||
}
|
||||
|
||||
UITextInputPassword * UITheme::createTextInputPassword( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, bool SupportFreeEditing, Uint32 MaxLength ) {
|
||||
UITextInput::CreateParams TextInputParams;
|
||||
TextInputParams.setParent( Parent );
|
||||
TextInputParams.setPosition( Pos );
|
||||
TextInputParams.setSize( Size );
|
||||
TextInputParams.Flags = Flags;
|
||||
TextInputParams.SupportFreeEditing = SupportFreeEditing;
|
||||
TextInputParams.MaxLength = MaxLength;
|
||||
UITextInputPassword * Ctrl = eeNew( UITextInputPassword, ( TextInputParams ) );
|
||||
Ctrl->setVisible( true );
|
||||
Ctrl->setEnabled( true );
|
||||
return Ctrl;
|
||||
}
|
||||
|
||||
UISpinBox * UITheme::createSpinBox( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, Float DefaultValue, bool AllowDotsInNumbers ) {
|
||||
UISpinBox::CreateParams SpinBoxParams;
|
||||
SpinBoxParams.setParent( Parent );
|
||||
@@ -557,23 +486,6 @@ UIListBox * UITheme::createListBox( UIControl * Parent, const Sizei& Size, const
|
||||
return Ctrl;
|
||||
}
|
||||
|
||||
UIMenu * UITheme::createMenu( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, Recti PaddingContainer, Uint32 MinWidth, Uint32 MinSpaceForIcons, Uint32 MinRightMargin ) {
|
||||
UIMenu::CreateParams MenuParams;
|
||||
MenuParams.setParent( Parent );
|
||||
MenuParams.setPosition( Pos );
|
||||
MenuParams.setSize( Size );
|
||||
MenuParams.Flags = Flags;
|
||||
MenuParams.PaddingContainer = PaddingContainer;
|
||||
MenuParams.MinWidth = MinWidth;
|
||||
MenuParams.MinSpaceForIcons = MinSpaceForIcons;
|
||||
MenuParams.MinRightMargin = MinRightMargin;
|
||||
|
||||
UIMenu * Ctrl = eeNew( UIMenu, ( MenuParams ) );
|
||||
Ctrl->setVisible( true );
|
||||
Ctrl->setEnabled( true );
|
||||
return Ctrl;
|
||||
}
|
||||
|
||||
UIPopUpMenu * UITheme::createPopUpMenu( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, Recti PaddingContainer, Uint32 MinWidth, Uint32 MinSpaceForIcons, Uint32 MinRightMargin ) {
|
||||
UIPopUpMenu::CreateParams MenuParams;
|
||||
MenuParams.setParent( Parent );
|
||||
@@ -625,27 +537,15 @@ UISelectButton * UITheme::createSelectButton( UIControl * Parent, const Sizei& S
|
||||
return Ctrl;
|
||||
}
|
||||
|
||||
UIWindow * UITheme::createWindow( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, Uint32 WinFlags, Sizei MinWindowSize, Uint8 BaseAlpha ) {
|
||||
UIWindow::CreateParams WinParams;
|
||||
WinParams.setParent( Parent );
|
||||
WinParams.setPosition( Pos );
|
||||
WinParams.setSize( Size );
|
||||
WinParams.Flags = Flags;
|
||||
WinParams.WinFlags = WinFlags;
|
||||
WinParams.MinWindowSize = MinWindowSize;
|
||||
WinParams.BaseAlpha = BaseAlpha;
|
||||
return eeNew( UIWindow, ( WinParams ) );
|
||||
}
|
||||
|
||||
UICommonDialog * UITheme::createCommonDialog( UIControl * Parent, const Sizei& Size, const Vector2i& Pos, const Uint32& Flags, Uint32 WinFlags, Sizei MinWindowSize, Uint8 BaseAlpha, Uint32 CDLFlags, std::string DefaultFilePattern, std::string DefaultDirectory ) {
|
||||
UICommonDialog::CreateParams DLGParams;
|
||||
DLGParams.setParent( Parent );
|
||||
DLGParams.setPosition( Pos );
|
||||
DLGParams.setSize( Size );
|
||||
DLGParams.Flags = Flags;
|
||||
DLGParams.WinFlags = WinFlags;
|
||||
DLGParams.MinWindowSize = MinWindowSize;
|
||||
DLGParams.BaseAlpha = BaseAlpha;
|
||||
DLGParams.windowStyleConfig.winFlags = WinFlags;
|
||||
DLGParams.windowStyleConfig.minWindowSize = MinWindowSize;
|
||||
DLGParams.windowStyleConfig.baseAlpha = BaseAlpha;
|
||||
DLGParams.DefaultDirectory = DefaultDirectory;
|
||||
DLGParams.DefaultFilePattern = DefaultFilePattern;
|
||||
DLGParams.CDLFlags = CDLFlags;
|
||||
@@ -658,9 +558,9 @@ UIMessageBox * UITheme::createMessageBox( UI_MSGBOX_TYPE Type, const String& Mes
|
||||
MsgBoxParams.setPosition( Pos );
|
||||
MsgBoxParams.setSize( Size );
|
||||
MsgBoxParams.Flags = Flags;
|
||||
MsgBoxParams.WinFlags = WinFlags;
|
||||
MsgBoxParams.MinWindowSize = MinWindowSize;
|
||||
MsgBoxParams.BaseAlpha = BaseAlpha;
|
||||
MsgBoxParams.windowStyleConfig.winFlags = WinFlags;
|
||||
MsgBoxParams.windowStyleConfig.minWindowSize = MinWindowSize;
|
||||
MsgBoxParams.windowStyleConfig.baseAlpha = BaseAlpha;
|
||||
MsgBoxParams.Type = Type;
|
||||
MsgBoxParams.Message = Message;
|
||||
return eeNew( UIMessageBox, ( MsgBoxParams ) );
|
||||
@@ -698,14 +598,6 @@ void UITheme::setTooltipPadding(const Recti & tooltipPadding) {
|
||||
mTooltipPadding = tooltipPadding;
|
||||
}
|
||||
|
||||
Int32 UITheme::getTabSeparation() const {
|
||||
return mTabSeparation;
|
||||
}
|
||||
|
||||
void UITheme::setTabSeparation(const Int32 & tabSeparation) {
|
||||
mTabSeparation = tabSeparation;
|
||||
}
|
||||
|
||||
void UITheme::setFontStyleConfig(const FontStyleConfig & fontConfig) {
|
||||
mFontStyleConfig = fontConfig;
|
||||
}
|
||||
@@ -726,6 +618,10 @@ DropDownListStyleConfig UITheme::getDropDownListStyleConfig() {
|
||||
return DropDownListStyleConfig( getFontStyleConfig() );
|
||||
}
|
||||
|
||||
WindowStyleConfig UITheme::getWindowStyleConfig() {
|
||||
return WindowStyleConfig( getFontStyleConfig() );
|
||||
}
|
||||
|
||||
FontStyleConfig UITheme::getFontStyleConfig() const {
|
||||
return mFontStyleConfig;
|
||||
}
|
||||
|
||||
@@ -4,52 +4,13 @@
|
||||
|
||||
namespace EE { namespace UI {
|
||||
|
||||
UIWindow::UIWindow( const UIWindow::CreateParams& Params ) :
|
||||
UIComplexControl( Params ),
|
||||
mWinFlags( Params.WinFlags ),
|
||||
mWindowDecoration( NULL ),
|
||||
mBorderLeft( NULL ),
|
||||
mBorderRight( NULL ),
|
||||
mBorderBottom( NULL ),
|
||||
mButtonClose( NULL ),
|
||||
mButtonMinimize( NULL ),
|
||||
mButtonMaximize( NULL ),
|
||||
mTitle( NULL ),
|
||||
mModalCtrl( NULL ),
|
||||
mDecoSize( Params.DecorationSize ),
|
||||
mBorderSize( Params.BorderSize ),
|
||||
mMinWindowSize( Params.MinWindowSize ),
|
||||
mButtonsPositionFixer( Params.ButtonsPositionFixer ),
|
||||
mButtonsSeparation( Params.ButtonsSeparation ),
|
||||
mMinCornerDistance( Params.MinCornerDistance ),
|
||||
mResizeType( RESIZE_NONE ),
|
||||
mTitleFontColor( Params.TitleFontColor ),
|
||||
mBaseAlpha( Params.BaseAlpha ),
|
||||
mDecoAutoSize( Params.DecorationAutoSize ),
|
||||
mBorderAutoSize( Params.BorderAutoSize )
|
||||
{
|
||||
UIManager::instance()->windowAdd( this );
|
||||
|
||||
UIComplexControl::CreateParams tcParams;
|
||||
tcParams.setParent( this );
|
||||
tcParams.Flags |= UI_REPORT_SIZE_CHANGE_TO_CHILDS;
|
||||
|
||||
mContainer = eeNew( UIComplexControl, ( tcParams ) );
|
||||
mContainer->setEnabled( true );
|
||||
mContainer->setVisible( true );
|
||||
mContainer->setSize( mSize );
|
||||
mContainer->addEventListener( UIEvent::EventOnPosChange, cb::Make1( this, &UIWindow::onContainerPosChange ) );
|
||||
|
||||
updateWinFlags();
|
||||
|
||||
setAlpha( mBaseAlpha );
|
||||
|
||||
applyDefaultTheme();
|
||||
UIWindow * UIWindow::New() {
|
||||
return eeNew( UIWindow, () );
|
||||
}
|
||||
|
||||
UIWindow::UIWindow() :
|
||||
UIComplexControl(),
|
||||
mWinFlags( UI_WIN_DEFAULT_FLAGS ),
|
||||
UIWindow::UIWindow( const UIWindow::CreateParams& Params ) :
|
||||
UIComplexControl( Params ),
|
||||
mStyleConfig( Params.windowStyleConfig ),
|
||||
mWindowDecoration( NULL ),
|
||||
mBorderLeft( NULL ),
|
||||
mBorderRight( NULL ),
|
||||
@@ -59,31 +20,55 @@ UIWindow::UIWindow() :
|
||||
mButtonMaximize( NULL ),
|
||||
mTitle( NULL ),
|
||||
mModalCtrl( NULL ),
|
||||
mDecoSize(),
|
||||
mBorderSize(),
|
||||
mMinWindowSize(),
|
||||
mButtonsPositionFixer( ),
|
||||
mButtonsSeparation( 4 ),
|
||||
mMinCornerDistance( 24 ),
|
||||
mResizeType( RESIZE_NONE ),
|
||||
mTitleFontColor( 0xFFFFFFFF ),
|
||||
mBaseAlpha( 255 ),
|
||||
mDecoAutoSize( true ),
|
||||
mBorderAutoSize( true )
|
||||
mResizeType( RESIZE_NONE )
|
||||
{
|
||||
UIManager::instance()->windowAdd( this );
|
||||
|
||||
mContainer = eeNew( UIComplexControl, () );
|
||||
mContainer->setParent( this );
|
||||
mContainer->setFlags( UI_REPORT_SIZE_CHANGE_TO_CHILDS );
|
||||
mContainer->setEnabled( true );
|
||||
mContainer->setVisible( true );
|
||||
mContainer->setSize( mSize );
|
||||
mContainer->addEventListener( UIEvent::EventOnPosChange, cb::Make1( this, &UIWindow::onContainerPosChange ) );
|
||||
|
||||
updateWinFlags();
|
||||
|
||||
setAlpha( mBaseAlpha );
|
||||
setAlpha( mStyleConfig.baseAlpha );
|
||||
|
||||
applyDefaultTheme();
|
||||
}
|
||||
|
||||
UIWindow::UIWindow() :
|
||||
UIComplexControl(),
|
||||
mWindowDecoration( NULL ),
|
||||
mBorderLeft( NULL ),
|
||||
mBorderRight( NULL ),
|
||||
mBorderBottom( NULL ),
|
||||
mButtonClose( NULL ),
|
||||
mButtonMinimize( NULL ),
|
||||
mButtonMaximize( NULL ),
|
||||
mTitle( NULL ),
|
||||
mModalCtrl( NULL ),
|
||||
mResizeType( RESIZE_NONE )
|
||||
{
|
||||
setHorizontalAlign( UI_HALIGN_CENTER );
|
||||
|
||||
UIManager::instance()->windowAdd( this );
|
||||
|
||||
UITheme * theme = UIThemeManager::instance()->getDefaultTheme();
|
||||
|
||||
if ( NULL != theme ) {
|
||||
mStyleConfig = theme->getWindowStyleConfig();
|
||||
}
|
||||
|
||||
mContainer = eeNew( UIComplexControl, () );
|
||||
mContainer->setParent( this );
|
||||
mContainer->setFlags( UI_REPORT_SIZE_CHANGE_TO_CHILDS );
|
||||
mContainer->setSize( mSize );
|
||||
mContainer->addEventListener( UIEvent::EventOnPosChange, cb::Make1( this, &UIWindow::onContainerPosChange ) );
|
||||
|
||||
updateWinFlags();
|
||||
|
||||
setAlpha( mStyleConfig.baseAlpha );
|
||||
|
||||
applyDefaultTheme();
|
||||
}
|
||||
@@ -97,7 +82,7 @@ UIWindow::~UIWindow() {
|
||||
}
|
||||
|
||||
void UIWindow::updateWinFlags() {
|
||||
if ( !( mWinFlags & UI_WIN_NO_BORDER ) ) {
|
||||
if ( !( mStyleConfig.winFlags & UI_WIN_NO_BORDER ) ) {
|
||||
if ( NULL == mWindowDecoration )
|
||||
mWindowDecoration = eeNew( UIControlAnim, () );
|
||||
|
||||
@@ -126,10 +111,10 @@ void UIWindow::updateWinFlags() {
|
||||
mBorderBottom->setEnabled( true );
|
||||
mBorderBottom->setVisible( true );
|
||||
|
||||
if ( mWinFlags & UI_WIN_DRAGABLE_CONTAINER )
|
||||
if ( mStyleConfig.winFlags & UI_WIN_DRAGABLE_CONTAINER )
|
||||
mContainer->setDragEnabled( true );
|
||||
|
||||
if ( mWinFlags & UI_WIN_CLOSE_BUTTON ) {
|
||||
if ( mStyleConfig.winFlags & UI_WIN_CLOSE_BUTTON ) {
|
||||
if ( NULL == mButtonClose )
|
||||
mButtonClose = eeNew( UIComplexControl, () );
|
||||
|
||||
@@ -137,12 +122,12 @@ void UIWindow::updateWinFlags() {
|
||||
mButtonClose->setVisible( true );
|
||||
mButtonClose->setEnabled( true );
|
||||
|
||||
if ( mWinFlags & UI_WIN_USE_DEFAULT_BUTTONS_ACTIONS ) {
|
||||
if ( mStyleConfig.winFlags & UI_WIN_USE_DEFAULT_BUTTONS_ACTIONS ) {
|
||||
mButtonClose->addEventListener( UIEvent::EventMouseClick, cb::Make1( this, &UIWindow::onButtonCloseClick ) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( ( mWinFlags & UI_WIN_RESIZEABLE ) && ( mWinFlags & UI_WIN_MAXIMIZE_BUTTON ) ) {
|
||||
if ( ( mStyleConfig.winFlags & UI_WIN_RESIZEABLE ) && ( mStyleConfig.winFlags & UI_WIN_MAXIMIZE_BUTTON ) ) {
|
||||
if ( NULL == mButtonMaximize )
|
||||
mButtonMaximize = eeNew( UIComplexControl, () );
|
||||
|
||||
@@ -150,12 +135,12 @@ void UIWindow::updateWinFlags() {
|
||||
mButtonMaximize->setVisible( true );
|
||||
mButtonMaximize->setEnabled( true );
|
||||
|
||||
if ( mWinFlags & UI_WIN_USE_DEFAULT_BUTTONS_ACTIONS ) {
|
||||
if ( mStyleConfig.winFlags & UI_WIN_USE_DEFAULT_BUTTONS_ACTIONS ) {
|
||||
mButtonMaximize->addEventListener( UIEvent::EventMouseClick, cb::Make1( this, &UIWindow::onButtonMaximizeClick ) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( mWinFlags & UI_WIN_MINIMIZE_BUTTON ) {
|
||||
if ( mStyleConfig.winFlags & UI_WIN_MINIMIZE_BUTTON ) {
|
||||
if ( NULL == mButtonMinimize )
|
||||
mButtonMinimize = eeNew( UIComplexControl, () );
|
||||
|
||||
@@ -163,7 +148,7 @@ void UIWindow::updateWinFlags() {
|
||||
mButtonMinimize->setVisible( true );
|
||||
mButtonMinimize->setEnabled( true );
|
||||
|
||||
if ( mWinFlags & UI_WIN_USE_DEFAULT_BUTTONS_ACTIONS ) {
|
||||
if ( mStyleConfig.winFlags & UI_WIN_USE_DEFAULT_BUTTONS_ACTIONS ) {
|
||||
mButtonMinimize->addEventListener( UIEvent::EventMouseClick, cb::Make1( this, &UIWindow::onButtonMinimizeClick ) );
|
||||
}
|
||||
}
|
||||
@@ -180,10 +165,13 @@ void UIWindow::createModalControl() {
|
||||
UIControl * Ctrl = UIManager::instance()->getMainControl();
|
||||
|
||||
if ( NULL == mModalCtrl ) {
|
||||
mModalCtrl = eeNew( UIControlAnim, ( UIControlAnim::CreateParams( Ctrl , Vector2i(0,0), Ctrl->getSize(), UI_ANCHOR_LEFT | UI_ANCHOR_TOP | UI_ANCHOR_RIGHT | UI_ANCHOR_BOTTOM ) ) );
|
||||
mModalCtrl = UIComplexControl::New();
|
||||
mModalCtrl->setParent( Ctrl )->setPosition(0,0)->setSize( Ctrl->getSize() );
|
||||
mModalCtrl->setAnchors( UI_ANCHOR_LEFT | UI_ANCHOR_TOP | UI_ANCHOR_RIGHT | UI_ANCHOR_BOTTOM );
|
||||
} else {
|
||||
mModalCtrl->setPosition( 0, 0 );
|
||||
mModalCtrl->setSize( Ctrl->getSize() );
|
||||
mModalCtrl->updateAnchorsDistances();
|
||||
}
|
||||
|
||||
mModalCtrl->setEnabled( false );
|
||||
@@ -298,7 +286,7 @@ void UIWindow::setTheme( UITheme *Theme ) {
|
||||
|
||||
mContainer->setThemeControl ( Theme, "winback" );
|
||||
|
||||
if ( !( mWinFlags & UI_WIN_NO_BORDER ) ) {
|
||||
if ( !( mStyleConfig.winFlags & UI_WIN_NO_BORDER ) ) {
|
||||
mWindowDecoration->setThemeControl ( Theme, "windeco" );
|
||||
mBorderLeft->setThemeControl ( Theme, "winborderleft" );
|
||||
mBorderRight->setThemeControl ( Theme, "winborderright" );
|
||||
@@ -319,18 +307,18 @@ void UIWindow::setTheme( UITheme *Theme ) {
|
||||
mButtonMinimize->setSize( mButtonMinimize->getSkinSize() );
|
||||
}
|
||||
|
||||
getMinWinSize();
|
||||
calcMinWinSize();
|
||||
fixChildsSize();
|
||||
}
|
||||
}
|
||||
|
||||
void UIWindow::getMinWinSize() {
|
||||
if ( NULL == mWindowDecoration || ( mMinWindowSize.x != 0 && mMinWindowSize.y != 0 ) )
|
||||
void UIWindow::calcMinWinSize() {
|
||||
if ( NULL == mWindowDecoration || ( mStyleConfig.minWindowSize.x != 0 && mStyleConfig.minWindowSize.y != 0 ) )
|
||||
return;
|
||||
|
||||
Sizei tSize;
|
||||
|
||||
tSize.x = mBorderLeft->getSize().getWidth() + mBorderRight->getSize().getWidth() - mButtonsPositionFixer.x;
|
||||
tSize.x = mBorderLeft->getSize().getWidth() + mBorderRight->getSize().getWidth() - mStyleConfig.buttonsPositionFixer.x;
|
||||
tSize.y = mWindowDecoration->getSize().getHeight() + mBorderBottom->getSize().getHeight();
|
||||
|
||||
if ( NULL != mButtonClose )
|
||||
@@ -342,31 +330,31 @@ void UIWindow::getMinWinSize() {
|
||||
if ( NULL != mButtonMinimize )
|
||||
tSize.x += mButtonMinimize->getSize().getWidth();
|
||||
|
||||
if ( mMinWindowSize.x < tSize.x )
|
||||
mMinWindowSize.x = tSize.x;
|
||||
if ( mStyleConfig.minWindowSize.x < tSize.x )
|
||||
mStyleConfig.minWindowSize.x = tSize.x;
|
||||
|
||||
if ( mMinWindowSize.y < tSize.y )
|
||||
mMinWindowSize.y = tSize.y;
|
||||
if ( mStyleConfig.minWindowSize.y < tSize.y )
|
||||
mStyleConfig.minWindowSize.y = tSize.y;
|
||||
}
|
||||
|
||||
void UIWindow::applyMinWinSize() {
|
||||
if ( mSize.x < mMinWindowSize.x && mSize.y < mMinWindowSize.y ) {
|
||||
setSize( mMinWindowSize );
|
||||
} else if ( mSize.x < mMinWindowSize.x ) {
|
||||
setSize( Sizei( mMinWindowSize.x, mSize.y ) );
|
||||
} else if ( mSize.y < mMinWindowSize.y ) {
|
||||
setSize( Sizei( mSize.x, mMinWindowSize.y ) );
|
||||
if ( mSize.x < mStyleConfig.minWindowSize.x && mSize.y < mStyleConfig.minWindowSize.y ) {
|
||||
setSize( mStyleConfig.minWindowSize );
|
||||
} else if ( mSize.x < mStyleConfig.minWindowSize.x ) {
|
||||
setSize( Sizei( mStyleConfig.minWindowSize.x, mSize.y ) );
|
||||
} else if ( mSize.y < mStyleConfig.minWindowSize.y ) {
|
||||
setSize( Sizei( mSize.x, mStyleConfig.minWindowSize.y ) );
|
||||
}
|
||||
}
|
||||
|
||||
void UIWindow::onSizeChange() {
|
||||
if ( mSize.x < mMinWindowSize.x || mSize.y < mMinWindowSize.y ) {
|
||||
if ( mSize.x < mMinWindowSize.x && mSize.y < mMinWindowSize.y ) {
|
||||
setSize( mMinWindowSize );
|
||||
} else if ( mSize.x < mMinWindowSize.x ) {
|
||||
setSize( Sizei( mMinWindowSize.x, mSize.y ) );
|
||||
if ( mSize.x < mStyleConfig.minWindowSize.x || mSize.y < mStyleConfig.minWindowSize.y ) {
|
||||
if ( mSize.x < mStyleConfig.minWindowSize.x && mSize.y < mStyleConfig.minWindowSize.y ) {
|
||||
setSize( mStyleConfig.minWindowSize );
|
||||
} else if ( mSize.x < mStyleConfig.minWindowSize.x ) {
|
||||
setSize( Sizei( mStyleConfig.minWindowSize.x, mSize.y ) );
|
||||
} else {
|
||||
setSize( Sizei( mSize.x, mMinWindowSize.y ) );
|
||||
setSize( Sizei( mSize.x, mStyleConfig.minWindowSize.y ) );
|
||||
}
|
||||
} else {
|
||||
fixChildsSize();
|
||||
@@ -395,13 +383,23 @@ UIControl * UIWindow::setSize( const Int32& Width, const Int32& Height ) {
|
||||
return this;
|
||||
}
|
||||
|
||||
UIWindow *UIWindow::setSizeWithDecoration(const Int32 & Width, const Int32 & Height) {
|
||||
setSizeWithDecoration( Sizei( Width, Height ) );
|
||||
return this;
|
||||
}
|
||||
|
||||
UIWindow *UIWindow::setSizeWithDecoration(const Sizei & size) {
|
||||
UIComplexControl::setSize( size );
|
||||
return this;
|
||||
}
|
||||
|
||||
const Sizei& UIWindow::getSize() {
|
||||
return UIComplexControl::getSize();
|
||||
}
|
||||
|
||||
void UIWindow::fixChildsSize() {
|
||||
if ( mSize.getWidth() < mMinWindowSize.getWidth() || mSize.getHeight() < mMinWindowSize.getHeight() ) {
|
||||
internalSize( eemin( mSize.getWidth(), mMinWindowSize.getWidth() ), eemin( mSize.getHeight(), mMinWindowSize.getHeight() ) );
|
||||
if ( mSize.getWidth() < mStyleConfig.minWindowSize.getWidth() || mSize.getHeight() < mStyleConfig.minWindowSize.getHeight() ) {
|
||||
internalSize( eemin( mSize.getWidth(), mStyleConfig.minWindowSize.getWidth() ), eemin( mSize.getHeight(), mStyleConfig.minWindowSize.getHeight() ) );
|
||||
}
|
||||
|
||||
if ( NULL == mWindowDecoration ) {
|
||||
@@ -409,28 +407,28 @@ void UIWindow::fixChildsSize() {
|
||||
return;
|
||||
}
|
||||
|
||||
Sizei decoSize = mDecoSize;
|
||||
Sizei decoSize = mStyleConfig.decorationSize;
|
||||
|
||||
if ( mDecoAutoSize ) {
|
||||
decoSize = mDecoSize = Sizei( mSize.getWidth(), mWindowDecoration->getSkinSize().getHeight() );
|
||||
if ( mStyleConfig.decorationAutoSize ) {
|
||||
decoSize = mStyleConfig.decorationSize = Sizei( mSize.getWidth(), mWindowDecoration->getSkinSize().getHeight() );
|
||||
}
|
||||
|
||||
mWindowDecoration->setSize( mDecoSize );
|
||||
mWindowDecoration->setSize( mStyleConfig.decorationSize );
|
||||
|
||||
if ( mBorderAutoSize ) {
|
||||
if ( mStyleConfig.borderAutoSize ) {
|
||||
mBorderBottom->setSize( Sizei( mSize.getWidth(), mBorderBottom->getSkinSize().getHeight() ) );
|
||||
} else {
|
||||
mBorderBottom->setSize( mSize.getWidth(), mBorderSize.getHeight() );
|
||||
mBorderBottom->setSize( mSize.getWidth(), mStyleConfig.borderSize.getHeight() );
|
||||
}
|
||||
|
||||
Uint32 BorderHeight = mSize.getHeight() - decoSize.getHeight() - mBorderBottom->getSize().getHeight();
|
||||
|
||||
if ( mBorderAutoSize ) {
|
||||
if ( mStyleConfig.borderAutoSize ) {
|
||||
mBorderLeft->setSize( Sizei( mBorderLeft->getSkinSize().getWidth(), BorderHeight ) );
|
||||
mBorderRight->setSize( Sizei( mBorderRight->getSkinSize().getWidth(), BorderHeight ) );
|
||||
} else {
|
||||
mBorderLeft->setSize( mBorderSize.getWidth(), BorderHeight );
|
||||
mBorderRight->setSize( mBorderSize.getWidth(), BorderHeight );
|
||||
mBorderLeft->setSize( mStyleConfig.borderSize.getWidth(), BorderHeight );
|
||||
mBorderRight->setSize( mStyleConfig.borderSize.getWidth(), BorderHeight );
|
||||
}
|
||||
|
||||
mBorderLeft->setPosition( 0, mWindowDecoration->getSize().getHeight() );
|
||||
@@ -443,31 +441,31 @@ void UIWindow::fixChildsSize() {
|
||||
Uint32 yPos;
|
||||
|
||||
if ( NULL != mButtonClose ) {
|
||||
yPos = mWindowDecoration->getSize().getHeight() / 2 - mButtonClose->getSize().getHeight() / 2 + mButtonsPositionFixer.y;
|
||||
yPos = mWindowDecoration->getSize().getHeight() / 2 - mButtonClose->getSize().getHeight() / 2 + mStyleConfig.buttonsPositionFixer.y;
|
||||
|
||||
mButtonClose->setPosition( mWindowDecoration->getSize().getWidth() - mBorderRight->getSize().getWidth() - mButtonClose->getSize().getWidth() + mButtonsPositionFixer.x, yPos );
|
||||
mButtonClose->setPosition( mWindowDecoration->getSize().getWidth() - mBorderRight->getSize().getWidth() - mButtonClose->getSize().getWidth() + mStyleConfig.buttonsPositionFixer.x, yPos );
|
||||
}
|
||||
|
||||
if ( NULL != mButtonMaximize ) {
|
||||
yPos = mWindowDecoration->getSize().getHeight() / 2 - mButtonMaximize->getSize().getHeight() / 2 + mButtonsPositionFixer.y;
|
||||
yPos = mWindowDecoration->getSize().getHeight() / 2 - mButtonMaximize->getSize().getHeight() / 2 + mStyleConfig.buttonsPositionFixer.y;
|
||||
|
||||
if ( NULL != mButtonClose ) {
|
||||
mButtonMaximize->setPosition( mButtonClose->getPosition().x - mButtonsSeparation - mButtonMaximize->getSize().getWidth(), yPos );
|
||||
mButtonMaximize->setPosition( mButtonClose->getPosition().x - mStyleConfig.buttonsSeparation - mButtonMaximize->getSize().getWidth(), yPos );
|
||||
} else {
|
||||
mButtonMaximize->setPosition( mWindowDecoration->getSize().getWidth() - mBorderRight->getSize().getWidth() - mButtonMaximize->getSize().getWidth() + mButtonsPositionFixer.x, yPos );
|
||||
mButtonMaximize->setPosition( mWindowDecoration->getSize().getWidth() - mBorderRight->getSize().getWidth() - mButtonMaximize->getSize().getWidth() + mStyleConfig.buttonsPositionFixer.x, yPos );
|
||||
}
|
||||
}
|
||||
|
||||
if ( NULL != mButtonMinimize ) {
|
||||
yPos = mWindowDecoration->getSize().getHeight() / 2 - mButtonMinimize->getSize().getHeight() / 2 + mButtonsPositionFixer.y;
|
||||
yPos = mWindowDecoration->getSize().getHeight() / 2 - mButtonMinimize->getSize().getHeight() / 2 + mStyleConfig.buttonsPositionFixer.y;
|
||||
|
||||
if ( NULL != mButtonMaximize ) {
|
||||
mButtonMinimize->setPosition( mButtonMaximize->getPosition().x - mButtonsSeparation - mButtonMinimize->getSize().getWidth(), yPos );
|
||||
mButtonMinimize->setPosition( mButtonMaximize->getPosition().x - mStyleConfig.buttonsSeparation - mButtonMinimize->getSize().getWidth(), yPos );
|
||||
} else {
|
||||
if ( NULL != mButtonClose ) {
|
||||
mButtonMinimize->setPosition( mButtonClose->getPosition().x - mButtonsSeparation - mButtonMinimize->getSize().getWidth(), yPos );
|
||||
mButtonMinimize->setPosition( mButtonClose->getPosition().x - mStyleConfig.buttonsSeparation - mButtonMinimize->getSize().getWidth(), yPos );
|
||||
} else {
|
||||
mButtonMinimize->setPosition( mWindowDecoration->getSize().getWidth() - mBorderRight->getSize().getWidth() - mButtonMinimize->getSize().getWidth() + mButtonsPositionFixer.x, yPos );
|
||||
mButtonMinimize->setPosition( mWindowDecoration->getSize().getWidth() - mBorderRight->getSize().getWidth() - mButtonMinimize->getSize().getWidth() + mStyleConfig.buttonsPositionFixer.x, yPos );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -519,7 +517,7 @@ void UIWindow::doResize ( const UIMessage * Msg ) {
|
||||
if ( NULL == mWindowDecoration )
|
||||
return;
|
||||
|
||||
if ( !( mWinFlags & UI_WIN_RESIZEABLE ) ||
|
||||
if ( !( mStyleConfig.winFlags & UI_WIN_RESIZEABLE ) ||
|
||||
!( Msg->getFlags() & EE_BUTTON_LMASK ) ||
|
||||
RESIZE_NONE != mResizeType ||
|
||||
( UIManager::instance()->getLastPressTrigger() & EE_BUTTON_LMASK )
|
||||
@@ -540,30 +538,30 @@ void UIWindow::decideResizeType( UIControl * Control ) {
|
||||
} else if ( Pos.x >= ( mSize.getWidth() - mBorderRight->getSize().getWidth() ) ) {
|
||||
tryResize( RESIZE_TOPRIGHT );
|
||||
} else if ( Pos.y <= mBorderBottom->getSize().getHeight() ) {
|
||||
if ( Pos.x < mMinCornerDistance ) {
|
||||
if ( Pos.x < mStyleConfig.minCornerDistance ) {
|
||||
tryResize( RESIZE_TOPLEFT );
|
||||
} else if ( Pos.x > mSize.getWidth() - mMinCornerDistance ) {
|
||||
} else if ( Pos.x > mSize.getWidth() - mStyleConfig.minCornerDistance ) {
|
||||
tryResize( RESIZE_TOPRIGHT );
|
||||
} else {
|
||||
tryResize( RESIZE_TOP );
|
||||
}
|
||||
}
|
||||
} else if ( Control == mBorderBottom ) {
|
||||
if ( Pos.x < mMinCornerDistance ) {
|
||||
if ( Pos.x < mStyleConfig.minCornerDistance ) {
|
||||
tryResize( RESIZE_LEFTBOTTOM );
|
||||
} else if ( Pos.x > mSize.getWidth() - mMinCornerDistance ) {
|
||||
} else if ( Pos.x > mSize.getWidth() - mStyleConfig.minCornerDistance ) {
|
||||
tryResize( RESIZE_RIGHTBOTTOM );
|
||||
} else {
|
||||
tryResize( RESIZE_BOTTOM );
|
||||
}
|
||||
} else if ( Control == mBorderLeft ) {
|
||||
if ( Pos.y >= mSize.getHeight() - mMinCornerDistance ) {
|
||||
if ( Pos.y >= mSize.getHeight() - mStyleConfig.minCornerDistance ) {
|
||||
tryResize( RESIZE_LEFTBOTTOM );
|
||||
} else {
|
||||
tryResize( RESIZE_LEFT );
|
||||
}
|
||||
} else if ( Control == mBorderRight ) {
|
||||
if ( Pos.y >= mSize.getHeight() - mMinCornerDistance ) {
|
||||
if ( Pos.y >= mSize.getHeight() - mStyleConfig.minCornerDistance ) {
|
||||
tryResize( RESIZE_RIGHTBOTTOM );
|
||||
} else {
|
||||
tryResize( RESIZE_RIGHT );
|
||||
@@ -722,7 +720,7 @@ void UIWindow::internalSize( const Int32& w, const Int32& h ) {
|
||||
}
|
||||
|
||||
void UIWindow::internalSize( Sizei Size ) {
|
||||
Sizei realMin = PixelDensity::dpToPxI( mMinWindowSize );
|
||||
Sizei realMin = PixelDensity::dpToPxI( mStyleConfig.minWindowSize );
|
||||
|
||||
Size.x = eemax( realMin.x, Size.x );
|
||||
Size.y = eemax( realMin.y, Size.y );
|
||||
@@ -736,7 +734,7 @@ void UIWindow::internalSize( Sizei Size ) {
|
||||
void UIWindow::draw() {
|
||||
UIComplexControl::draw();
|
||||
|
||||
if ( mWinFlags & UI_WIN_DRAW_SHADOW ) {
|
||||
if ( mStyleConfig.winFlags & UI_WIN_DRAW_SHADOW ) {
|
||||
Primitives P;
|
||||
P.setForceDraw( false );
|
||||
|
||||
@@ -799,7 +797,7 @@ bool UIWindow::show() {
|
||||
|
||||
setFocus();
|
||||
|
||||
startAlphaAnim( mBaseAlpha == getAlpha() ? 0.f : mAlpha, mBaseAlpha, UIThemeManager::instance()->getControlsFadeInTime() );
|
||||
startAlphaAnim( mStyleConfig.baseAlpha == getAlpha() ? 0.f : mAlpha, mStyleConfig.baseAlpha, UIThemeManager::instance()->getControlsFadeInTime() );
|
||||
|
||||
if ( isModal() ) {
|
||||
createModalControl();
|
||||
@@ -840,7 +838,7 @@ bool UIWindow::hide() {
|
||||
}
|
||||
|
||||
void UIWindow::onAlphaChange() {
|
||||
if ( mWinFlags & UI_WIN_SHARE_ALPHA_WITH_CHILDS ) {
|
||||
if ( mStyleConfig.winFlags & UI_WIN_SHARE_ALPHA_WITH_CHILDS ) {
|
||||
UIControlAnim * AnimChild;
|
||||
UIControl * CurChild = mChild;
|
||||
|
||||
@@ -858,38 +856,35 @@ void UIWindow::onAlphaChange() {
|
||||
}
|
||||
|
||||
void UIWindow::setBaseAlpha( const Uint8& Alpha ) {
|
||||
if ( mAlpha == mBaseAlpha ) {
|
||||
if ( mAlpha == mStyleConfig.baseAlpha ) {
|
||||
UIControlAnim::setAlpha( Alpha );
|
||||
}
|
||||
|
||||
mBaseAlpha = Alpha;
|
||||
mStyleConfig.baseAlpha = Alpha;
|
||||
}
|
||||
|
||||
const Uint8& UIWindow::getBaseAlpha() const {
|
||||
return mBaseAlpha;
|
||||
return mStyleConfig.baseAlpha;
|
||||
}
|
||||
|
||||
void UIWindow::setTitle( const String& Text ) {
|
||||
if ( NULL == mTitle ) {
|
||||
UITextBox::CreateParams Params;
|
||||
Params.setParent( this );
|
||||
Params.Flags = UI_CLIP_ENABLE | UI_VALIGN_CENTER;
|
||||
Params.fontStyleConfig.fontColor = mTitleFontColor;
|
||||
|
||||
if ( mFlags & UI_HALIGN_CENTER )
|
||||
Params.Flags |= UI_HALIGN_CENTER;
|
||||
mTitle = eeNew( UITextBox, () );
|
||||
mTitle->setParent( this );
|
||||
mTitle->setHorizontalAlign( getHorizontalAlign() );
|
||||
mTitle->setVerticalAlign( getVerticalAlign() );
|
||||
mTitle->setFontColor( mStyleConfig.titleFontColor );
|
||||
|
||||
if ( mFlags & UI_DRAW_SHADOW )
|
||||
Params.Flags |= UI_DRAW_SHADOW;
|
||||
mTitle->setFlags( UI_DRAW_SHADOW );
|
||||
|
||||
mTitle = eeNew( UITextBox, ( Params ) );
|
||||
mTitle->setEnabled( false );
|
||||
mTitle->setVisible( true );
|
||||
}
|
||||
|
||||
mTitle->setText( Text );
|
||||
|
||||
fixTitleSize();
|
||||
|
||||
mTitle->setText( Text );
|
||||
}
|
||||
|
||||
void UIWindow::fixTitleSize() {
|
||||
@@ -926,7 +921,7 @@ void UIWindow::maximize() {
|
||||
}
|
||||
|
||||
Uint32 UIWindow::onMouseDoubleClick( const Vector2i &Pos, const Uint32 Flags ) {
|
||||
if ( ( mWinFlags & UI_WIN_RESIZEABLE ) && ( NULL != mButtonMaximize ) && ( Flags & EE_BUTTON_LMASK ) ) {
|
||||
if ( ( mStyleConfig.winFlags & UI_WIN_RESIZEABLE ) && ( NULL != mButtonMaximize ) && ( Flags & EE_BUTTON_LMASK ) ) {
|
||||
onButtonMaximizeClick( NULL );
|
||||
}
|
||||
|
||||
@@ -982,23 +977,57 @@ bool UIWindow::removeShortcut( const Uint32& KeyCode, const Uint32& Mod ) {
|
||||
}
|
||||
|
||||
bool UIWindow::isMaximizable() {
|
||||
return 0 != ( ( mWinFlags & UI_WIN_RESIZEABLE ) && ( mWinFlags & UI_WIN_MAXIMIZE_BUTTON ) );
|
||||
return 0 != ( ( mStyleConfig.winFlags & UI_WIN_RESIZEABLE ) && ( mStyleConfig.winFlags & UI_WIN_MAXIMIZE_BUTTON ) );
|
||||
}
|
||||
|
||||
Uint32 UIWindow::getWinFlags() const {
|
||||
return mWinFlags;
|
||||
return mStyleConfig.winFlags;
|
||||
}
|
||||
|
||||
UIWindow * UIWindow::setWinFlags(const Uint32 & winFlags) {
|
||||
mWinFlags = winFlags;
|
||||
mStyleConfig.winFlags = winFlags;
|
||||
|
||||
updateWinFlags();
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
WindowStyleConfig UIWindow::getStyleConfig() const {
|
||||
return mStyleConfig;
|
||||
}
|
||||
|
||||
UIWindow * UIWindow::setStyleConfig(const WindowStyleConfig & styleConfig) {
|
||||
mStyleConfig = styleConfig;
|
||||
|
||||
updateWinFlags();
|
||||
|
||||
setAlpha( mStyleConfig.baseAlpha );
|
||||
|
||||
applyDefaultTheme();
|
||||
|
||||
applyMinWinSize();
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
UIWindow * UIWindow::setMinWindowSize( const Int32& width, const Int32& height ) {
|
||||
return setMinWindowSize( Sizei( width, height ) );
|
||||
}
|
||||
|
||||
UIWindow * UIWindow::setMinWindowSize( Sizei size ) {
|
||||
mStyleConfig.minWindowSize = size;
|
||||
|
||||
applyMinWinSize();
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
const Sizei& UIWindow::getMinWindowSize() {
|
||||
return mStyleConfig.minWindowSize;
|
||||
}
|
||||
|
||||
bool UIWindow::isModal() {
|
||||
return 0 != ( mWinFlags & UI_WIN_MODAL );
|
||||
return 0 != ( mStyleConfig.winFlags & UI_WIN_MODAL );
|
||||
}
|
||||
|
||||
UIControlAnim * UIWindow::getModalControl() const {
|
||||
@@ -1008,7 +1037,7 @@ UIControlAnim * UIWindow::getModalControl() const {
|
||||
void UIWindow::resizeCursor() {
|
||||
UIManager * Man = UIManager::instance();
|
||||
|
||||
if ( !isMouseOverMeOrChilds() || !Man->getUseGlobalCursors() || ( mWinFlags & UI_WIN_NO_BORDER ) || !( mWinFlags & UI_WIN_RESIZEABLE ) )
|
||||
if ( !isMouseOverMeOrChilds() || !Man->getUseGlobalCursors() || ( mStyleConfig.winFlags & UI_WIN_NO_BORDER ) || !( mStyleConfig.winFlags & UI_WIN_RESIZEABLE ) )
|
||||
return;
|
||||
|
||||
Vector2i Pos = Man->getMousePos();
|
||||
@@ -1023,9 +1052,9 @@ void UIWindow::resizeCursor() {
|
||||
} else if ( Pos.x >= ( mSize.getWidth() - mBorderRight->getSize().getWidth() ) ) {
|
||||
Man->setCursor( EE_CURSOR_SIZENESW ); // RESIZE_TOPRIGHT
|
||||
} else if ( Pos.y <= mBorderBottom->getSize().getHeight() ) {
|
||||
if ( Pos.x < mMinCornerDistance ) {
|
||||
if ( Pos.x < mStyleConfig.minCornerDistance ) {
|
||||
Man->setCursor( EE_CURSOR_SIZENWSE ); // RESIZE_TOPLEFT
|
||||
} else if ( Pos.x > mSize.getWidth() - mMinCornerDistance ) {
|
||||
} else if ( Pos.x > mSize.getWidth() - mStyleConfig.minCornerDistance ) {
|
||||
Man->setCursor( EE_CURSOR_SIZENESW ); // RESIZE_TOPRIGHT
|
||||
} else {
|
||||
Man->setCursor( EE_CURSOR_SIZENS ); // RESIZE_TOP
|
||||
@@ -1034,21 +1063,21 @@ void UIWindow::resizeCursor() {
|
||||
Man->setCursor( EE_CURSOR_ARROW );
|
||||
}
|
||||
} else if ( Control == mBorderBottom ) {
|
||||
if ( Pos.x < mMinCornerDistance ) {
|
||||
if ( Pos.x < mStyleConfig.minCornerDistance ) {
|
||||
Man->setCursor( EE_CURSOR_SIZENESW ); // RESIZE_LEFTBOTTOM
|
||||
} else if ( Pos.x > mSize.getWidth() - mMinCornerDistance ) {
|
||||
} else if ( Pos.x > mSize.getWidth() - mStyleConfig.minCornerDistance ) {
|
||||
Man->setCursor( EE_CURSOR_SIZENWSE ); // RESIZE_RIGHTBOTTOM
|
||||
} else {
|
||||
Man->setCursor( EE_CURSOR_SIZENS ); // RESIZE_BOTTOM
|
||||
}
|
||||
} else if ( Control == mBorderLeft ) {
|
||||
if ( Pos.y >= mSize.getHeight() - mMinCornerDistance ) {
|
||||
if ( Pos.y >= mSize.getHeight() - mStyleConfig.minCornerDistance ) {
|
||||
Man->setCursor( EE_CURSOR_SIZENESW ); // RESIZE_LEFTBOTTOM
|
||||
} else {
|
||||
Man->setCursor( EE_CURSOR_SIZEWE ); // RESIZE_LEFT
|
||||
}
|
||||
} else if ( Control == mBorderRight ) {
|
||||
if ( Pos.y >= mSize.getHeight() - mMinCornerDistance ) {
|
||||
if ( Pos.y >= mSize.getHeight() - mStyleConfig.minCornerDistance ) {
|
||||
Man->setCursor( EE_CURSOR_SIZENWSE ); // RESIZE_RIGHTBOTTOM
|
||||
} else {
|
||||
Man->setCursor( EE_CURSOR_SIZEWE ); // RESIZE_RIGHT
|
||||
|
||||
@@ -277,7 +277,7 @@ void EETest::createUI() {
|
||||
|
||||
eePRINTL( "Texture Atlas Loading Time: %4.3f ms.", TE.getElapsed().asMilliseconds() );
|
||||
|
||||
UIManager::instance()->init(); // UI_MANAGER_DRAW_BOXES | UI_MANAGER_HIGHLIGHT_FOCUS | UI_MANAGER_HIGHLIGHT_OVER
|
||||
UIManager::instance()->init(UI_MANAGER_DRAW_BOXES); // UI_MANAGER_DRAW_BOXES | UI_MANAGER_HIGHLIGHT_FOCUS | UI_MANAGER_HIGHLIGHT_OVER
|
||||
|
||||
//mTheme = UITheme::loadFromPath( eeNew( UIdefaultTheme, ( mThemeName, mThemeName ) ), MyPath + mThemeName + "/" );
|
||||
|
||||
@@ -299,7 +299,14 @@ void EETest::createUI() {
|
||||
Params.Border.setColor( 0x979797CC );
|
||||
Params.Background.setColors( ColorA( 0xEDEDED66 ), ColorA( 0xEDEDEDCC ), ColorA( 0xEDEDEDCC ), ColorA( 0xEDEDED66 ) );
|
||||
|
||||
UIWindow * tWin = mTheme->createWindow( NULL, Sizei( 530, 405 ), Vector2i( 320, 240 ), UI_CONTROL_DEFAULT_FLAGS_CENTERED, UI_WIN_DRAGABLE_CONTAINER , Sizei( 530, 405 ), 200 );
|
||||
UIWindow * tWin = UIWindow::New();
|
||||
tWin->setSize( 530, 405 )->setPosition( 320, 240 );
|
||||
WindowStyleConfig windowStyleConfig = tWin->getStyleConfig();
|
||||
windowStyleConfig.winFlags = UI_WIN_DRAGABLE_CONTAINER;
|
||||
windowStyleConfig.minWindowSize = Sizei( 530, 405 );
|
||||
windowStyleConfig.baseAlpha = 200;
|
||||
tWin->setStyleConfig( windowStyleConfig );
|
||||
|
||||
C = tWin->getContainer();
|
||||
tWin->setVisible( false )->setEnabled( false );
|
||||
|
||||
@@ -330,7 +337,12 @@ void EETest::createUI() {
|
||||
Child2->startRotation( 0.f, 360.f, Milliseconds( 5000.f ) );
|
||||
Child2->getRotationInterpolation()->setLoop( true );
|
||||
|
||||
mTheme->createSprite( eeNew( Sprite, ( "gn" ) ), C, Sizei(), Vector2i( 160, 100 ) );
|
||||
UISprite * sprite = UISprite::New();
|
||||
sprite->setFlags( UI_AUTO_SIZE );
|
||||
sprite->setSprite( eeNew( Sprite, ( "gn" ) ) );
|
||||
sprite->setDeallocSprite( true );
|
||||
sprite->setParent( C );
|
||||
sprite->setPosition( 160, 100 );
|
||||
|
||||
UITextBox::CreateParams TextParams;
|
||||
TextParams.setParent( C );
|
||||
@@ -638,7 +650,7 @@ void EETest::createNewUI() {
|
||||
pushButton->setText( "PushButton" );
|
||||
pushButton->setIcon( mTheme->getIconByName( "ok" ) );
|
||||
|
||||
UISprite * sprite = eeNew( UISprite, () );
|
||||
UISprite * sprite = UISprite::New();
|
||||
sprite->setPosition( 50, 600 );
|
||||
sprite->setSprite( &SP );
|
||||
|
||||
@@ -665,7 +677,7 @@ void EETest::createNewUI() {
|
||||
textEdit->setPosition( 350, 4 )->setSize( 200, 200 );
|
||||
textEdit->setText( mBuda );
|
||||
|
||||
UISpinBox * spinBox = eeNew( UISpinBox, () );
|
||||
UISpinBox * spinBox = UISpinBox::New();
|
||||
spinBox->setPosition( 350, 210 )->setSize( 200, 0 );
|
||||
|
||||
UIGenericGrid * genGrid = eeNew( UIGenericGrid, () );
|
||||
@@ -678,17 +690,20 @@ void EETest::createNewUI() {
|
||||
|
||||
for ( Uint32 i = 0; i < 15; i++ ) {
|
||||
UIGridCell * Cell = eeNew( UIGridCell, () );
|
||||
UITextBox * TxtBox = eeNew( UITextBox, () );
|
||||
UITextInput * TxtInput = eeNew( UITextInput, () );
|
||||
UIGfx * TxtGfx = eeNew( UIGfx, () );
|
||||
UITextBox * TxtBox = UITextBox::New();
|
||||
UITextInput * TxtInput = UITextInput::New();
|
||||
UIGfx * TxtGfx = UIGfx::New();
|
||||
TxtGfx->unsetFlags( UI_AUTO_SIZE );
|
||||
|
||||
Cell->setParent( genGrid->getContainer() );
|
||||
|
||||
TxtGfx->setSubTexture( mTheme->getIconByName( "ok" ) );
|
||||
TxtBox->setText( "Test " + String::toStr( i+1 ) );
|
||||
Cell->setCell( 0, TxtBox );
|
||||
Cell->setCell( 1, TxtGfx );
|
||||
Cell->setCell( 2, TxtInput );
|
||||
|
||||
TxtGfx->setSubTexture( mTheme->getIconByName( "ok" ) );
|
||||
TxtBox->setText( "Test " + String::toStr( i+1 ) );
|
||||
|
||||
genGrid->add( Cell );
|
||||
}
|
||||
|
||||
@@ -716,9 +731,9 @@ void EETest::createNewUI() {
|
||||
UITabWidget * TabWidget = eeNew( UITabWidget, () );
|
||||
TabWidget->setPosition( 350, 530 )->setSize( 200, 64 );
|
||||
|
||||
TabWidget->add( "Tab 1", (eeNew( UIComplexControl, () ))->setThemeControl( "winback" ), mTheme->getIconByName( "ok" ) );
|
||||
TabWidget->add( "Tab 2", (eeNew( UIComplexControl, () ))->setThemeControl( "winback" ), mTheme->getIconByName( "go-up" ) );
|
||||
TabWidget->add( "Tab 3", (eeNew( UIComplexControl, () ))->setThemeControl( "winback" ), mTheme->getIconByName( "add" ) );
|
||||
TabWidget->add( "Tab 1", UIComplexControl::New()->setThemeControl( "winback" ), mTheme->getIconByName( "ok" ) );
|
||||
TabWidget->add( "Tab 2", UIComplexControl::New()->setThemeControl( "winback" ), mTheme->getIconByName( "go-up" ) );
|
||||
TabWidget->add( "Tab 3", UIComplexControl::New()->setThemeControl( "winback" ), mTheme->getIconByName( "add" ) );
|
||||
|
||||
/**/
|
||||
}
|
||||
@@ -727,7 +742,13 @@ void EETest::createMapEditor() {
|
||||
if ( NULL != mMapEditor )
|
||||
return;
|
||||
|
||||
UIWindow * tWin = mTheme->createWindow( NULL, Sizei( 1024, 768 ), Vector2i(), UI_CONTROL_DEFAULT_FLAGS_CENTERED, UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON | UI_WIN_DRAGABLE_CONTAINER, Sizei( 1024, 768 ) );
|
||||
UIWindow * tWin = UIWindow::New();
|
||||
tWin->setSizeWithDecoration( 1024, 768 )->setPosition( 0, 0 );
|
||||
WindowStyleConfig windowStyleConfig = tWin->getStyleConfig();
|
||||
windowStyleConfig.winFlags = UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON | UI_WIN_DRAGABLE_CONTAINER;
|
||||
windowStyleConfig.minWindowSize = Sizei( 1024, 768 );
|
||||
tWin->setStyleConfig( windowStyleConfig );
|
||||
|
||||
mMapEditor = eeNew( MapEditor, ( tWin, cb::Make0( this, &EETest::onMapEditorClose ) ) );
|
||||
tWin->center();
|
||||
tWin->show();
|
||||
@@ -738,7 +759,13 @@ void EETest::onMapEditorClose() {
|
||||
}
|
||||
|
||||
void EETest::createETGEditor() {
|
||||
UIWindow * tWin = mTheme->createWindow( NULL, Sizei( 1024, 768 ), Vector2i(), UI_CONTROL_DEFAULT_FLAGS_CENTERED, UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON | UI_WIN_DRAGABLE_CONTAINER, Sizei( 1024, 768 ) );
|
||||
UIWindow * tWin = UIWindow::New();
|
||||
tWin->setSizeWithDecoration( 1024, 768 )->setPosition( 0, 0 );
|
||||
WindowStyleConfig windowStyleConfig = tWin->getStyleConfig();
|
||||
windowStyleConfig.winFlags = UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON | UI_WIN_DRAGABLE_CONTAINER;
|
||||
windowStyleConfig.minWindowSize = Sizei( 1024, 768 );
|
||||
tWin->setStyleConfig( windowStyleConfig );
|
||||
|
||||
mETGEditor = eeNew ( Tools::TextureAtlasEditor, ( tWin, cb::Make0( this, &EETest::onETGEditorClose ) ) );
|
||||
tWin->center();
|
||||
tWin->show();
|
||||
@@ -776,7 +803,9 @@ void EETest::createWinMenu() {
|
||||
}
|
||||
|
||||
void EETest::createDecoratedWindow() {
|
||||
mUIWindow = mTheme->createWindow( NULL, Sizei( 530, 350 ), Vector2i( 200, 50 ), UI_CONTROL_DEFAULT_FLAGS_CENTERED, UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON, Sizei( 100, 200 ) );
|
||||
mUIWindow = UIWindow::New();
|
||||
mUIWindow->setWinFlags( UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON )
|
||||
->setMinWindowSize( 530, 350 )->setPosition( 200, 50 );
|
||||
|
||||
mUIWindow->addEventListener( UIEvent::EventOnWindowCloseClick, cb::Make1( this, &EETest::onCloseClick ) );
|
||||
mUIWindow->setTitle( "Test Window" );
|
||||
@@ -792,17 +821,23 @@ void EETest::createDecoratedWindow() {
|
||||
TabWidget->setParent( mUIWindow->getContainer() )->setSize( 510, 250 )->setPosition( 10, 55 )->
|
||||
setFlags( UI_HALIGN_CENTER | UI_VALIGN_CENTER | UI_ANCHOR_RIGHT | UI_ANCHOR_BOTTOM | UI_ANCHOR_LEFT | UI_ANCHOR_TOP );
|
||||
|
||||
//mTheme->createTabWidget( mUIWindow->getContainer(), Sizei( 510, 250 ), Vector2i( 10, 55 ), UI_HALIGN_CENTER | UI_VALIGN_CENTER | UI_ANCHOR_RIGHT | UI_ANCHOR_BOTTOM | UI_ANCHOR_LEFT | UI_ANCHOR_TOP );
|
||||
|
||||
UITextEdit * TEdit = mTheme->createTextEdit( TabWidget, Sizei(), Vector2i() );
|
||||
UITextEdit * TEdit = UITextEdit::New();
|
||||
TEdit->setParent( TabWidget );
|
||||
TEdit->setText( mBuda );
|
||||
TabWidget->add( "TextEdit", TEdit );
|
||||
|
||||
UITextInput * Txt = mTheme->createTextInput( TabWidget, Sizei(), Vector2i(), UI_AUTO_PADDING | UI_WORD_WRAP | UI_TEXT_SELECTION_ENABLED );
|
||||
UITextInput * Txt = UITextInput::New();
|
||||
Txt->setFlags( UI_WORD_WRAP );
|
||||
Txt->setParent( TabWidget );
|
||||
Txt->setText( mBuda );
|
||||
TabWidget->add( "TextInput", Txt );
|
||||
|
||||
TabWidget->add( "TextBox", mTheme->createTextBox( mBuda, TabWidget, Sizei(), Vector2i(), UI_AUTO_PADDING | UI_WORD_WRAP | UI_TEXT_SELECTION_ENABLED ) );
|
||||
UITextBox * txtBox = UITextBox::New();
|
||||
txtBox->resetFlags( UI_HALIGN_LEFT | UI_VALIGN_TOP | UI_AUTO_PADDING | UI_WORD_WRAP | UI_TEXT_SELECTION_ENABLED );
|
||||
txtBox->setParent( TabWidget );
|
||||
txtBox->setText( mBuda );
|
||||
|
||||
TabWidget->add( "TextBox", txtBox );
|
||||
|
||||
createWinMenu();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user