mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-01 00:21:58 +08:00

ButtonsDescription class is splitted to separated items and put to the namespace GUI_Descriptions
78 lines
2.0 KiB
C++
78 lines
2.0 KiB
C++
#ifndef slic3r_ButtonsDescription_hpp
|
|
#define slic3r_ButtonsDescription_hpp
|
|
|
|
#include <wx/dialog.h>
|
|
#include <vector>
|
|
|
|
#include <wx/bmpbndl.h>
|
|
|
|
#include "BitmapComboBox.hpp"
|
|
|
|
class ScalableBitmap;
|
|
class wxColourPickerCtrl;
|
|
|
|
namespace Slic3r {
|
|
namespace GUI {
|
|
|
|
class BitmapCache;
|
|
|
|
// ---------------------------------
|
|
// *** PaletteComboBox ***
|
|
// ---------------------------------
|
|
|
|
// BitmapComboBox used to palets list in GUI Preferences
|
|
class ModePaletteComboBox : public BitmapComboBox
|
|
{
|
|
public:
|
|
ModePaletteComboBox(wxWindow* parent);
|
|
~ModePaletteComboBox() = default;
|
|
|
|
void UpdateSelection(const std::vector<wxColour>& palette_in);
|
|
|
|
protected:
|
|
// Caching bitmaps for the all bitmaps, used in preset comboboxes
|
|
static BitmapCache& bitmap_cache();
|
|
wxBitmapBundle* get_bmp( const std::vector<std::string>& palette);
|
|
};
|
|
|
|
namespace GUI_Descriptions {
|
|
|
|
struct ButtonEntry {
|
|
ButtonEntry(ScalableBitmap *bitmap, const std::string &symbol, const std::string &explanation) : bitmap(bitmap), symbol(symbol), explanation(explanation) {}
|
|
|
|
ScalableBitmap *bitmap;
|
|
std::string symbol;
|
|
std::string explanation;
|
|
};
|
|
|
|
class Dialog : public wxDialog
|
|
{
|
|
std::vector<ButtonEntry> m_entries;
|
|
|
|
wxColourPickerCtrl* sys_colour{ nullptr };
|
|
wxColourPickerCtrl* mod_colour{ nullptr };
|
|
|
|
wxColourPickerCtrl* simple { nullptr };
|
|
wxColourPickerCtrl* advanced { nullptr };
|
|
wxColourPickerCtrl* expert { nullptr };
|
|
|
|
std::vector<wxColour> mode_palette;
|
|
public:
|
|
|
|
Dialog(wxWindow* parent, const std::vector<ButtonEntry> &entries);
|
|
~Dialog() {}
|
|
};
|
|
|
|
extern void FillSizerWithTextColorDescriptions(wxSizer* sizer, wxWindow* parent, wxColourPickerCtrl** sys_colour, wxColourPickerCtrl** mod_colour);
|
|
extern void FillSizerWithModeColorDescriptions(wxSizer* sizer, wxWindow* parent,
|
|
std::vector<wxColourPickerCtrl**> clr_pickers,
|
|
std::vector<wxColour>& mode_palette);
|
|
} // GUI_Descriptions
|
|
|
|
} // GUI
|
|
} // Slic3r
|
|
|
|
|
|
#endif
|
|
|