#ifndef slic3r_OptionsGroup_hpp_ #define slic3r_OptionsGroup_hpp_ #include #include #include #include #include "libslic3r/Config.hpp" #include "libslic3r/PrintConfig.hpp" #include "Field.hpp" #include "GUI_App.hpp" #include "I18N.hpp" // Translate the ifdef #ifdef __WXOSX__ #define wxOSX true #else #define wxOSX false #endif #define BORDER(a, b) ((wxOSX ? a : b)) namespace Slic3r { namespace GUI { /// Widget type describes a function object that returns a wxWindow (our widget) and accepts a wxWidget (parent window). using widget_t = std::function;//!std::function; //auto default_label_clr = wxSystemSettings::GetColour(wxSYS_COLOUR_3DLIGHT); //GetSystemColour //auto modified_label_clr = *new wxColour(254, 189, 101); /// Wraps a ConfigOptionDef and adds function object for creating a side_widget. struct Option { ConfigOptionDef opt { ConfigOptionDef() }; t_config_option_key opt_id;//! {""}; widget_t side_widget {nullptr}; bool readonly {false}; Option(const ConfigOptionDef& _opt, t_config_option_key id) : opt(_opt), opt_id(id) {} }; using t_option = std::unique_ptr