Initial steps for icon buttons.

This commit is contained in:
jmsgrogan 2023-01-18 20:25:13 +00:00
parent 8130308f7f
commit f2ab532005
17 changed files with 66 additions and 2 deletions

View file

@ -62,16 +62,21 @@ void Button::setEnabled(bool isEnabled)
if (mEnabled != isEnabled)
{
mEnabled = isEnabled;
if (mStyle.mState == ButtonData::State::Disabled)
if (isEnabled && mStyle.mState == ButtonData::State::Disabled)
{
setState(ButtonData::State::Enabled);
}
else if (!isEnabled && mStyle.mState == ButtonData::State::Enabled)
{
setState(ButtonData::State::Disabled);
}
}
}
void Button::updateState()
{
setBackground(mStyle.getContainerColor());
setBackgroundOpacity(mStyle.getStateLayerOverlayOpacity());
setBackgroundTone(mStyle.getContainerSurfaceTintColor());
setElevation(mStyle.getContainerElevation());

View file

@ -10,6 +10,7 @@
class PaintEvent;
class MouseEvent;
class TextNode;
class IconNode;
class Button : public Widget
{
@ -57,6 +58,8 @@ private:
std::unique_ptr<TextNode> mTextNode;
bool mContentDirty{true};
std::unique_ptr<IconNode> mIconNode;
bool mEnabled{ true };
};

View file

@ -36,6 +36,10 @@ list(APPEND LIB_INCLUDES
style/FontTokens.cpp
style/ElevationTokens.h
style/OpacityTokens.h
style/MediaResources.h
style/MediaResources.cpp
style/MediaResourceManager.h
style/MediaResourceManager.cpp
IconNode.h
IconNode.cpp
)

View file

@ -0,0 +1,9 @@
#pragma once
#include "AbstractVisualNode.h"
class IconNode
{
private:
};