Merge branch 'dk_notifications' into master
This commit is contained in:
commit
b8cf929532
@ -628,8 +628,8 @@ void GLCanvas3D::WarningTexture::activate(WarningTexture::Warning warning, bool
|
|||||||
bool error = false;
|
bool error = false;
|
||||||
switch (warning) {
|
switch (warning) {
|
||||||
case ObjectOutside: text = L("An object outside the print area was detected."); break;
|
case ObjectOutside: text = L("An object outside the print area was detected."); break;
|
||||||
case ToolpathOutside: text = L("A toolpath outside the print area was detected."); break;
|
case ToolpathOutside: text = L("A toolpath outside the print area was detected."); error = true; break;
|
||||||
case SlaSupportsOutside: text = L("SLA supports outside the print area were detected."); break;
|
case SlaSupportsOutside: text = L("SLA supports outside the print area were detected."); error = true; break;
|
||||||
case SomethingNotShown: text = L("Some objects are not visible."); break;
|
case SomethingNotShown: text = L("Some objects are not visible."); break;
|
||||||
case ObjectClashed:
|
case ObjectClashed:
|
||||||
text = L( "An object outside the print area was detected.\n"
|
text = L( "An object outside the print area was detected.\n"
|
||||||
@ -644,7 +644,7 @@ void GLCanvas3D::WarningTexture::activate(WarningTexture::Warning warning, bool
|
|||||||
wxGetApp().plater()->get_notification_manager()->push_plater_warning_notification(text, *(wxGetApp().plater()->get_current_canvas3D()));
|
wxGetApp().plater()->get_notification_manager()->push_plater_warning_notification(text, *(wxGetApp().plater()->get_current_canvas3D()));
|
||||||
} else {
|
} else {
|
||||||
if (error)
|
if (error)
|
||||||
wxGetApp().plater()->get_notification_manager()->close_plater_error_notification();
|
wxGetApp().plater()->get_notification_manager()->close_plater_error_notification(text);
|
||||||
else
|
else
|
||||||
wxGetApp().plater()->get_notification_manager()->close_plater_warning_notification(text);
|
wxGetApp().plater()->get_notification_manager()->close_plater_warning_notification(text);
|
||||||
}
|
}
|
||||||
|
@ -56,8 +56,7 @@ NotificationManager::PopNotification::~PopNotification()
|
|||||||
}
|
}
|
||||||
NotificationManager::PopNotification::RenderResult NotificationManager::PopNotification::render(GLCanvas3D& canvas, const float& initial_y)
|
NotificationManager::PopNotification::RenderResult NotificationManager::PopNotification::render(GLCanvas3D& canvas, const float& initial_y)
|
||||||
{
|
{
|
||||||
if (!m_initialized)
|
if (!m_initialized) {
|
||||||
{
|
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
if (m_finished)
|
if (m_finished)
|
||||||
@ -362,7 +361,7 @@ void NotificationManager::PopNotification::render_hypertext(ImGuiWrapper& imgui,
|
|||||||
ImGui::PopStyleColor();
|
ImGui::PopStyleColor();
|
||||||
|
|
||||||
//hover color
|
//hover color
|
||||||
ImVec4 orange_color = ImGui::GetStyleColorVec4(ImGuiCol_Button);
|
ImVec4 orange_color = ImVec4(.99f, .313f, .0f, 1.0f);//ImGui::GetStyleColorVec4(ImGuiCol_Button);
|
||||||
if (ImGui::IsItemHovered(ImGuiHoveredFlags_RectOnly))
|
if (ImGui::IsItemHovered(ImGuiHoveredFlags_RectOnly))
|
||||||
orange_color.y += 0.2f;
|
orange_color.y += 0.2f;
|
||||||
|
|
||||||
@ -682,11 +681,13 @@ void NotificationManager::push_plater_error_notification(const std::string& text
|
|||||||
void NotificationManager::push_plater_warning_notification(const std::string& text, GLCanvas3D& canvas)
|
void NotificationManager::push_plater_warning_notification(const std::string& text, GLCanvas3D& canvas)
|
||||||
{
|
{
|
||||||
push_notification_data({ NotificationType::PlaterWarning, NotificationLevel::WarningNotification, 0, _u8L("WARNING:") + "\n" + text }, canvas, 0);
|
push_notification_data({ NotificationType::PlaterWarning, NotificationLevel::WarningNotification, 0, _u8L("WARNING:") + "\n" + text }, canvas, 0);
|
||||||
|
// dissaper if in preview
|
||||||
|
set_in_preview(m_in_preview);
|
||||||
}
|
}
|
||||||
void NotificationManager::close_plater_error_notification()
|
void NotificationManager::close_plater_error_notification(const std::string& text)
|
||||||
{
|
{
|
||||||
for (PopNotification* notification : m_pop_notifications) {
|
for (PopNotification* notification : m_pop_notifications) {
|
||||||
if (notification->get_type() == NotificationType::PlaterError) {
|
if (notification->get_type() == NotificationType::PlaterError && notification->compare_text(_u8L("ERROR:") + "\n" + text)) {
|
||||||
notification->close();
|
notification->close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -220,7 +220,8 @@ public:
|
|||||||
void compare_warning_oids(const std::vector<size_t>& living_oids);
|
void compare_warning_oids(const std::vector<size_t>& living_oids);
|
||||||
void push_plater_error_notification(const std::string& text, GLCanvas3D& canvas);
|
void push_plater_error_notification(const std::string& text, GLCanvas3D& canvas);
|
||||||
void push_plater_warning_notification(const std::string& text, GLCanvas3D& canvas);
|
void push_plater_warning_notification(const std::string& text, GLCanvas3D& canvas);
|
||||||
void close_plater_error_notification();
|
// Closes error or warning of same text
|
||||||
|
void close_plater_error_notification(const std::string& text);
|
||||||
void close_plater_warning_notification(const std::string& text);
|
void close_plater_warning_notification(const std::string& text);
|
||||||
// creates special notification slicing complete
|
// creates special notification slicing complete
|
||||||
// if large = true prints printing time and export button
|
// if large = true prints printing time and export button
|
||||||
@ -250,7 +251,7 @@ private:
|
|||||||
bool m_hovered { false };
|
bool m_hovered { false };
|
||||||
//timestamps used for slining finished - notification could be gone so it needs to be stored here
|
//timestamps used for slining finished - notification could be gone so it needs to be stored here
|
||||||
std::unordered_set<int> m_used_timestamps;
|
std::unordered_set<int> m_used_timestamps;
|
||||||
bool m_in_preview;
|
bool m_in_preview { false };
|
||||||
|
|
||||||
//prepared (basic) notifications
|
//prepared (basic) notifications
|
||||||
const std::vector<NotificationData> basic_notifications = {
|
const std::vector<NotificationData> basic_notifications = {
|
||||||
|
Loading…
Reference in New Issue
Block a user