Revert Object warning notification to SimplifySuggestion

followup of commit 0d0c092880.
This commit is contained in:
David Kocik 2021-09-30 14:28:06 +02:00
parent 5048dbf8b4
commit 213add1b2b
3 changed files with 31 additions and 26 deletions

View file

@ -71,9 +71,6 @@ enum class NotificationType
PlaterError,
// Object fully outside the print volume, or extrusion outside the print volume. Slicing is not disabled.
PlaterWarning,
// Warning connected to single object id, appears at loading object, disapears at deletition.
// Example: advice to simplify object with big amount of triangles.
ObjectWarning,
// Progress bar instead of text.
ProgressBar,
// Progress bar with info from Print Host Upload Queue dialog.
@ -105,7 +102,10 @@ enum class NotificationType
// Might contain logo taken from gizmos
UpdatedItemsInfo,
// Progress bar notification with methods to replace ProgressIndicator class.
ProgressIndicator
ProgressIndicator,
// Give user advice to simplify object with big amount of triangles
// Contains ObjectID for closing when object is deleted
SimplifySuggestion
};
class NotificationManager
@ -167,11 +167,11 @@ public:
void close_plater_error_notification(const std::string& text);
void close_plater_warning_notification(const std::string& text);
// Object warning with ObjectID, closes when object is deleted. ID used is of object not print like in slicing warning.
void push_object_warning_notification(const std::string& text, ObjectID object_id, const std::string& hypertext = "",
void push_simplify_suggestion_notification(const std::string& text, ObjectID object_id, const std::string& hypertext = "",
std::function<bool(wxEvtHandler*)> callback = std::function<bool(wxEvtHandler*)>());
// Close object warnings, whose ObjectID is not in the list.
// living_oids is expected to be sorted.
void remove_object_warnings_of_released_objects(const std::vector<ObjectID>& living_oids);
void remove_simplify_suggestion_of_released_objects(const std::vector<ObjectID>& living_oids);
// Called when the side bar changes its visibility, as the "slicing complete" notification supplements
// the "slicing info" normally shown at the side bar.
void set_sidebar_collapsed(bool collapsed);
@ -394,12 +394,14 @@ private:
class SlicingWarningNotification : public PopNotification
class ObjectIDNotification : public PopNotification
{
public:
SlicingWarningNotification(const NotificationData& n, NotificationIDProvider& id_provider, wxEvtHandler* evt_handler) : PopNotification(n, id_provider, evt_handler) {}
ObjectIDNotification(const NotificationData& n, NotificationIDProvider& id_provider, wxEvtHandler* evt_handler)
: PopNotification(n, id_provider, evt_handler)
{}
ObjectID object_id;
int warning_step;
int warning_step { 0 };
};
class PlaterWarningNotification : public PopNotification
@ -691,7 +693,7 @@ private:
void sort_notifications();
// If there is some error notification active, then the "Export G-code" notification after the slicing is finished is suppressed.
bool has_slicing_error_notification();
// set by init(), until false notifications are only added not updated and frame is not requested after push
bool m_initialized{ false };
// Target for wxWidgets events sent by clicking on the hyperlink available at some notifications.
@ -715,7 +717,7 @@ private:
NotificationType::PlaterWarning,
NotificationType::ProgressBar,
NotificationType::PrintHostUpload,
NotificationType::ObjectWarning
NotificationType::SimplifySuggestion
};
//prepared (basic) notifications
static const NotificationData basic_notifications[];