# --- NUOVO FILE: containers/dashboards/dash_em_pivot/page_toolbar.py --- from PyQt6.QtWidgets import QToolBar from PyQt6.QtGui import QAction from PyQt6.QtCore import QSize class PageToolbar(QToolBar): """ Toolbar autonoma e specifica per la Dashboard Pivot Emissioni. Gestisce le sue azioni e il loro stato (enabled/disabled). """ def __init__(self, parent=None): super().__init__("Toolbar Pagina", parent) self.setIconSize(QSize(20, 20)) self.setStyleSheet(""" QToolBar { background-color: #FFFFFF; border-bottom: 1px solid #D2D0CE; padding: 4px; spacing: 8px; } QToolButton { padding: 5px; border-radius: 3px; } QToolButton:hover { background-color: #F3F2F1; } """) self._create_actions() def _create_actions(self): """Crea le QAction e le aggiunge alla toolbar.""" # Azione per esportare la tabella pivot self.export_pivot_action = QAction("Esporta Pivot", self) # Il collegamento (connect) verrà fatto nella pagina principale self.addAction(self.export_pivot_action) # Azione per esportare la tabella di dettaglio self.export_detail_action = QAction("Esporta Dettaglio", self) # Il collegamento (connect) verrà fatto nella pagina principale self.addAction(self.export_detail_action) self.update_actions_state(has_pivot_data=False, has_detail_data=False) def update_actions_state(self, has_pivot_data: bool, has_detail_data: bool): """ Aggiorna lo stato (enabled/disabled) delle azioni in base alla disponibilità dei dati. """ self.export_pivot_action.setEnabled(has_pivot_data) self.export_detail_action.setEnabled(has_detail_data)