Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
625 changes: 297 additions & 328 deletions tools/Python/mccodelib/pqtgfrontend.py

Large diffs are not rendered by default.

42 changes: 15 additions & 27 deletions tools/Python/mcgui/mcgui.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,15 @@
else:
import mslex as lexer

try:
from PyQt6 import QtWidgets, QtCore
from PyQt6.QtWidgets import QApplication, QWidget
from PyQt6.QtGui import QFont, QFontDatabase
import PyQt6 as PyQt

try:
from PyQt6 import Qsci
except ImportError:
Qsci = None
from qtpy import QtGui, QtWidgets, QtCore
from qtpy.QtWidgets import QApplication, QWidget
from qtpy.QtGui import QFont, QFontDatabase
import qtpy as PyQt

try:
from qtpy import Qsci
except ImportError:
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QFont, QFontDatabase
import PyQt5 as PyQt

try:
from PyQt5 import Qsci
except ImportError:
Qsci = None
Qsci = None

from viewclasses import McView
from datetime import datetime
Expand All @@ -52,11 +40,11 @@
Status and message log and signalling.
'''
class McMessageEmitter(QtCore.QObject):
statusUpdate = QtCore.pyqtSignal(str)
statusUpdate = QtCore.Signal(str)
__statusLog = []

# logMessageUpdate(msg, flag_err_red, flag_gui_blue, flag_clear)
logMessageUpdate = QtCore.pyqtSignal(str, bool, bool, bool)
logMessageUpdate = QtCore.Signal(str, bool, bool, bool)
__msgLog = []

def status(self, status):
Expand Down Expand Up @@ -87,9 +75,9 @@ def clear(self, msg):
''' Asynchronous process execution QThread
'''
class McRunQThread(QtCore.QThread):
thread_exception = QtCore.pyqtSignal(str)
error = QtCore.pyqtSignal(str)
message = QtCore.pyqtSignal(str)
thread_exception = QtCore.Signal(str)
error = QtCore.Signal(str)
message = QtCore.Signal(str)
cmd = ''
cwd = ''
process_returncode = None
Expand Down Expand Up @@ -126,9 +114,9 @@ class McGuiState(QtCore.QObject):
__emitter = None

# <instrument>, <work dir>
instrumentUpdated = QtCore.pyqtSignal(list, str)
instrumentUpdated = QtCore.Signal(list, str)
# [<canRun>, <canPlot>] each can be str 'True' or 'False'
simStateUpdated = QtCore.pyqtSignal(list)
simStateUpdated = QtCore.Signal(list)

__cFile = None
__binaryFile = None
Expand Down Expand Up @@ -226,7 +214,7 @@ def canRun(self):
def canPlot(self):
return ((self.__instrFile != "") and (not self.isSimRunning()))

__thread_exc_signal = QtCore.pyqtSignal(str)
__thread_exc_signal = QtCore.Signal(str)
def compile(self, mpi=False):
# using Qt in-built cross-thread signaling
self.__thread_exc_signal.connect(handleExceptionMsg)
Expand Down
26 changes: 8 additions & 18 deletions tools/Python/mcgui/viewclasses.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,14 @@
import re
import pathlib
from widgets import *
from qtpy import QtGui, QtWidgets, QtCore
from qtpy.QtWidgets import QApplication, QWidget
import qtpy as PyQt

try:
from PyQt6 import QtWidgets, QtCore
from PyQt6.QtWidgets import QApplication, QWidget
import PyQt6 as PyQt
try:
from PyQt6 import Qsci
except ImportError:
Qsci = None

from qtpy import Qsci
except ImportError:
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtWidgets import QApplication, QWidget
import PyQt5 as PyQt
try:
from PyQt5 import Qsci
except ImportError:
Qsci = None
Qsci = None

sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
from mccodelib import mccode_config
Expand Down Expand Up @@ -231,7 +221,7 @@ def __init__(self, parent=None):
super(McMainWindow, self).__init__(parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.dynamicMenuClicked = QtCore.pyqtSignal(str)
self.ui.dynamicMenuClicked = QtCore.Signal(str)

# set main window title depending on flavour
prefix = 'mx'
Expand Down Expand Up @@ -294,8 +284,8 @@ def closeEvent(self, event):
'''
class McCodeEditorWindow(QtWidgets.QMainWindow):
volatileDataExists = False
volatileDataTransition = QtCore.pyqtSignal(bool)
saveRequest = QtCore.pyqtSignal(str)
volatileDataTransition = QtCore.Signal(bool)
saveRequest = QtCore.Signal(str)

def __init__(self, parent=None):
super(McCodeEditorWindow, self).__init__(parent)
Expand Down
40 changes: 23 additions & 17 deletions tools/Python/mcgui/widgets.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,24 @@

