diff options
author | suchinton2001 <suchinton.2001@gmail.com> | 2023-09-20 23:18:36 +0530 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2023-09-27 12:29:27 +0000 |
commit | c65710aac670e9546c261b13294571f310ca9439 (patch) | |
tree | e8939f703ff3dc19aff73495234bad64922621d6 /Widgets/Dashboard.py | |
parent | 746451c1587a2830b47904b5abb9f0b6c1b10641 (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.py | 89 |
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 |