Files
OrcaSlicer/src/slic3r/GUI/Widgets/StaticBox.hpp
fei2.fang 470ed6af5d FIX: Support dark mode in filament picker
- Applied dark theme styling to filament picker dialog
- Fixed color picker background not updating on theme switch

jira: STUDIO-12935

Change-Id: I9c7dcc518e7b0bd2c330f477ee42f4c61ea9fd4b
(cherry picked from commit 66ae7a02b945ff603b2dc699c93e55589481379e)
2025-09-28 14:19:02 +08:00

69 lines
1.6 KiB
C++

#ifndef slic3r_GUI_StaticBox_hpp_
#define slic3r_GUI_StaticBox_hpp_
#include "../wxExtensions.hpp"
#include "StateHandler.hpp"
#include <wx/window.h>
class StaticBox : public wxWindow
{
public:
StaticBox();
StaticBox(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize,
long style = 0);
bool Create(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize,
long style = 0);
void SetCornerRadius(double radius);
void SetBorderWidth(int width);
void SetBorderColor(StateColor const & color);
void SetBorderColorNormal(wxColor const &color);
void SetBorderStyle(wxPenStyle style);
void SetBackgroundColor(StateColor const &color);
void SetBackgroundColorNormal(wxColor const &color);
void SetBackgroundColor2(StateColor const &color);
static wxColor GetParentBackgroundColor(wxWindow * parent);
void ShowBadge(bool show);
protected:
void eraseEvent(wxEraseEvent& evt);
void paintEvent(wxPaintEvent& evt);
void render(wxDC& dc);
virtual void doRender(wxDC& dc);
protected:
double radius;
int border_width = 1;
wxPenStyle border_style = wxPENSTYLE_SOLID;
StateHandler state_handler;
StateColor border_color;
StateColor background_color;
StateColor background_color2;
ScalableBitmap badge;
DECLARE_EVENT_TABLE()
};
#endif // !slic3r_GUI_StaticBox_hpp_