diff --git a/invesalius/control.py b/invesalius/control.py index 18bab57..7bcbffe 100755 --- a/invesalius/control.py +++ b/invesalius/control.py @@ -93,13 +93,17 @@ class Controller(): # TODO: where to insert!!! self.LoadImagedataInfo() - # Call frame so it shows slice and volume related panels - ps.Publisher().sendMessage('Show content panel') - #Initial Window and Level ps.Publisher().sendMessage('Bright and contrast adjustment image',\ (proj.window, proj.level)) + # Call frame so it shows slice and volume related panels + ps.Publisher().sendMessage('Show content panel') + + ps.Publisher().sendMessage('Update AUI') + + ps.Publisher().sendMessage('TESTE TATI') + def LoadImagedataInfo(self): proj = prj.Project() diff --git a/invesalius/data/viewer_slice.py b/invesalius/data/viewer_slice.py index 2eceb43..e4530c4 100755 --- a/invesalius/data/viewer_slice.py +++ b/invesalius/data/viewer_slice.py @@ -225,6 +225,7 @@ class Viewer(wx.Panel): ps.Publisher().sendMessage('Update window and level text',\ "WL: %d WW: %d"%(proj.level, proj.window)) self.interactor.Render() + #ps.Publisher().sendMessage("Update slice viewer") def OnWindowLevelClick(self, evt, obj): diff --git a/invesalius/data/viewer_volume.py b/invesalius/data/viewer_volume.py index 590f1ed..d6d6330 100755 --- a/invesalius/data/viewer_volume.py +++ b/invesalius/data/viewer_volume.py @@ -86,23 +86,27 @@ class Viewer(wx.Panel): self.onclick = False def __bind_events(self): - ps.Publisher().subscribe(self.LoadActor, 'Load surface actor into viewer') - ps.Publisher().subscribe(self.UpdateRender, 'Render volume viewer') + ps.Publisher().subscribe(self.LoadActor, + 'Load surface actor into viewer') + ps.Publisher().subscribe(self.UpdateRender, + 'Render volume viewer') ps.Publisher().subscribe(self.ChangeBackgroundColour, - 'Change volume viewer background colour') - ps.Publisher().subscribe(self.LoadVolume, 'Load volume into viewer') + 'Change volume viewer background colour') + ps.Publisher().subscribe(self.LoadVolume, + 'Load volume into viewer') ps.Publisher().subscribe(self.AppendActor,'AppendActor') ps.Publisher().subscribe(self.SetWidgetInteractor, 'Set Widget Interactor') ps.Publisher().subscribe(self.OnSetViewAngle, 'Set volume view angle') ps.Publisher().subscribe(self.OnSetWindowLevelText, - 'Set volume window and level text') + 'Set volume window and level text') ps.Publisher().subscribe(self.OnEnableBrightContrast, - 'Bright and contrast adjustment') + ('Set interaction mode', const.MODE_WW_WL)) ps.Publisher().subscribe(self.OnDisableBrightContrast, - 'Set Editor Mode') - + ('Set interaction mode', + const.MODE_SLICE_EDITOR)) + def __bind_events_wx(self): #self.Bind(wx.EVT_SIZE, self.OnSize) pass diff --git a/invesalius/gui/default_viewers.py b/invesalius/gui/default_viewers.py index 521f8ce..8d189c0 100755 --- a/invesalius/gui/default_viewers.py +++ b/invesalius/gui/default_viewers.py @@ -20,6 +20,8 @@ import sys import wx import wx.lib.agw.fourwaysplitter as fws +import wx.lib.pubsub as ps + import data.viewer_slice as slice_viewer import data.viewer_volume as volume_viewer @@ -80,6 +82,7 @@ class Panel(wx.Panel): MaximizeButton(True).CloseButton(False) p4 = VolumeViewerCover(self) + #p4 = volume_viewer.Viewer(self) s4 = wx.aui.AuiPaneInfo().Row(1).Name("Volume").\ Bottom().Centre().Caption("Volume").\ MaximizeButton(True).CloseButton(False) @@ -209,6 +212,46 @@ class VolumeToolPanel(wx.Panel): BMP_RAYCASTING = wx.Bitmap("../icons/volume_raycasting.png", wx.BITMAP_TYPE_PNG) + + button_raycasting = pbtn.PlateButton(self, BUTTON_RAYCASTING,"", + BMP_RAYCASTING, style=pbtn.PB_STYLE_SQUARE, + size=(24,24)) + self.button_raycasting = button_raycasting + + # VOLUME VIEW ANGLE BUTTON + BMP_FRONT = wx.Bitmap(ID_TO_BMP[const.VOL_FRONT][1], + wx.BITMAP_TYPE_PNG) + button_view = pbtn.PlateButton(self, BUTTON_VIEW, "", + BMP_FRONT, size=(24,24), + style=pbtn.PB_STYLE_SQUARE) + self.button_view = button_view + + # VOLUME COLOUR BUTTON + button_colour= csel.ColourSelect(self, 111,colour=(0,0,0), + size=(24,24)) + button_colour.Bind(csel.EVT_COLOURSELECT, self.OnSelectColour) + self.button_colour = button_colour + + self.__bind_events() + + # SIZER TO ORGANIZE ALL + sizer = wx.BoxSizer(wx.VERTICAL) + sizer.Add(button_colour, 0, wx.ALL, 1) + sizer.Add(button_raycasting, 0, wx.ALL, 1) + sizer.Add(button_view, 0, wx.ALL, 1) + self.SetSizer(sizer) + sizer.Fit(self) + + self.__bind_events() + + def __bind_events(self): + ps.Publisher().subscribe(self.ChangeButtonColour, + 'Change volume viewer gui colour') + ps.Publisher().subscribe(self.__init_menus, 'TESTE TATI') + + def __init_menus(self, pubsub_evt=None): + print "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" + print "__init_menus" # MENU RELATED TO RAYCASTING TYPES menu = wx.Menu() for name in const.RAYCASTING_TYPES: @@ -235,13 +278,7 @@ class VolumeToolPanel(wx.Panel): self.menu_raycasting = menu menu.Bind(wx.EVT_MENU, self.OnMenuRaycasting) - - button_raycasting = pbtn.PlateButton(self, BUTTON_RAYCASTING,"", - BMP_RAYCASTING, style=pbtn.PB_STYLE_SQUARE, - size=(24,24)) - button_raycasting.SetMenu(menu) - - self.button_raycasting = button_raycasting + self.button_raycasting.SetMenu(menu) # VOLUME VIEW ANGLE BUTTON menu = wx.Menu() @@ -252,33 +289,10 @@ class VolumeToolPanel(wx.Panel): menu.AppendItem(item) menu.Bind(wx.EVT_MENU, self.OnMenuView) self.menu_view = menu + self.button_view.SetMenu(menu) - BMP_FRONT = wx.Bitmap(ID_TO_BMP[const.VOL_FRONT][1], - wx.BITMAP_TYPE_PNG) - button_view = pbtn.PlateButton(self, BUTTON_VIEW, "", - BMP_FRONT, size=(24,24), - style=pbtn.PB_STYLE_SQUARE) - button_view.SetMenu(menu) - self.button_view = button_view - - # VOLUME COLOUR BUTTOM - button_colour= csel.ColourSelect(self, 111,colour=(0,0,0), - size=(24,24)) - button_colour.Bind(csel.EVT_COLOURSELECT, self.OnSelectColour) - self.button_colour = button_colour - - self.__bind_events() - # SIZER TO ORGANIZE ALL - sizer = wx.BoxSizer(wx.VERTICAL) - sizer.Add(button_colour, 0, wx.ALL, 1) - sizer.Add(button_raycasting, 0, wx.ALL, 1) - sizer.Add(button_view, 0, wx.ALL, 1) - self.SetSizer(sizer) - sizer.Fit(self) - - def __bind_events(self): - ps.Publisher().subscribe(self.ChangeButtonColour, - 'Change volume viewer gui colour') + self.Update() + self.Refresh() def ChangeButtonColour(self, pubsub_evt): colour = [i*255 for i in pubsub_evt.data] diff --git a/invesalius/gui/frame.py b/invesalius/gui/frame.py index e0150ff..1d02b47 100755 --- a/invesalius/gui/frame.py +++ b/invesalius/gui/frame.py @@ -77,6 +77,11 @@ class Frame(wx.Frame): def __bind_events(self): ps.Publisher().subscribe(self.ShowContentPanel, 'Show content panel') ps.Publisher().subscribe(self.ShowImportPanel, "Show import panel") + ps.Publisher().subscribe(self.UpdateAui, "Update AUI") + + + def UpdateAui(self, pubsub_evt): + self.aui_manager.Update() def __bind_events_wx(self): self.Bind(wx.EVT_SIZE, self.OnSize) -- libgit2 0.21.2