diff --git a/Server/copter_table_models.py b/Server/copter_table_models.py
index bd84cf9..d56df25 100644
--- a/Server/copter_table_models.py
+++ b/Server/copter_table_models.py
@@ -33,7 +33,7 @@ class CopterDataModel(QtCore.QAbstractTableModel):
def __init__(self, parent=None):
super(CopterDataModel, self).__init__(parent)
- self.headers = ('copter ID', 'animation ID', 'battery V', 'battery %', 'sys status', 'calibration status', 'selfcheck', 'time delta')
+ self.headers = ('copter ID', 'animation ID', 'battery V', 'battery %', 'system status', 'calibration status', 'selfcheck', 'time delta')
self.data_contents = []
def insertRows(self, contents, position='last', parent=QtCore.QModelIndex()):
@@ -93,6 +93,9 @@ class CopterDataModel(QtCore.QAbstractTableModel):
elif role == Qt.CheckStateRole and col == 0:
return self.data_contents[row].checked
+ if role == QtCore.Qt.TextAlignmentRole and col != 0:
+ return QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter
+
def update_model(self, index=QtCore.QModelIndex()):
#self.modelReset.emit()
self.selected_ready_signal.emit(set(self.user_selected()).issubset(self.selfchecked_ready()))
diff --git a/Server/server_gui.py b/Server/server_gui.py
index cf23ee1..73f41b9 100644
--- a/Server/server_gui.py
+++ b/Server/server_gui.py
@@ -2,16 +2,17 @@
# Form implementation generated from reading ui file 'server_gui.ui'
#
-# Created by: PyQt5 UI code generator 5.11.3
+# Created by: PyQt5 UI code generator 5.12.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
+
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
- MainWindow.resize(1284, 740)
+ MainWindow.resize(1220, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setEnabled(True)
self.centralwidget.setObjectName("centralwidget")
@@ -26,18 +27,30 @@ class Ui_MainWindow(object):
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.tableView.sizePolicy().hasHeightForWidth())
self.tableView.setSizePolicy(sizePolicy)
+ self.tableView.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContentsOnFirstShow)
+ self.tableView.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectItems)
+ self.tableView.setTextElideMode(QtCore.Qt.ElideMiddle)
+ self.tableView.setSortingEnabled(True)
+ self.tableView.setWordWrap(True)
self.tableView.setObjectName("tableView")
+ self.tableView.horizontalHeader().setCascadingSectionResizes(False)
+ self.tableView.horizontalHeader().setDefaultSectionSize(125)
+ self.tableView.horizontalHeader().setMinimumSectionSize(100)
+ self.tableView.horizontalHeader().setStretchLastSection(True)
self.horizontalLayout.addWidget(self.tableView)
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
self.verticalLayout.setObjectName("verticalLayout")
self.formLayout = QtWidgets.QFormLayout()
+ self.formLayout.setLabelAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.formLayout.setFormAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.formLayout.setObjectName("formLayout")
self.check_button = QtWidgets.QPushButton(self.centralwidget)
self.check_button.setEnabled(True)
self.check_button.setObjectName("check_button")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.SpanningRole, self.check_button)
self.start_text = QtWidgets.QLabel(self.centralwidget)
+ self.start_text.setAlignment(QtCore.Qt.AlignCenter)
self.start_text.setObjectName("start_text")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.start_text)
self.start_delay_spin = QtWidgets.QSpinBox(self.centralwidget)
@@ -54,9 +67,6 @@ class Ui_MainWindow(object):
self.stop_button = QtWidgets.QPushButton(self.centralwidget)
self.stop_button.setObjectName("stop_button")
self.formLayout.setWidget(5, QtWidgets.QFormLayout.SpanningRole, self.stop_button)
- self.emergency_button = QtWidgets.QPushButton(self.centralwidget)
- self.emergency_button.setObjectName("emergency_button")
- self.formLayout.setWidget(6, QtWidgets.QFormLayout.SpanningRole, self.emergency_button)
self.verticalLayout.addLayout(self.formLayout)
self.line = QtWidgets.QFrame(self.centralwidget)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
@@ -64,30 +74,62 @@ class Ui_MainWindow(object):
self.line.setObjectName("line")
self.verticalLayout.addWidget(self.line)
self.formLayout_2 = QtWidgets.QFormLayout()
+ self.formLayout_2.setFormAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.formLayout_2.setObjectName("formLayout_2")
+ self.disarm_button = QtWidgets.QPushButton(self.centralwidget)
+ self.disarm_button.setObjectName("disarm_button")
+ self.formLayout_2.setWidget(7, QtWidgets.QFormLayout.SpanningRole, self.disarm_button)
+ self.emergency_button = QtWidgets.QPushButton(self.centralwidget)
+ self.emergency_button.setObjectName("emergency_button")
+ self.formLayout_2.setWidget(6, QtWidgets.QFormLayout.SpanningRole, self.emergency_button)
+ self.verticalLayout.addLayout(self.formLayout_2)
+ self.line_2 = QtWidgets.QFrame(self.centralwidget)
+ self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
+ self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
+ self.line_2.setObjectName("line_2")
+ self.verticalLayout.addWidget(self.line_2)
+ self.formLayout_3 = QtWidgets.QFormLayout()
+ self.formLayout_3.setFormAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
+ self.formLayout_3.setVerticalSpacing(6)
+ self.formLayout_3.setObjectName("formLayout_3")
+ self.leds_button = QtWidgets.QPushButton(self.centralwidget)
+ self.leds_button.setObjectName("leds_button")
+ self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.SpanningRole, self.leds_button)
self.takeoff_button = QtWidgets.QPushButton(self.centralwidget)
self.takeoff_button.setEnabled(True)
self.takeoff_button.setObjectName("takeoff_button")
- self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.SpanningRole, self.takeoff_button)
- self.land_button = QtWidgets.QPushButton(self.centralwidget)
- self.land_button.setObjectName("land_button")
- self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.SpanningRole, self.land_button)
- self.disarm_button = QtWidgets.QPushButton(self.centralwidget)
- self.disarm_button.setObjectName("disarm_button")
- self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.SpanningRole, self.disarm_button)
- self.leds_button = QtWidgets.QPushButton(self.centralwidget)
- self.leds_button.setObjectName("leds_button")
- self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.SpanningRole, self.leds_button)
+ self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.SpanningRole, self.takeoff_button)
self.flip_button = QtWidgets.QPushButton(self.centralwidget)
self.flip_button.setObjectName("flip_button")
- self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.SpanningRole, self.flip_button)
- self.verticalLayout.addLayout(self.formLayout_2)
+ self.formLayout_3.setWidget(2, QtWidgets.QFormLayout.SpanningRole, self.flip_button)
+ self.land_button = QtWidgets.QPushButton(self.centralwidget)
+ self.land_button.setObjectName("land_button")
+ self.formLayout_3.setWidget(3, QtWidgets.QFormLayout.SpanningRole, self.land_button)
+ self.verticalLayout.addLayout(self.formLayout_3)
+ self.line_3 = QtWidgets.QFrame(self.centralwidget)
+ self.line_3.setFrameShape(QtWidgets.QFrame.HLine)
+ self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
+ self.line_3.setObjectName("line_3")
+ self.verticalLayout.addWidget(self.line_3)
+ self.formLayout_4 = QtWidgets.QFormLayout()
+ self.formLayout_4.setFormAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
+ self.formLayout_4.setObjectName("formLayout_4")
+ self.reboot_fcu = QtWidgets.QPushButton(self.centralwidget)
+ self.reboot_fcu.setObjectName("reboot_fcu")
+ self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.SpanningRole, self.reboot_fcu)
+ self.calibrate_gyro = QtWidgets.QPushButton(self.centralwidget)
+ self.calibrate_gyro.setObjectName("calibrate_gyro")
+ self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.SpanningRole, self.calibrate_gyro)
+ self.calibrate_level = QtWidgets.QPushButton(self.centralwidget)
+ self.calibrate_level.setObjectName("calibrate_level")
+ self.formLayout_4.setWidget(2, QtWidgets.QFormLayout.SpanningRole, self.calibrate_level)
+ self.verticalLayout.addLayout(self.formLayout_4)
self.horizontalLayout.addLayout(self.verticalLayout)
self.horizontalLayout.setStretch(0, 1)
self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
- self.menubar.setGeometry(QtCore.QRect(0, 0, 1284, 21))
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 1220, 25))
self.menubar.setObjectName("menubar")
self.menuOptions = QtWidgets.QMenu(self.menubar)
self.menuOptions.setObjectName("menuOptions")
@@ -105,6 +147,12 @@ class Ui_MainWindow(object):
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
+ MainWindow.setTabOrder(self.check_button, self.start_delay_spin)
+ MainWindow.setTabOrder(self.start_delay_spin, self.start_button)
+ MainWindow.setTabOrder(self.start_button, self.pause_button)
+ MainWindow.setTabOrder(self.pause_button, self.stop_button)
+ MainWindow.setTabOrder(self.stop_button, self.disarm_button)
+ MainWindow.setTabOrder(self.disarm_button, self.tableView)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
@@ -114,25 +162,19 @@ class Ui_MainWindow(object):
self.start_delay_spin.setSuffix(_translate("MainWindow", " seconds"))
self.start_button.setText(_translate("MainWindow", "Start animation"))
self.pause_button.setText(_translate("MainWindow", "Pause"))
- self.stop_button.setText(_translate("MainWindow", "Stop"))
- self.emergency_button.setText(_translate("MainWindow", "Emergency land"))
- self.takeoff_button.setText(_translate("MainWindow", "Takeoff"))
- self.land_button.setText(_translate("MainWindow", "Land"))
+ self.stop_button.setText(_translate("MainWindow", "Stop and land all"))
self.disarm_button.setText(_translate("MainWindow", "Disarm"))
+ self.emergency_button.setText(_translate("MainWindow", "Emergency land"))
self.leds_button.setText(_translate("MainWindow", "Test leds"))
+ self.takeoff_button.setText(_translate("MainWindow", "Takeoff"))
self.flip_button.setText(_translate("MainWindow", "Flip"))
+ self.land_button.setText(_translate("MainWindow", "Land"))
+ self.reboot_fcu.setText(_translate("MainWindow", "Reboot FCU"))
+ self.calibrate_gyro.setText(_translate("MainWindow", "Calibrate gyro"))
+ self.calibrate_level.setText(_translate("MainWindow", "Calibrate level"))
self.menuOptions.setTitle(_translate("MainWindow", "Actions"))
self.action_send_animations.setText(_translate("MainWindow", "Send Animations"))
self.action_send_configurations.setText(_translate("MainWindow", "Send Configurations"))
self.action_send_Aruco_map.setText(_translate("MainWindow", "Send Aruco map"))
-if __name__ == "__main__":
- import sys
- app = QtWidgets.QApplication(sys.argv)
- MainWindow = QtWidgets.QMainWindow()
- ui = Ui_MainWindow()
- ui.setupUi(MainWindow)
- MainWindow.show()
- sys.exit(app.exec_())
-
diff --git a/Server/server_gui.ui b/Server/server_gui.ui
index dbcb660..ec97cc9 100644
--- a/Server/server_gui.ui
+++ b/Server/server_gui.ui
@@ -6,8 +6,8 @@
0
0
- 1284
- 740
+ 1220
+ 600
@@ -31,6 +31,33 @@
0
+
+ QAbstractScrollArea::AdjustToContentsOnFirstShow
+
+
+ QAbstractItemView::SelectItems
+
+
+ Qt::ElideMiddle
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ 125
+
+
+ 100
+
+
+ true
+
-
@@ -40,6 +67,12 @@
-
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+
-
@@ -55,6 +88,9 @@
Start after
+
+ Qt::AlignCenter
+
-
@@ -87,14 +123,7 @@
-
- Stop
-
-
-
- -
-
-
- Emergency land
+ Stop and land all
@@ -109,6 +138,47 @@
-
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
-
+
+
+ Disarm
+
+
+
+ -
+
+
+ Emergency land
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+ 6
+
+
-
+
+
+ Test leds
+
+
+
-
@@ -119,6 +189,13 @@
+ -
+
+
+ Flip
+
+
+
-
@@ -126,24 +203,38 @@
- -
-
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
+
+
-
+
- Disarm
+ Reboot FCU
- -
-
+
-
+
- Test leds
+ Calibrate gyro
-
-
+
- Flip
+ Calibrate level
@@ -160,8 +251,8 @@
0
0
- 1284
- 21
+ 1220
+ 25
+
+ check_button
+ start_delay_spin
+ start_button
+ pause_button
+ stop_button
+ disarm_button
+ tableView
+
diff --git a/Server/server_qt.py b/Server/server_qt.py
index 0fce5e7..e49fbdd 100644
--- a/Server/server_qt.py
+++ b/Server/server_qt.py
@@ -64,8 +64,8 @@ class MainWindow(QtWidgets.QMainWindow):
# Initiate table and table self.model
self.ui.tableView.setModel(self.proxy_model)
- self.ui.tableView.horizontalHeader().setStretchLastSection(True)
- self.ui.tableView.setSortingEnabled(True)
+ #self.ui.tableView.horizontalHeader().setStretchLastSection(True)
+ #self.ui.tableView.setSortingEnabled(True)
# Connect signals to manipulate model from threads
self.signals.update_data_signal.connect(self.model.update_item)