Dot ui files are created and edited using qtcreator, then transformed using pyuic5 from pyqt5-dev-tools.
'''
try:
from PyQt6 import QtGui, QtWidgets, QtCore
from PyQt6.QtWidgets import QApplication, QWidget
from PyQt6.QtGui import QAction
import PyQt6 as PyQt
from qtpy import QtGui, QtWidgets, QtCore
from qtpy.QtWidgets import QApplication, QWidget
import qtpy as PyQt

try:
# PyQt6 style imports
from qtpy.QtWidgets import QApplication, QWidget
from qtpy.QtGui import QAction
except ImportError:
from PyQt5 import QtGui, QtWidgets, QtCore
from PyQt5.QtWidgets import QApplication, QWidget, QAction
from PyQt5.QtWidgets import QAction
import PyQt5 as PyQt
# PyQt5 style imports
from qtpy.QtWidgets import QApplication, QWidget, QAction
from qtpy.QtWidgets import QAction

# Layout direction
try:
ld = QtCore.Qt.LayoutDirection.LeftToRight
except AttributeError:
ld = QtCore.Qt.LeftToRight

''' Main window.
'''
Expand Down Expand Up @@ -734,51 +740,51 @@ def setupUi(self, dlgInsertComponent):
sizePolicy.setHeightForWidth(self.edtAtRel.sizePolicy().hasHeightForWidth())
self.edtAtRel.setSizePolicy(sizePolicy)
self.edtAtRel.setMinimumSize(QtCore.QSize(0, 0))
self.edtAtRel.setLayoutDirection(QtCore.Qt.LeftToRight)
self.edtAtRel.setLayoutDirection(ld)
self.edtAtRel.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignVCenter)
self.edtAtRel.setObjectName("edtAtRel")
self.gridAtRotated.addWidget(self.edtAtRel, 0, 8, 1, 1)
self.label_6 = QtWidgets.QLabel(dlgInsertComponent)
self.label_6.setObjectName("label_6")
self.gridAtRotated.addWidget(self.label_6, 0, 0, 1, 1)
self.edtAtY = QtWidgets.QLineEdit(dlgInsertComponent)
self.edtAtY.setLayoutDirection(QtCore.Qt.LeftToRight)
self.edtAtY.setLayoutDirection(ld)
self.edtAtY.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
self.edtAtY.setObjectName("edtAtY")
self.gridAtRotated.addWidget(self.edtAtY, 0, 4, 1, 1)
self.edtAtZ = QtWidgets.QLineEdit(dlgInsertComponent)
self.edtAtZ.setLayoutDirection(QtCore.Qt.LeftToRight)
self.edtAtZ.setLayoutDirection(ld)
self.edtAtZ.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
self.edtAtZ.setObjectName("edtAtZ")
self.gridAtRotated.addWidget(self.edtAtZ, 0, 6, 1, 1)
self.label_8 = QtWidgets.QLabel(dlgInsertComponent)
self.label_8.setObjectName("label_8")
self.gridAtRotated.addWidget(self.label_8, 0, 5, 1, 1)
self.edtAtX = QtWidgets.QLineEdit(dlgInsertComponent)
self.edtAtX.setLayoutDirection(QtCore.Qt.LeftToRight)
self.edtAtX.setLayoutDirection(ld)
self.edtAtX.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
self.edtAtX.setObjectName("edtAtX")
self.gridAtRotated.addWidget(self.edtAtX, 0, 2, 1, 1)
self.label_2 = QtWidgets.QLabel(dlgInsertComponent)
self.label_2.setObjectName("label_2")
self.gridAtRotated.addWidget(self.label_2, 1, 0, 1, 1)
self.edtRotX = QtWidgets.QLineEdit(dlgInsertComponent)
self.edtRotX.setLayoutDirection(QtCore.Qt.LeftToRight)
self.edtRotX.setLayoutDirection(ld)
self.edtRotX.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
self.edtRotX.setObjectName("edtRotX")
self.gridAtRotated.addWidget(self.edtRotX, 1, 2, 1, 1)
self.edtRotY = QtWidgets.QLineEdit(dlgInsertComponent)
self.edtRotY.setLayoutDirection(QtCore.Qt.LeftToRight)
self.edtRotY.setLayoutDirection(ld)
self.edtRotY.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
self.edtRotY.setObjectName("edtRotY")
self.gridAtRotated.addWidget(self.edtRotY, 1, 4, 1, 1)
self.edtRotZ = QtWidgets.QLineEdit(dlgInsertComponent)
self.edtRotZ.setLayoutDirection(QtCore.Qt.LeftToRight)
self.edtRotZ.setLayoutDirection(ld)
self.edtRotZ.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
self.edtRotZ.setObjectName("edtRotZ")
self.gridAtRotated.addWidget(self.edtRotZ, 1, 6, 1, 1)
self.edtRotRel = QtWidgets.QLineEdit(dlgInsertComponent)
self.edtRotRel.setLayoutDirection(QtCore.Qt.LeftToRight)
self.edtRotRel.setLayoutDirection(ld)
self.edtRotRel.setObjectName("edtRotRel")
self.gridAtRotated.addWidget(self.edtRotRel, 1, 8, 1, 1)
self.label_4 = QtWidgets.QLabel(dlgInsertComponent)
Expand Down
20 changes: 6 additions & 14 deletions tools/Python/mcresplot/tas.py
Original file line number Diff line number Diff line change
Expand Up @@ -617,22 +617,14 @@ def __init__(self):
# dependencies
# try to import qt5...
try:
import PyQt5 as qt
import PyQt5.QtCore as qtc
import PyQt5.QtGui as qtg
import PyQt5.QtWidgets as qtw
import qtpy as qt
import qtpy.QtCore as qtc
import qtpy.QtGui as qtg
import qtpy.QtWidgets as qtw
qt_ver = 5
except ImportError:
# ...and if not possible try to import qt4 instead
try:
import PyQt4 as qt
import PyQt4.QtCore as qtc
import PyQt4.QtGui as qtg
qtw = qtg
qt_ver = 4
except ImportError:
print("Error: No suitable version of Qt was found!")
exit(-1)
print("Error: No suitable version of Qt was found!")
exit(-1)
# -----------------------------------------------------------------------------


Expand Down
File renamed without changes.
File renamed without changes.
Loading