diff --git a/clusterview2.ui b/clusterview2.ui
index 571eca0..b8bd6c4 100644
--- a/clusterview2.ui
+++ b/clusterview2.ui
@@ -314,6 +314,8 @@
+
+
@@ -387,6 +389,11 @@
Generate Random Points
+
+
+ Clear Canvas
+
+
diff --git a/clusterview2/points.py b/clusterview2/points.py
index 86d7bfd..0a3558e 100644
--- a/clusterview2/points.py
+++ b/clusterview2/points.py
@@ -287,6 +287,9 @@ class PointSet:
for point in self._points:
yield point
+ def clear_points(self):
+ self._points = []
+
@property
def point_size(self):
return self._point_size
diff --git a/clusterview2_ui.py b/clusterview2_ui.py
index 6a5216a..6e97a9e 100644
--- a/clusterview2_ui.py
+++ b/clusterview2_ui.py
@@ -152,6 +152,8 @@ class Ui_MainWindow(object):
self.action_exit.setObjectName("action_exit")
self.action_generate_random_points = QtWidgets.QAction(MainWindow)
self.action_generate_random_points.setObjectName("action_generate_random_points")
+ self.action_clear_canvas = QtWidgets.QAction(MainWindow)
+ self.action_clear_canvas.setObjectName("action_clear_canvas")
self.menu_file.addAction(self.action_load_point_configuration)
self.menu_file.addAction(self.action_save_point_configuration)
self.menu_file.addSeparator()
@@ -163,6 +165,8 @@ class Ui_MainWindow(object):
self.tool_bar.addAction(self.action_move_points)
self.tool_bar.addAction(self.action_edit_points)
self.tool_bar.addAction(self.action_delete_points)
+ self.tool_bar.addSeparator()
+ self.tool_bar.addAction(self.action_clear_canvas)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
@@ -199,3 +203,4 @@ class Ui_MainWindow(object):
self.action_load_point_configuration.setText(_translate("MainWindow", "Load Point Configuration"))
self.action_exit.setText(_translate("MainWindow", "Exit"))
self.action_generate_random_points.setText(_translate("MainWindow", "Generate Random Points"))
+ self.action_clear_canvas.setText(_translate("MainWindow", "Clear Canvas"))
diff --git a/main_window.py b/main_window.py
index b6eb186..e680e4e 100644
--- a/main_window.py
+++ b/main_window.py
@@ -105,6 +105,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.action_edit_points.triggered.connect(self._edit_points)
self.action_delete_points.triggered.connect(self._delete_points)
self.action_move_points.triggered.connect(self._move_points)
+ self.action_clear_canvas.triggered.connect(self._clear_canvas)
(self.action_generate_random_points
.triggered.connect(self._generate_random_points))
@@ -167,6 +168,11 @@ class MainWindow(QMainWindow, Ui_MainWindow):
clear_selection()
self.opengl_widget.update()
+ def _clear_canvas(self):
+ PointManager.point_set.clear_points()
+ refresh_point_list(self)
+ self.opengl_widget.update()
+
def _clustering(self):
if len(list(PointManager.point_set.points)) == 0:
error_dialog = QErrorMessage()
@@ -183,7 +189,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def _reset(self):
self._off_mode()
self.number_of_clusters.setEnabled(True)
- self.number_of_clusters.setValue(0)
+ self.number_of_clusters.setValue(4)
self.clustering_button.setEnabled(False)
self.clustering_solved = False
PointManager.clusters = []