from qgis.PyQt.QtGui import QCloseEvent
from qgis.PyQt.QtCore import pyqtSignal
from qgis.PyQt.QtWidgets import QWidget

class SettingsPage(QWidget):
    requestPageRefresh = pyqtSignal(object)

    def setup_ui(self, ui):
        raise NotImplementedError('Abstract. Should be implemented in subclass.')

    def setup_data(self):
        raise NotImplementedError('Abstract. Should be implemented in subclass.')

    def closeEvent(self, event: QCloseEvent):
        pass