|
|
@@ -22,10 +22,18 @@ |
|
|
|
from sip import voidptr |
|
|
|
from struct import pack |
|
|
|
|
|
|
|
from PyQt5.QtCore import pyqtSignal, pyqtSlot, qCritical, Qt, QPointF, QRectF, QTimer |
|
|
|
from PyQt5.QtCore import pyqtSignal, pyqtSlot, qCritical, QT_VERSION, Qt, QPointF, QRectF, QTimer |
|
|
|
from PyQt5.QtGui import QCursor, QFont, QFontMetrics, QImage, QLinearGradient, QPainter, QPen |
|
|
|
from PyQt5.QtWidgets import QGraphicsItem, QGraphicsObject, QMenu |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------------------------------ |
|
|
|
# Backwards-compatible horizontalAdvance/width call, depending on Qt version |
|
|
|
|
|
|
|
def fontHorizontalAdvance(font, string): |
|
|
|
if QT_VERSION >= 0x51100: |
|
|
|
return QFontMetrics(font).horizontalAdvance(string) |
|
|
|
return QFontMetrics(font).width(string) |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------------------------------ |
|
|
|
# Imports (Custom) |
|
|
|
|
|
|
@@ -317,7 +325,7 @@ class CanvasBox(QGraphicsObject): |
|
|
|
self.prepareGeometryChange() |
|
|
|
|
|
|
|
# Check Text Name size |
|
|
|
app_name_size = QFontMetrics(self.m_font_name).width(self.m_group_name) + 30 |
|
|
|
app_name_size = fontHorizontalAdvance(self.m_font_name, self.m_group_name) + 30 |
|
|
|
self.p_width = max(50, app_name_size) |
|
|
|
|
|
|
|
# Get Port List |
|
|
@@ -344,7 +352,7 @@ class CanvasBox(QGraphicsObject): |
|
|
|
if port.port_type != port_type: |
|
|
|
continue |
|
|
|
|
|
|
|
size = QFontMetrics(self.m_font_port).width(port.port_name) |
|
|
|
size = fontHorizontalAdvance(self.m_font_port, port.port_name) |
|
|
|
|
|
|
|
if port.port_mode == PORT_MODE_INPUT: |
|
|
|
max_in_width = max(max_in_width, size) |
|
|
@@ -726,7 +734,7 @@ class CanvasBox(QGraphicsObject): |
|
|
|
if canvas.theme.box_use_icon: |
|
|
|
textPos = QPointF(25, canvas.theme.box_text_ypos) |
|
|
|
else: |
|
|
|
appNameSize = QFontMetrics(self.m_font_name).width(self.m_group_name) |
|
|
|
appNameSize = fontHorizontalAdvance(self.m_font_name, self.m_group_name) |
|
|
|
rem = self.p_width - appNameSize |
|
|
|
textPos = QPointF(rem/2, canvas.theme.box_text_ypos) |
|
|
|
|
|
|
|