mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-23 06:33:57 -06:00
ObjectList: Added separate icons for InfoItems
This commit is contained in:
parent
2be10569e2
commit
3ca2b2bc71
2 changed files with 21 additions and 10 deletions
|
@ -39,6 +39,20 @@ static constexpr char LayerIcon[] = "edit_layers_some";
|
||||||
static constexpr char WarningIcon[] = "exclamation";
|
static constexpr char WarningIcon[] = "exclamation";
|
||||||
static constexpr char InfoIcon[] = "objlist_info";
|
static constexpr char InfoIcon[] = "objlist_info";
|
||||||
|
|
||||||
|
struct InfoItemAtributes {
|
||||||
|
std::string name;
|
||||||
|
std::string bmp_name;
|
||||||
|
};
|
||||||
|
|
||||||
|
const std::map<InfoItemType, InfoItemAtributes> INFO_ITEMS{
|
||||||
|
// info_item Type info_item Name info_item BitmapName
|
||||||
|
{ InfoItemType::CustomSupports, {L("Paint-on supports"), "fdm_supports" }, },
|
||||||
|
{ InfoItemType::CustomSeam, {L("Paint-on seam"), "seam" }, },
|
||||||
|
{ InfoItemType::MmuSegmentation, {L("Multimaterial painting"), "mmu_segmentation"}, },
|
||||||
|
{ InfoItemType::Sinking, {L("Sinking"), "support_blocker"}, },
|
||||||
|
{ InfoItemType::VariableLayerHeight, {L("Variable layer height"), "layers"}, },
|
||||||
|
};
|
||||||
|
|
||||||
ObjectDataViewModelNode::ObjectDataViewModelNode(ObjectDataViewModelNode* parent,
|
ObjectDataViewModelNode::ObjectDataViewModelNode(ObjectDataViewModelNode* parent,
|
||||||
const wxString& sub_obj_name,
|
const wxString& sub_obj_name,
|
||||||
Slic3r::ModelVolumeType type,
|
Slic3r::ModelVolumeType type,
|
||||||
|
@ -60,14 +74,10 @@ ObjectDataViewModelNode::ObjectDataViewModelNode(ObjectDataViewModelNode* pare
|
||||||
ObjectDataViewModelNode::ObjectDataViewModelNode(ObjectDataViewModelNode* parent, const InfoItemType info_type) :
|
ObjectDataViewModelNode::ObjectDataViewModelNode(ObjectDataViewModelNode* parent, const InfoItemType info_type) :
|
||||||
m_parent(parent),
|
m_parent(parent),
|
||||||
m_type(itInfo),
|
m_type(itInfo),
|
||||||
m_extruder(wxEmptyString)
|
m_info_item_type(info_type),
|
||||||
|
m_extruder(wxEmptyString),
|
||||||
|
m_name(_(INFO_ITEMS.at(info_type).name))
|
||||||
{
|
{
|
||||||
m_name = info_type == InfoItemType::CustomSupports ? _L("Paint-on supports") :
|
|
||||||
info_type == InfoItemType::CustomSeam ? _L("Paint-on seam") :
|
|
||||||
info_type == InfoItemType::MmuSegmentation ? _L("Multimaterial painting") :
|
|
||||||
info_type == InfoItemType::Sinking ? _L("Sinking") :
|
|
||||||
_L("Variable layer height");
|
|
||||||
m_info_item_type = info_type;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -307,7 +317,8 @@ ObjectDataViewModel::ObjectDataViewModel()
|
||||||
|
|
||||||
m_volume_bmps = MenuFactory::get_volume_bitmaps();
|
m_volume_bmps = MenuFactory::get_volume_bitmaps();
|
||||||
m_warning_bmp = create_scaled_bitmap(WarningIcon);
|
m_warning_bmp = create_scaled_bitmap(WarningIcon);
|
||||||
m_info_bmp = create_scaled_bitmap(InfoIcon);
|
for (auto item : INFO_ITEMS)
|
||||||
|
m_info_bmps[item.first] = create_scaled_bitmap(item.second.bmp_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
ObjectDataViewModel::~ObjectDataViewModel()
|
ObjectDataViewModel::~ObjectDataViewModel()
|
||||||
|
@ -402,7 +413,7 @@ wxDataViewItem ObjectDataViewModel::AddInfoChild(const wxDataViewItem &parent_it
|
||||||
}
|
}
|
||||||
|
|
||||||
root->Insert(node, idx+1);
|
root->Insert(node, idx+1);
|
||||||
node->SetBitmap(m_info_bmp);
|
node->SetBitmap(m_info_bmps.at(info_type));
|
||||||
// notify control
|
// notify control
|
||||||
const wxDataViewItem child((void*)node);
|
const wxDataViewItem child((void*)node);
|
||||||
ItemAdded(parent_item, child);
|
ItemAdded(parent_item, child);
|
||||||
|
|
|
@ -251,8 +251,8 @@ class ObjectDataViewModel :public wxDataViewModel
|
||||||
{
|
{
|
||||||
std::vector<ObjectDataViewModelNode*> m_objects;
|
std::vector<ObjectDataViewModelNode*> m_objects;
|
||||||
std::vector<wxBitmap> m_volume_bmps;
|
std::vector<wxBitmap> m_volume_bmps;
|
||||||
|
std::map<InfoItemType, wxBitmap> m_info_bmps;
|
||||||
wxBitmap m_warning_bmp;
|
wxBitmap m_warning_bmp;
|
||||||
wxBitmap m_info_bmp;
|
|
||||||
|
|
||||||
wxDataViewCtrl* m_ctrl { nullptr };
|
wxDataViewCtrl* m_ctrl { nullptr };
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue