2222
2323from .plotmodel import PlotModel , DomainTableModel , hash_model
2424from .plotgui import PlotImage , ColorDialog
25- from .docks import DomainDock , TallyDock
25+ from .docks import DomainDock , TallyDock , MeshAnnotationDock
2626from .overlays import ShortcutsOverlay
2727from .tools import ExportDataDialog , SourceSitesDialog
2828
@@ -91,6 +91,12 @@ def loadGui(self, use_settings_pkl=True):
9191 self .tallyDock .setObjectName ("Tally Options Dock" )
9292 self .addDockWidget (QtCore .Qt .RightDockWidgetArea , self .tallyDock )
9393
94+ # Mesh Annotation Dock
95+ self .meshAnnotationDock = MeshAnnotationDock (self .model , self .font_metric , self )
96+ self .meshAnnotationDock .update ()
97+ self .meshAnnotationDock .setObjectName ("Mesh Annotation Dock" )
98+ self .addDockWidget (QtCore .Qt .RightDockWidgetArea , self .meshAnnotationDock )
99+
94100 # Color DialogtallyDock
95101 self .colorDialog = ColorDialog (self .model , self .font_metric , self )
96102 self .colorDialog .hide ()
@@ -386,6 +392,12 @@ def createMenuBar(self):
386392 self .tallyDockAction .setStatusTip ('Toggle tally dock visibility' )
387393 self .tallyDockAction .triggered .connect (self .toggleTallyDockView )
388394
395+ self .meshAnnotationDockAction = QAction ('Mesh &Annotation Dock' , self )
396+ self .meshAnnotationDockAction .setShortcut ("Ctrl+E" )
397+ self .meshAnnotationDockAction .setToolTip ('Toggle mesh annotation dock visibility' )
398+ self .meshAnnotationDockAction .setStatusTip ('Toggle mesh annotation dock visibility' )
399+ self .meshAnnotationDockAction .triggered .connect (self .toggleMeshAnnotationDockView )
400+
389401 self .zoomAction = QAction ('&Zoom...' , self )
390402 self .zoomAction .setShortcut ('Alt+Shift+Z' )
391403 self .zoomAction .setToolTip ('Edit zoom factor' )
@@ -395,6 +407,7 @@ def createMenuBar(self):
395407 self .viewMenu = self .mainMenu .addMenu ('&View' )
396408 self .viewMenu .addAction (self .dockAction )
397409 self .viewMenu .addAction (self .tallyDockAction )
410+ self .viewMenu .addAction (self .meshAnnotationDockAction )
398411 self .viewMenu .addSeparator ()
399412 self .viewMenu .addAction (self .zoomAction )
400413 self .viewMenu .aboutToShow .connect (self .updateViewMenu )
@@ -624,6 +637,10 @@ def updateDataMenu(self):
624637 elif hasattr (self , "closeStatePointAction" ):
625638 self .dataMenu .removeAction (self .closeStatePointAction )
626639
640+
641+ def updateMeshAnnotations (self ):
642+ self .model .activeView .mesh_annotations = self .meshAnnotationDock .get_checked_meshes ()
643+
627644 def plotSourceSites (self ):
628645 self .sourceSitesDialog .show ()
629646 self .sourceSitesDialog .raise_ ()
@@ -635,6 +652,7 @@ def applyChanges(self):
635652 QApplication .processEvents ()
636653 if self .model .activeView .selectedTally is not None :
637654 self .tallyDock .updateModel ()
655+ self .updateMeshAnnotations ()
638656 self .model .storeCurrent ()
639657 self .model .subsequentViews = []
640658 self .plotIm .generatePixmap ()
@@ -811,6 +829,18 @@ def toggleTallyDockView(self):
811829 self .resizePixmap ()
812830 self .showMainWindow ()
813831
832+ def toggleMeshAnnotationDockView (self ):
833+ if self .meshAnnotationDock .isVisible ():
834+ self .meshAnnotationDock .hide ()
835+ if not self .isMaximized () and not self .meshAnnotationDock .isFloating ():
836+ self .resize (self .width () - self .meshAnnotationDock .width (), self .height ())
837+ else :
838+ self .meshAnnotationDock .setVisible (True )
839+ if not self .isMaximized () and not self .meshAnnotationDock .isFloating ():
840+ self .resize (self .width () + self .meshAnnotationDock .width (), self .height ())
841+ self .resizePixmap ()
842+ self .showMainWindow ()
843+
814844 def editZoomAct (self ):
815845 percent , ok = QInputDialog .getInt (self , "Edit Zoom" , "Zoom Percent:" ,
816846 self .dock .zoomBox .value (), 25 , 2000 )
0 commit comments