mirror of
https://github.com/scorpion-26/gBar.git
synced 2024-11-22 11:12:49 +00:00
Allow AddClass before widget creation
This is necessary for multiple layout classes.
This commit is contained in:
parent
1279d3e2fb
commit
952f020fb5
2 changed files with 7 additions and 0 deletions
|
@ -87,6 +87,7 @@ void Widget::AddClass(const std::string& cssClass)
|
||||||
auto style = gtk_widget_get_style_context(m_Widget);
|
auto style = gtk_widget_get_style_context(m_Widget);
|
||||||
gtk_style_context_add_class(style, cssClass.c_str());
|
gtk_style_context_add_class(style, cssClass.c_str());
|
||||||
}
|
}
|
||||||
|
m_AdditionalClasses.insert(cssClass);
|
||||||
}
|
}
|
||||||
void Widget::RemoveClass(const std::string& cssClass)
|
void Widget::RemoveClass(const std::string& cssClass)
|
||||||
{
|
{
|
||||||
|
@ -95,6 +96,7 @@ void Widget::RemoveClass(const std::string& cssClass)
|
||||||
auto style = gtk_widget_get_style_context(m_Widget);
|
auto style = gtk_widget_get_style_context(m_Widget);
|
||||||
gtk_style_context_remove_class(style, cssClass.c_str());
|
gtk_style_context_remove_class(style, cssClass.c_str());
|
||||||
}
|
}
|
||||||
|
m_AdditionalClasses.erase(cssClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Widget::SetVerticalTransform(const Transform& transform)
|
void Widget::SetVerticalTransform(const Transform& transform)
|
||||||
|
@ -176,6 +178,9 @@ void Widget::ApplyPropertiesToWidget()
|
||||||
// Apply style
|
// Apply style
|
||||||
auto style = gtk_widget_get_style_context(m_Widget);
|
auto style = gtk_widget_get_style_context(m_Widget);
|
||||||
gtk_style_context_add_class(style, m_CssClass.c_str());
|
gtk_style_context_add_class(style, m_CssClass.c_str());
|
||||||
|
for (auto& cssClass : m_AdditionalClasses) {
|
||||||
|
gtk_style_context_add_class(style, cssClass.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
gtk_widget_set_tooltip_text(m_Widget, m_Tooltip.c_str());
|
gtk_widget_set_tooltip_text(m_Widget, m_Tooltip.c_str());
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
#include <unordered_set>
|
||||||
|
|
||||||
enum class Alignment
|
enum class Alignment
|
||||||
{
|
{
|
||||||
|
@ -175,6 +176,7 @@ protected:
|
||||||
std::vector<std::unique_ptr<Widget>> m_Childs;
|
std::vector<std::unique_ptr<Widget>> m_Childs;
|
||||||
|
|
||||||
std::string m_CssClass;
|
std::string m_CssClass;
|
||||||
|
std::unordered_set<std::string> m_AdditionalClasses;
|
||||||
std::string m_Tooltip;
|
std::string m_Tooltip;
|
||||||
Transform m_HorizontalTransform; // X
|
Transform m_HorizontalTransform; // X
|
||||||
Transform m_VerticalTransform; // Y
|
Transform m_VerticalTransform; // Y
|
||||||
|
|
Loading…
Reference in a new issue