From 0241ef01314b7743874c1ae7ed68a03e1bf254fd Mon Sep 17 00:00:00 2001 From: tfmoraes Date: Tue, 23 Feb 2010 19:35:41 +0000 Subject: [PATCH] ENH: Adding the measures in MeasuresList --- invesalius/data/viewer_volume.py | 2 ++ invesalius/gui/data_notebook.py | 34 +++++++++++++++++++++++----------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/invesalius/data/viewer_volume.py b/invesalius/data/viewer_volume.py index cfaa172..93999a3 100755 --- a/invesalius/data/viewer_volume.py +++ b/invesalius/data/viewer_volume.py @@ -616,6 +616,8 @@ class Viewer(wx.Panel): else: m = self.measures[-1] m.SetPoint2(x, y, z) + ps.Publisher().sendMessage("Add measure to list", + ("3D", _("%.3f mm3" % m.GetValue()))) self.interactor.Render() diff --git a/invesalius/gui/data_notebook.py b/invesalius/gui/data_notebook.py index 30b9ffb..04affc2 100644 --- a/invesalius/gui/data_notebook.py +++ b/invesalius/gui/data_notebook.py @@ -48,9 +48,11 @@ class NotebookPanel(wx.Panel): if sys.platform != 'win32': book.SetWindowVariant(wx.WINDOW_VARIANT_SMALL) + self.measures_list = MeasuresListCtrlPanel(book) + book.AddPage(MaskPage(book), _("Masks")) book.AddPage(SurfacePage(book), _("Surfaces")) - book.AddPage(MeasuresListCtrlPanel(book), _("Measures")) + book.AddPage(self.measures_list, _("Measures")) book.AddPage(AnnotationsListCtrlPanel(book), _("Annotations")) book.SetSelection(0) @@ -60,9 +62,22 @@ class NotebookPanel(wx.Panel): self.SetSizer(sizer) book.Refresh() + + self.__bind_events() # TODO: insert icons bellow notebook + def __bind_events(self): + ps.Publisher().subscribe(self._add_measure, + "Add measure to list") + + def _add_measure(self, pubsub_evt): + type = pubsub_evt.data[0] + value = pubsub_evt.data[1] + + self.measures_list.AddMeasure(type, value) + + class MaskPage(wx.Panel): """ @@ -751,9 +766,8 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): self.__init_columns() self.__init_image_list() self.__init_evt() - - # just testing - self.Populate() + + self._last_measure = 0 def __init_evt(self): self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated) @@ -807,13 +821,11 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): self.InsertStringItem(index, "") self.SetStringItem(index, 1, type_, imageId = self.img_colour) self.SetStringItem(index, 2, value) - - def Populate(self): - dict = ((0, "30000 mm", "/ 3D"), - (1, "20o", "o 2D"), - (2, "500 mm", "/ 2D")) - for data in dict: - self.InsertNewItem(data[0], data[1], data[2]) + + def AddMeasure(self, type_, value, colour=None): + self.InsertNewItem(self._last_measure, type_, value, colour) + self._last_measure += 1 + class AnnotationsListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): -- libgit2 0.21.2