aboutsummaryrefslogtreecommitdiffstats
path: root/Widgets/Dashboard.py
diff options
context:
space:
mode:
authorsuchinton2001 <suchinton.2001@gmail.com>2023-09-20 23:18:36 +0530
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2023-09-27 12:29:27 +0000
commitc65710aac670e9546c261b13294571f310ca9439 (patch)
treee8939f703ff3dc19aff73495234bad64922621d6 /Widgets/Dashboard.py
parent746451c1587a2830b47904b5abb9f0b6c1b10641 (diff)
Update UI files
V1: - Widen Scroll bars in IC and HVAC Page - Update UI to use carbon icon resources - Add new Dashboard page - Add bottom navigation bar to main window UI - Remove deprecated navigation page files Bug-AGL: SPEC-4905 Signed-off-by: suchinton2001 <suchinton.2001@gmail.com> Change-Id: Ia307d326c4bc9af9969e1d6b2a2cb4948a7ee286
Diffstat (limited to 'Widgets/Dashboard.py')
-rw-r--r--Widgets/Dashboard.py89
1 files changed, 89 insertions, 0 deletions
diff --git a/Widgets/Dashboard.py b/Widgets/Dashboard.py
new file mode 100644
index 0000000..591f296
--- /dev/null
+++ b/Widgets/Dashboard.py
@@ -0,0 +1,89 @@
+"""
+ Copyright 2023 Suchinton Chakravarty
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+"""
+
+import os
+import sys
+from PyQt5 import uic
+from PyQt5 import QtWidgets
+from PyQt5.QtCore import pyqtSignal
+
+current_dir = os.path.dirname(os.path.abspath(__file__))
+
+# ========================================
+
+sys.path.append(os.path.dirname(current_dir))
+
+from extras.FeedKuksa import FeedKuksa
+
+Form, Base = uic.loadUiType(os.path.join(current_dir, "../ui/Dashboard.ui"))
+
+# ========================================
+
+class Dashboard(Base, Form):
+ """
+ A class representing the dashboard widget.
+
+ Attributes:
+ - tileClickedSignal: A PyQtSignal emitted when a tile is clicked.
+
+ Methods:
+ - __init__(self, parent=None): Initializes the Dashboard widget.
+ - tile_clicked(self, tile): Handles the tile click event.
+ """
+
+ tileClickedSignal = pyqtSignal()
+
+ def __init__(self, parent=None):
+ """
+ Initializes the Dashboard widget.
+
+ Parameters:
+ - parent: The parent widget. Defaults to None.
+ """
+ super(self.__class__, self).__init__(parent)
+ self.setupUi(self)
+
+ self.feed_kuksa = FeedKuksa()
+
+ Dashboard_tiles = (self.DB_IC_Tile,
+ self.DB_HVAC_Tile,
+ self.DB_Steering_Tile,
+ self.DB_Settings_Tile)
+
+ DashboardTiles = QtWidgets.QButtonGroup(self)
+
+ for i, tile in enumerate(Dashboard_tiles):
+ DashboardTiles.addButton(tile)
+
+ DashboardTiles.buttonClicked.connect(self.tile_clicked)
+
+ def tile_clicked(self, tile):
+ """
+ Handles the tile click event.
+
+ Parameters:
+ - tile: The tile that was clicked.
+ """
+ if tile == self.DB_IC_Tile:
+ self.parent().setCurrentIndex(1)
+ elif tile == self.DB_HVAC_Tile:
+ self.parent().setCurrentIndex(2)
+ elif tile == self.DB_Steering_Tile:
+ self.parent().setCurrentIndex(3)
+ elif tile == self.DB_Settings_Tile:
+ self.parent().setCurrentIndex(4)
+
+ self.tileClickedSignal.emit() \ No newline at end of file