mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-08 23:46:24 -06:00
ENH: [STUDIO-2437] new object sinking interaction
Change-Id: Ia93f3ee92abc7cd2ff5d623c6e1edfe7233e31d4
This commit is contained in:
parent
0ce72dfcb7
commit
dbe1f3f5b1
7 changed files with 117 additions and 9 deletions
|
@ -222,6 +222,15 @@ void ObjectDataViewModelNode::set_support_icon(bool enable)
|
|||
m_support_icon = create_scaled_bitmap("dot");
|
||||
}
|
||||
|
||||
void ObjectDataViewModelNode::set_sinking_icon(bool enable)
|
||||
{
|
||||
m_sink_enable = enable;
|
||||
if ((m_type & itObject) && enable)
|
||||
m_sinking_icon = create_scaled_bitmap("objlist_sinking");
|
||||
else
|
||||
m_sinking_icon = create_scaled_bitmap("dot");
|
||||
}
|
||||
|
||||
void ObjectDataViewModelNode::set_warning_icon(const std::string& warning_icon_name)
|
||||
{
|
||||
m_warning_icon_name = warning_icon_name;
|
||||
|
@ -302,6 +311,9 @@ bool ObjectDataViewModelNode::SetValue(const wxVariant& variant, unsigned col)
|
|||
case colSupportPaint:
|
||||
m_support_icon << variant;
|
||||
break;
|
||||
case colSinking:
|
||||
m_sinking_icon << variant;
|
||||
break;
|
||||
case colColorPaint:
|
||||
m_color_icon << variant;
|
||||
break;
|
||||
|
@ -1557,6 +1569,9 @@ void ObjectDataViewModel::GetValue(wxVariant &variant, const wxDataViewItem &ite
|
|||
case colSupportPaint:
|
||||
variant << node->m_support_icon;
|
||||
break;
|
||||
case colSinking:
|
||||
variant << node->m_sinking_icon;
|
||||
break;
|
||||
case colColorPaint:
|
||||
variant << node->m_color_icon;
|
||||
break;
|
||||
|
@ -2081,6 +2096,14 @@ bool ObjectDataViewModel::IsSupportPainted(wxDataViewItem& item) const
|
|||
return node->m_support_enable;
|
||||
}
|
||||
|
||||
bool ObjectDataViewModel::IsSinked(wxDataViewItem &item) const
|
||||
{
|
||||
ObjectDataViewModelNode *node = static_cast<ObjectDataViewModelNode *>(item.GetID());
|
||||
if (!node) return false;
|
||||
|
||||
return node->m_sink_enable;
|
||||
}
|
||||
|
||||
void ObjectDataViewModel::SetColorPaintState(const bool painted, wxDataViewItem obj_item)
|
||||
{
|
||||
ObjectDataViewModelNode* node = static_cast<ObjectDataViewModelNode*>(obj_item.GetID());
|
||||
|
@ -2101,6 +2124,15 @@ void ObjectDataViewModel::SetSupportPaintState(const bool painted, wxDataViewIte
|
|||
ItemChanged(obj_item);
|
||||
}
|
||||
|
||||
void ObjectDataViewModel::SetSinkState(const bool painted, wxDataViewItem obj_item)
|
||||
{
|
||||
ObjectDataViewModelNode *node = static_cast<ObjectDataViewModelNode *>(obj_item.GetID());
|
||||
if (!node) return;
|
||||
|
||||
node->set_sinking_icon(painted);
|
||||
ItemChanged(obj_item);
|
||||
}
|
||||
|
||||
void ObjectDataViewModel::Rescale()
|
||||
{
|
||||
m_volume_bmps = MenuFactory::get_volume_bitmaps();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue