src/eric7/Graphics/UMLGraphicsView.py

branch
eric7
changeset 9482
a2bc06a54d9d
parent 9473
3f23dbf37dbe
child 9500
5771348ded12
equal deleted inserted replaced
9481:0b936ff1bbb9 9482:a2bc06a54d9d
9 9
10 import pathlib 10 import pathlib
11 11
12 from PyQt6.QtCore import QEvent, QMarginsF, QRectF, QSignalMapper, Qt, pyqtSignal 12 from PyQt6.QtCore import QEvent, QMarginsF, QRectF, QSignalMapper, Qt, pyqtSignal
13 from PyQt6.QtGui import QAction, QPageLayout 13 from PyQt6.QtGui import QAction, QPageLayout
14 from PyQt6.QtPrintSupport import QPrintDialog, QPrinter 14 from PyQt6.QtPrintSupport import QPrintDialog, QPrinter, QPrintPreviewDialog
15 from PyQt6.QtWidgets import QDialog, QGraphicsView, QToolBar 15 from PyQt6.QtWidgets import QDialog, QGraphicsView, QToolBar
16 16
17 from eric7 import Preferences 17 from eric7 import Preferences
18 from eric7.EricGraphics.EricGraphicsView import EricGraphicsView 18 from eric7.EricGraphics.EricGraphicsView import EricGraphicsView
19 from eric7.EricGui import EricPixmapCache 19 from eric7.EricGui import EricPixmapCache
20 from eric7.EricWidgets import EricFileDialog, EricMessageBox 20 from eric7.EricWidgets import EricFileDialog, EricMessageBox
21 from eric7.EricWidgets.EricZoomWidget import EricZoomWidget 21 from eric7.EricWidgets.EricZoomWidget import EricZoomWidget
22 from eric7.UI import Config 22 from eric7.UI import Config
23 23
24 from .AssociationItem import AssociationItem
25 from .ClassItem import ClassItem
26 from .ModuleItem import ModuleItem
27 from .PackageItem import PackageItem
24 from .UMLItem import UMLItem 28 from .UMLItem import UMLItem
25 29
26 30
27 class UMLGraphicsView(EricGraphicsView): 31 class UMLGraphicsView(EricGraphicsView):
28 """ 32 """
464 468
465 def printPreviewDiagram(self): 469 def printPreviewDiagram(self):
466 """ 470 """
467 Public slot called to show a print preview of the diagram. 471 Public slot called to show a print preview of the diagram.
468 """ 472 """
469 from PyQt6.QtPrintSupport import QPrintPreviewDialog
470
471 printer = QPrinter(mode=QPrinter.PrinterMode.PrinterResolution) 473 printer = QPrinter(mode=QPrinter.PrinterMode.PrinterResolution)
472 printer.setFullPage(True) 474 printer.setFullPage(True)
473 if Preferences.getPrinter("ColorMode"): 475 if Preferences.getPrinter("ColorMode"):
474 printer.setColorMode(QPrinter.ColorMode.Color) 476 printer.setColorMode(QPrinter.ColorMode.Color)
475 else: 477 else:
749 umlItems = {} 751 umlItems = {}
750 752
751 if not data[0].startswith("diagram_name:"): 753 if not data[0].startswith("diagram_name:"):
752 return False, 0 754 return False, 0
753 self.diagramName = data[0].split(": ", 1)[1].strip() 755 self.diagramName = data[0].split(": ", 1)[1].strip()
754
755 from .AssociationItem import AssociationItem
756 from .ClassItem import ClassItem
757 from .ModuleItem import ModuleItem
758 from .PackageItem import PackageItem
759 756
760 for linenum, line in enumerate(data[1:], start=1): 757 for linenum, line in enumerate(data[1:], start=1):
761 if not line.startswith(("item:", "association:")): 758 if not line.startswith(("item:", "association:")):
762 return False, linenum 759 return False, linenum
763 760
811 """ 808 """
812 items = [ 809 items = [
813 item.toDict() for item in self.filteredItems(self.scene().items(), UMLItem) 810 item.toDict() for item in self.filteredItems(self.scene().items(), UMLItem)
814 ] 811 ]
815 812
816 from .AssociationItem import AssociationItem
817
818 associations = [ 813 associations = [
819 assoc.toDict() 814 assoc.toDict()
820 for assoc in self.filteredItems(self.scene().items(), AssociationItem) 815 for assoc in self.filteredItems(self.scene().items(), AssociationItem)
821 ] 816 ]
822 817

eric ide

mercurial