Clean up RiuWidgetStyleSheet and add more comments

This commit is contained in:
Gaute Lindkvist
2019-10-30 12:33:19 +01:00
parent a925c0f29e
commit 5c79ff2573
2 changed files with 34 additions and 30 deletions

View File

@@ -93,7 +93,7 @@ RiuWidgetStyleSheet::RiuWidgetStyleSheet()
}
//--------------------------------------------------------------------------------------------------
///
/// Set keys and values directly to the default state
//--------------------------------------------------------------------------------------------------
void RiuWidgetStyleSheet::set( const QString& key, const QString& value )
{
@@ -101,7 +101,7 @@ void RiuWidgetStyleSheet::set( const QString& key, const QString& value )
}
//--------------------------------------------------------------------------------------------------
///
/// Get values directly from the default state
//--------------------------------------------------------------------------------------------------
QString RiuWidgetStyleSheet::get( const QString& key ) const
{
@@ -110,7 +110,7 @@ QString RiuWidgetStyleSheet::get( const QString& key ) const
}
//--------------------------------------------------------------------------------------------------
///
/// Access a particular state in the stylesheet
//--------------------------------------------------------------------------------------------------
RiuWidgetStyleSheet::State& RiuWidgetStyleSheet::state( StateTag stateTag )
{
@@ -121,19 +121,7 @@ RiuWidgetStyleSheet::State& RiuWidgetStyleSheet::state( StateTag stateTag )
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiuWidgetStyleSheet::propertyName( StateTag state )
{
if ( state < PSEUDO_STATE_LIMIT )
{
return StateTagEnum::text( state );
}
return "";
}
//--------------------------------------------------------------------------------------------------
///
/// Apply the current stylesheet to the provided widget instance
//--------------------------------------------------------------------------------------------------
void RiuWidgetStyleSheet::applyToWidget( QWidget* widget ) const
{
@@ -144,16 +132,7 @@ void RiuWidgetStyleSheet::applyToWidget( QWidget* widget ) const
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuWidgetStyleSheet::refreshWidget( QWidget* widget ) const
{
widget->style()->unpolish( widget );
widget->style()->polish( widget );
}
//--------------------------------------------------------------------------------------------------
///
/// Put the provided widget into the provided state
//--------------------------------------------------------------------------------------------------
void RiuWidgetStyleSheet::setWidgetState( QWidget* widget, StateTag widgetState ) const
{
@@ -187,6 +166,15 @@ QString RiuWidgetStyleSheet::fullText( const QString& className, const QString&
return textForAllStates.join( "\n" );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuWidgetStyleSheet::refreshWidget( QWidget* widget ) const
{
widget->style()->unpolish( widget );
widget->style()->polish( widget );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -203,3 +191,15 @@ QString RiuWidgetStyleSheet::buildStateString( StateTag state )
}
return stateString;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiuWidgetStyleSheet::propertyName( StateTag state )
{
if ( state < PSEUDO_STATE_LIMIT )
{
return StateTagEnum::text( state );
}
return "";
}

View File

@@ -37,12 +37,14 @@ public:
enum StateTag
{
DEFAULT = 0x0000,
// Dynamic Properties:
// Dynamic Properties (Applied to a widget using setWidgetState())
SELECTED = 0x0001,
DRAG_TARGET_BEFORE = 0x0002,
DRAG_TARGET_AFTER = 0x0004,
DRAG_TARGET_INTO = 0x0008,
// Pseudo States:
// Pseudo States (Qt sets the widget into these states automatically)
// And we have no way of forcing the widget to be in this state.
// However we can define the look when the widget is in the state
PSEUDO_STATE_LIMIT = 0x1000,
HOVER = 0x1000
};
@@ -54,6 +56,9 @@ public:
State( const QString& stateString );
void set( const QString& key, const QString& value );
QString get( const QString& key ) const;
private:
friend class RiuWidgetStyleSheet;
QString fullText( const QString& className, const QString& objectName ) const;
private:
@@ -69,8 +74,6 @@ public:
State& state( StateTag stateTag );
static QString propertyName( StateTag stateTag );
void applyToWidget( QWidget* widget ) const;
void setWidgetState( QWidget* widget, StateTag widgetState ) const;
@@ -80,6 +83,7 @@ private:
void refreshWidget( QWidget* widget ) const;
static QString buildStateString( StateTag stateTag );
static QString propertyName( StateTag stateTag );
private:
std::map<StateTag, State> m_states;