mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-13 05:09:03 +08:00
Add svg icons
This commit is contained in:
parent
309ec878dd
commit
8bc828919c
4
resources/icons/svg_modifier.svg
Normal file
4
resources/icons/svg_modifier.svg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16px" height="16px">
|
||||||
|
<path fill="#808080" d="M 1.5,3 C 0.47,3 0,3.5 0,4.5 v 10 C 0,15.36 0.63,16 1.5,16 h 10 c 0.86,0 1.5,-0.63 1.5,-1.5 V 13 h -1 v 1.5 C 12,14.8 11.79,15 11.5,15 H 1.5 C 1.17,15 1,14.7 1,14.5 L 1,4.5 C 1,4.18 1.2,4 1.5,4 H 8 C 8.35,4 8.5,3.78 8.5,3.5 8.5,3.2 8.3,3 8,3 Z M 5,7 4,8 v 1 l 1,1 h 1 v 1 H 4 v 1 H 6 L 7,11 V 10 L 6,9 H 5 V 8 H 7 V 7 Z m 3,0 v 4 H 9 V 7 Z m 1,4 v 1 h 1 v -1 z m 1,0 h 1 V 7 H 10 Z M 13.5,7 C 12.5,7 12,7.6 12,8.5 V 10.5 C 12,11.4 12.7,12 13.5,12 h 1.5 v -2 h -1 v 1 H 13.5 C 13.3,11 13,10.8 13,10.5 V 8.5 C 13,8 13.2,8 13.5,8 h 0 1.5 V 7 Z M 2,11 v 1 h 1 v -1 z" />
|
||||||
|
<path fill="#ed6b21" d="m 12.5,1 a 2.5,2.5 0 0 0 -2.5,2.5 2.5,2.5 0 0 0 2.5,2.5 2.5,2.5 0 0 0 2.5,-2.5 2.5,2.5 0 0 0 -2.5,-2.5 z m 0.144531,1 a 1.5,1.5 0 0 1 1.355469,1.355469 z m -0.632812,0 1.90625,2 a 1.5,1.5 0 0 1 -0.628906,0.773438 l -2,-2 a 1.5,1.5 0 0 1 0.7,-0.7 z m -1,1.2 1.78,1.78 a 1.5,1.5 0 0 1 -0.28125,0 1.5,1.5 0 0 1 -1.5,-1.5 1.5,1.5 0 0 1 0,-0.28125 z" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.0 KiB |
41
resources/icons/svg_negative.svg
Normal file
41
resources/icons/svg_negative.svg
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
width="16px"
|
||||||
|
height="16px"
|
||||||
|
version="1.1"
|
||||||
|
id="svg6"
|
||||||
|
sodipodi:docname="svg_negative.svg"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||||
|
id="defs10" /><sodipodi:namedview
|
||||||
|
id="namedview8"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="71.064231"
|
||||||
|
inkscape:cx="9.7869207"
|
||||||
|
inkscape:cy="5.1432344"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="991"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg6"><inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid309" /></sodipodi:namedview><path
|
||||||
|
fill="#808080"
|
||||||
|
d="M 1.5,3 C 0.47,3 0,3.5 0,4.5 v 10 C 0,15.36 0.63,16 1.5,16 h 10 c 0.86,0 1.5,-0.63 1.5,-1.5 V 13 h -1 v 1.5 C 12,14.8 11.79,15 11.5,15 H 1.5 C 1.17,15 1,14.7 1,14.5 L 1,4.5 C 1,4.18 1.2,4 1.5,4 H 8 C 8.35,4 8.5,3.78 8.5,3.5 8.5,3.2 8.3,3 8,3 Z M 5,7 4,8 v 1 l 1,1 h 1 v 1 H 4 v 1 H 6 L 7,11 V 10 L 6,9 H 5 V 8 H 7 V 7 Z m 3,0 v 4 H 9 V 7 Z m 1,4 v 1 h 1 v -1 z m 1,0 h 1 V 7 H 10 Z M 13.5,7 C 12.5,7 12,7.6 12,8.5 V 10.5 C 12,11.4 12.7,12 13.5,12 h 1.5 v -2 h -1 v 1 H 13.5 C 13.3,11 13,10.8 13,10.5 V 8.5 C 13,8 13.2,8 13.5,8 h 0 1.5 V 7 Z M 2,11 v 1 h 1 v -1 z"
|
||||||
|
id="path2" /><path
|
||||||
|
fill="#ed6b21"
|
||||||
|
d="M 11,3 C 10.5,3 10,3 10,3.5 10,4 10.5,4 11,4 h 3 C 14.5,4 15,4 15,3.5 15,3 14.5,3 14,3 Z"
|
||||||
|
id="path187" /></svg>
|
After Width: | Height: | Size: 1.9 KiB |
41
resources/icons/svg_part.svg
Normal file
41
resources/icons/svg_part.svg
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
width="16px"
|
||||||
|
height="16px"
|
||||||
|
version="1.1"
|
||||||
|
id="svg6"
|
||||||
|
sodipodi:docname="svg_part.svg"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||||
|
id="defs10" /><sodipodi:namedview
|
||||||
|
id="namedview8"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="100.5"
|
||||||
|
inkscape:cx="16.402985"
|
||||||
|
inkscape:cy="4.4228856"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="991"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg6"><inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid309" /></sodipodi:namedview><path
|
||||||
|
fill="#808080"
|
||||||
|
d="M 1.5,3 C 0.47,3 0,3.5 0,4.5 v 10 C 0,15.36 0.63,16 1.5,16 h 10 c 0.86,0 1.5,-0.63 1.5,-1.5 V 13 h -1 v 1.5 C 12,14.8 11.79,15 11.5,15 H 1.5 C 1.17,15 1,14.7 1,14.5 L 1,4.5 C 1,4.18 1.2,4 1.5,4 H 8 C 8.35,4 8.5,3.78 8.5,3.5 8.5,3.2 8.3,3 8,3 Z M 5,7 4,8 v 1 l 1,1 h 1 v 1 H 4 v 1 H 6 L 7,11 V 10 L 6,9 H 5 V 8 H 7 V 7 Z m 3,0 v 4 H 9 V 7 Z m 1,4 v 1 h 1 v -1 z m 1,0 h 1 V 7 H 10 Z M 13.5,7 C 12.5,7 12,7.6 12,8.5 V 10.5 C 12,11.4 12.7,12 13.5,12 h 1.5 v -2 h -1 v 1 H 13.5 C 13.3,11 13,10.8 13,10.5 V 8.5 C 13,8 13.2,8 13.5,8 h 0 1.5 V 7 Z M 2,11 v 1 h 1 v -1 z"
|
||||||
|
id="path2" /><path
|
||||||
|
fill="#ed6b21"
|
||||||
|
d="M 12.5,1 C 12,1 12,1.5 12,2 V 3 H 11 C 10.5,3 10,3 10,3.5 10,4 10.5,4 11,4 h 1 v 1 c 0,0.5 0,1 0.5,1 C 13,6 13,5.5 13,5 V 4 h 1 C 14.5,4 15,4 15,3.5 15,3 14.5,3 14,3 H 13 V 2 C 13,1.5 13,1 12.5,1 Z"
|
||||||
|
id="path183" /></svg>
|
After Width: | Height: | Size: 2.0 KiB |
@ -845,6 +845,7 @@ public:
|
|||||||
bool is_support_blocker() const { return m_type == ModelVolumeType::SUPPORT_BLOCKER; }
|
bool is_support_blocker() const { return m_type == ModelVolumeType::SUPPORT_BLOCKER; }
|
||||||
bool is_support_modifier() const { return m_type == ModelVolumeType::SUPPORT_BLOCKER || m_type == ModelVolumeType::SUPPORT_ENFORCER; }
|
bool is_support_modifier() const { return m_type == ModelVolumeType::SUPPORT_BLOCKER || m_type == ModelVolumeType::SUPPORT_ENFORCER; }
|
||||||
bool is_text() const { return text_configuration.has_value(); }
|
bool is_text() const { return text_configuration.has_value(); }
|
||||||
|
bool is_svg() const { return emboss_shape.has_value() && !text_configuration.has_value(); }
|
||||||
bool is_the_only_one_part() const; // behave like an object
|
bool is_the_only_one_part() const; // behave like an object
|
||||||
t_model_material_id material_id() const { return m_material_id; }
|
t_model_material_id material_id() const { return m_material_id; }
|
||||||
void reset_extra_facets();
|
void reset_extra_facets();
|
||||||
|
@ -175,6 +175,12 @@ static const constexpr std::array<std::pair<const char *, const char *>, 3> TEXT
|
|||||||
{L("Add negative text"), "add_text_negative" }, // ~ModelVolumeType::NEGATIVE_VOLUME
|
{L("Add negative text"), "add_text_negative" }, // ~ModelVolumeType::NEGATIVE_VOLUME
|
||||||
{L("Add text modifier"), "add_text_modifier"}, // ~ModelVolumeType::PARAMETER_MODIFIER
|
{L("Add text modifier"), "add_text_modifier"}, // ~ModelVolumeType::PARAMETER_MODIFIER
|
||||||
}};
|
}};
|
||||||
|
// Note: id accords to type of the sub-object (adding volume), so sequence of the menu items is important
|
||||||
|
static const constexpr std::array<std::pair<const char *, const char *>, 3> SVG_VOLUME_ICONS{{
|
||||||
|
{L("Add svg part"), "svg_part"}, // ~ModelVolumeType::MODEL_PART
|
||||||
|
{L("Add negative svg"), "svg_negative"}, // ~ModelVolumeType::NEGATIVE_VOLUME
|
||||||
|
{L("Add svg modifier"), "svg_modifier"}, // ~ModelVolumeType::PARAMETER_MODIFIER
|
||||||
|
}};
|
||||||
|
|
||||||
static Plater* plater()
|
static Plater* plater()
|
||||||
{
|
{
|
||||||
@ -446,7 +452,7 @@ std::vector<wxBitmapBundle*> MenuFactory::get_volume_bitmaps()
|
|||||||
{
|
{
|
||||||
std::vector<wxBitmapBundle*> volume_bmps;
|
std::vector<wxBitmapBundle*> volume_bmps;
|
||||||
volume_bmps.reserve(ADD_VOLUME_MENU_ITEMS.size());
|
volume_bmps.reserve(ADD_VOLUME_MENU_ITEMS.size());
|
||||||
for (auto item : ADD_VOLUME_MENU_ITEMS)
|
for (const auto& item : ADD_VOLUME_MENU_ITEMS)
|
||||||
volume_bmps.push_back(get_bmp_bundle(item.second));
|
volume_bmps.push_back(get_bmp_bundle(item.second));
|
||||||
return volume_bmps;
|
return volume_bmps;
|
||||||
}
|
}
|
||||||
@ -455,7 +461,16 @@ std::vector<wxBitmapBundle*> MenuFactory::get_text_volume_bitmaps()
|
|||||||
{
|
{
|
||||||
std::vector<wxBitmapBundle*> volume_bmps;
|
std::vector<wxBitmapBundle*> volume_bmps;
|
||||||
volume_bmps.reserve(TEXT_VOLUME_ICONS.size());
|
volume_bmps.reserve(TEXT_VOLUME_ICONS.size());
|
||||||
for (auto item : TEXT_VOLUME_ICONS)
|
for (const auto& item : TEXT_VOLUME_ICONS)
|
||||||
|
volume_bmps.push_back(get_bmp_bundle(item.second));
|
||||||
|
return volume_bmps;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<wxBitmapBundle*> MenuFactory::get_svg_volume_bitmaps()
|
||||||
|
{
|
||||||
|
std::vector<wxBitmapBundle *> volume_bmps;
|
||||||
|
volume_bmps.reserve(SVG_VOLUME_ICONS.size());
|
||||||
|
for (const auto &item : SVG_VOLUME_ICONS)
|
||||||
volume_bmps.push_back(get_bmp_bundle(item.second));
|
volume_bmps.push_back(get_bmp_bundle(item.second));
|
||||||
return volume_bmps;
|
return volume_bmps;
|
||||||
}
|
}
|
||||||
|
@ -39,6 +39,7 @@ class MenuFactory
|
|||||||
public:
|
public:
|
||||||
static std::vector<wxBitmapBundle*> get_volume_bitmaps();
|
static std::vector<wxBitmapBundle*> get_volume_bitmaps();
|
||||||
static std::vector<wxBitmapBundle*> get_text_volume_bitmaps();
|
static std::vector<wxBitmapBundle*> get_text_volume_bitmaps();
|
||||||
|
static std::vector<wxBitmapBundle*> get_svg_volume_bitmaps();
|
||||||
|
|
||||||
MenuFactory();
|
MenuFactory();
|
||||||
~MenuFactory() = default;
|
~MenuFactory() = default;
|
||||||
|
@ -3054,6 +3054,7 @@ wxDataViewItemArray ObjectList::add_volumes_to_object_in_list(size_t obj_idx, st
|
|||||||
volume_idx,
|
volume_idx,
|
||||||
volume->type(),
|
volume->type(),
|
||||||
volume->is_text(),
|
volume->is_text(),
|
||||||
|
volume->is_svg(),
|
||||||
get_warning_icon_name(volume->mesh().stats()),
|
get_warning_icon_name(volume->mesh().stats()),
|
||||||
extruder2str(volume->config.has("extruder") ? volume->config.extruder() : 0));
|
extruder2str(volume->config.has("extruder") ? volume->config.extruder() : 0));
|
||||||
add_settings_item(vol_item, &volume->config.get());
|
add_settings_item(vol_item, &volume->config.get());
|
||||||
|
@ -80,6 +80,7 @@ ObjectDataViewModelNode::ObjectDataViewModelNode(ObjectDataViewModelNode* pare
|
|||||||
const wxString& sub_obj_name,
|
const wxString& sub_obj_name,
|
||||||
Slic3r::ModelVolumeType type,
|
Slic3r::ModelVolumeType type,
|
||||||
const bool is_text_volume,
|
const bool is_text_volume,
|
||||||
|
const bool is_svg_volume,
|
||||||
const wxString& extruder,
|
const wxString& extruder,
|
||||||
const int idx/* = -1*/) :
|
const int idx/* = -1*/) :
|
||||||
m_parent(parent),
|
m_parent(parent),
|
||||||
@ -87,6 +88,7 @@ ObjectDataViewModelNode::ObjectDataViewModelNode(ObjectDataViewModelNode* pare
|
|||||||
m_type(itVolume),
|
m_type(itVolume),
|
||||||
m_volume_type(type),
|
m_volume_type(type),
|
||||||
m_is_text_volume(is_text_volume),
|
m_is_text_volume(is_text_volume),
|
||||||
|
m_is_svg_volume(is_svg_volume),
|
||||||
m_idx(idx),
|
m_idx(idx),
|
||||||
m_extruder(type == Slic3r::ModelVolumeType::MODEL_PART || type == Slic3r::ModelVolumeType::PARAMETER_MODIFIER ? extruder : "")
|
m_extruder(type == Slic3r::ModelVolumeType::MODEL_PART || type == Slic3r::ModelVolumeType::PARAMETER_MODIFIER ? extruder : "")
|
||||||
{
|
{
|
||||||
@ -338,6 +340,7 @@ ObjectDataViewModel::ObjectDataViewModel()
|
|||||||
{
|
{
|
||||||
m_volume_bmps = MenuFactory::get_volume_bitmaps();
|
m_volume_bmps = MenuFactory::get_volume_bitmaps();
|
||||||
m_text_volume_bmps = MenuFactory::get_text_volume_bitmaps();
|
m_text_volume_bmps = MenuFactory::get_text_volume_bitmaps();
|
||||||
|
m_svg_volume_bmps = MenuFactory::get_svg_volume_bitmaps();
|
||||||
m_warning_bmp = *get_bmp_bundle(WarningIcon);
|
m_warning_bmp = *get_bmp_bundle(WarningIcon);
|
||||||
m_warning_manifold_bmp = *get_bmp_bundle(WarningManifoldIcon);
|
m_warning_manifold_bmp = *get_bmp_bundle(WarningManifoldIcon);
|
||||||
m_lock_bmp = *get_bmp_bundle(LockIcon);
|
m_lock_bmp = *get_bmp_bundle(LockIcon);
|
||||||
@ -360,7 +363,10 @@ void ObjectDataViewModel::UpdateBitmapForNode(ObjectDataViewModelNode* node)
|
|||||||
bool is_volume_node = vol_type >= 0;
|
bool is_volume_node = vol_type >= 0;
|
||||||
|
|
||||||
if (!node->has_warning_icon() && !node->has_lock()) {
|
if (!node->has_warning_icon() && !node->has_lock()) {
|
||||||
node->SetBitmap(is_volume_node ? (node->is_text_volume() ? *m_text_volume_bmps.at(vol_type) : *m_volume_bmps.at(vol_type)) : m_empty_bmp);
|
node->SetBitmap(is_volume_node ? (
|
||||||
|
node->is_text_volume() ? *m_text_volume_bmps.at(vol_type) :
|
||||||
|
node->is_svg_volume() ? *m_svg_volume_bmps.at(vol_type) :
|
||||||
|
*m_volume_bmps.at(vol_type)) : m_empty_bmp);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -381,7 +387,10 @@ void ObjectDataViewModel::UpdateBitmapForNode(ObjectDataViewModelNode* node)
|
|||||||
if (node->has_lock())
|
if (node->has_lock())
|
||||||
bmps.emplace_back(&m_lock_bmp);
|
bmps.emplace_back(&m_lock_bmp);
|
||||||
if (is_volume_node)
|
if (is_volume_node)
|
||||||
bmps.emplace_back(node->is_text_volume() ? m_text_volume_bmps[vol_type] : m_volume_bmps[vol_type]);
|
bmps.emplace_back(
|
||||||
|
node->is_text_volume() ? m_text_volume_bmps[vol_type] :
|
||||||
|
node->is_svg_volume() ? m_svg_volume_bmps[vol_type] :
|
||||||
|
m_volume_bmps[vol_type]);
|
||||||
bmp = m_bitmap_cache->insert_bndl(scaled_bitmap_name, bmps);
|
bmp = m_bitmap_cache->insert_bndl(scaled_bitmap_name, bmps);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -418,6 +427,7 @@ wxDataViewItem ObjectDataViewModel::AddVolumeChild( const wxDataViewItem &parent
|
|||||||
const int volume_idx,
|
const int volume_idx,
|
||||||
const Slic3r::ModelVolumeType volume_type,
|
const Slic3r::ModelVolumeType volume_type,
|
||||||
const bool is_text_volume,
|
const bool is_text_volume,
|
||||||
|
const bool is_svg_volume,
|
||||||
const std::string& warning_icon_name,
|
const std::string& warning_icon_name,
|
||||||
const wxString& extruder)
|
const wxString& extruder)
|
||||||
{
|
{
|
||||||
@ -429,7 +439,7 @@ wxDataViewItem ObjectDataViewModel::AddVolumeChild( const wxDataViewItem &parent
|
|||||||
if (insert_position < 0)
|
if (insert_position < 0)
|
||||||
insert_position = get_root_idx(root, itInstanceRoot);
|
insert_position = get_root_idx(root, itInstanceRoot);
|
||||||
|
|
||||||
const auto node = new ObjectDataViewModelNode(root, name, volume_type, is_text_volume, extruder, volume_idx);
|
const auto node = new ObjectDataViewModelNode(root, name, volume_type, is_text_volume, is_svg_volume, extruder, volume_idx);
|
||||||
UpdateBitmapForNode(node, warning_icon_name, root->has_lock() && volume_type < ModelVolumeType::PARAMETER_MODIFIER);
|
UpdateBitmapForNode(node, warning_icon_name, root->has_lock() && volume_type < ModelVolumeType::PARAMETER_MODIFIER);
|
||||||
insert_position < 0 ? root->Append(node) : root->Insert(node, insert_position);
|
insert_position < 0 ? root->Append(node) : root->Insert(node, insert_position);
|
||||||
|
|
||||||
@ -1688,6 +1698,7 @@ void ObjectDataViewModel::UpdateBitmaps()
|
|||||||
{
|
{
|
||||||
m_volume_bmps = MenuFactory::get_volume_bitmaps();
|
m_volume_bmps = MenuFactory::get_volume_bitmaps();
|
||||||
m_text_volume_bmps = MenuFactory::get_text_volume_bitmaps();
|
m_text_volume_bmps = MenuFactory::get_text_volume_bitmaps();
|
||||||
|
m_svg_volume_bmps = MenuFactory::get_svg_volume_bitmaps();
|
||||||
m_warning_bmp = *get_bmp_bundle(WarningIcon);
|
m_warning_bmp = *get_bmp_bundle(WarningIcon);
|
||||||
m_warning_manifold_bmp = *get_bmp_bundle(WarningManifoldIcon);
|
m_warning_manifold_bmp = *get_bmp_bundle(WarningManifoldIcon);
|
||||||
m_lock_bmp = *get_bmp_bundle(LockIcon);
|
m_lock_bmp = *get_bmp_bundle(LockIcon);
|
||||||
|
@ -89,6 +89,7 @@ class ObjectDataViewModelNode
|
|||||||
std::string m_action_icon_name = "";
|
std::string m_action_icon_name = "";
|
||||||
ModelVolumeType m_volume_type{ -1 };
|
ModelVolumeType m_volume_type{ -1 };
|
||||||
bool m_is_text_volume{ false };
|
bool m_is_text_volume{ false };
|
||||||
|
bool m_is_svg_volume{false};
|
||||||
InfoItemType m_info_item_type {InfoItemType::Undef};
|
InfoItemType m_info_item_type {InfoItemType::Undef};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -107,6 +108,7 @@ public:
|
|||||||
const wxString& sub_obj_name,
|
const wxString& sub_obj_name,
|
||||||
Slic3r::ModelVolumeType type,
|
Slic3r::ModelVolumeType type,
|
||||||
const bool is_text_volume,
|
const bool is_text_volume,
|
||||||
|
const bool is_svg_volume,
|
||||||
const wxString& extruder,
|
const wxString& extruder,
|
||||||
const int idx = -1 );
|
const int idx = -1 );
|
||||||
|
|
||||||
@ -242,6 +244,7 @@ public:
|
|||||||
bool update_settings_digest(const std::vector<std::string>& categories);
|
bool update_settings_digest(const std::vector<std::string>& categories);
|
||||||
int volume_type() const { return int(m_volume_type); }
|
int volume_type() const { return int(m_volume_type); }
|
||||||
bool is_text_volume() const { return m_is_text_volume; }
|
bool is_text_volume() const { return m_is_text_volume; }
|
||||||
|
bool is_svg_volume() const { return m_is_svg_volume; }
|
||||||
void sys_color_changed();
|
void sys_color_changed();
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
@ -268,7 +271,8 @@ class ObjectDataViewModel :public wxDataViewModel
|
|||||||
{
|
{
|
||||||
std::vector<ObjectDataViewModelNode*> m_objects;
|
std::vector<ObjectDataViewModelNode*> m_objects;
|
||||||
std::vector<wxBitmapBundle*> m_volume_bmps;
|
std::vector<wxBitmapBundle*> m_volume_bmps;
|
||||||
std::vector<wxBitmapBundle*> m_text_volume_bmps;
|
std::vector<wxBitmapBundle *> m_text_volume_bmps;
|
||||||
|
std::vector<wxBitmapBundle *> m_svg_volume_bmps;
|
||||||
std::map<InfoItemType, wxBitmapBundle*> m_info_bmps;
|
std::map<InfoItemType, wxBitmapBundle*> m_info_bmps;
|
||||||
wxBitmapBundle m_empty_bmp;
|
wxBitmapBundle m_empty_bmp;
|
||||||
wxBitmapBundle m_warning_bmp;
|
wxBitmapBundle m_warning_bmp;
|
||||||
@ -290,6 +294,7 @@ public:
|
|||||||
const int volume_idx,
|
const int volume_idx,
|
||||||
const Slic3r::ModelVolumeType volume_type,
|
const Slic3r::ModelVolumeType volume_type,
|
||||||
const bool is_text_volume,
|
const bool is_text_volume,
|
||||||
|
const bool is_svg_volume,
|
||||||
const std::string& warning_icon_name,
|
const std::string& warning_icon_name,
|
||||||
const wxString& extruder);
|
const wxString& extruder);
|
||||||
wxDataViewItem AddSettingsChild(const wxDataViewItem &parent_item);
|
wxDataViewItem AddSettingsChild(const wxDataViewItem &parent_item);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user