Exemplo n.º 1
0
    def writeSettings(self):
        """Write all relevant settings to the project file XML """
        if not self.getTimeLayerManager().isEnabled():
            return
        (timeLayerManagerSettings, timeLayerList) = self.getTimeLayerManager().getSaveString()

        if timeLayerManagerSettings is not None:
            settings = {'animationFrameLength': self.animationFrameLength,
                        'playBackwards': self.playBackwards,
                        'loopAnimation': self.loopAnimation,
                        'timeLayerManager': timeLayerManagerSettings,
                        'timeLayerList': timeLayerList,
                        'currentMapTimePosition':
                        time_util.datetime_to_str(
                            self.getTimeLayerManager().getCurrentTimePosition(),
                            time_util.DEFAULT_FORMAT
                        ),
                        'timeFrameType': self.getTimeLayerManager().getTimeFrameType(),
                        'timeFrameSize': self.getTimeLayerManager().getTimeFrameSize(),
                        'active': self.getTimeLayerManager().isEnabled(),
                        'mode': int(time_util.is_archaelogical()),
                        'digits': time_util.getArchDigits(),
                        'labelFormat': self.guiControl.getLabelFormat(),
                        'labelFont': self.guiControl.getLabelFont(),
                        'labelSize': self.guiControl.getLabelSize(),
                        'labelColor': self.guiControl.getLabelColor(),
                        'labelBgColor': self.guiControl.getLabelBgColor(),
                        'labelPlacement': self.guiControl.getLabelPlacement()}

            TimeManagerProjectHandler.writeSettings(settings)
Exemplo n.º 2
0
    def setArchaeology(self, enabled=0):
        if enabled == 0:
            if [
                    x for x in self.getTimeLayerManager().layers()
                    if time_util.is_archaeological_layer(x)
            ]:
                QMessageBox.information(
                    self.iface.mainWindow(),
                    QCoreApplication.translate('TimeManager', 'Error'),
                    QCoreApplication.translate(
                        'TimeManager',
                        "Already have archaeological layers in the project."
                        "Please delete them to switch to normal mode"))
                self.guiControl.setArchaeologyPressed(True)
                return
            time_util.setCurrentMode(time_util.NORMAL_MODE)
            self.guiControl.setWindowTitle("Time Manager")
            self.guiControl.setArchaeologyPressed(False)
            self.guiControl.disableArchaeologyTextBox()

        else:
            if [
                    x for x in self.getTimeLayerManager().layers()
                    if not time_util.is_archaeological_layer(x)
            ]:
                QMessageBox.information(
                    self.iface.mainWindow(),
                    QCoreApplication.translate('TimeManager', 'Error'),
                    QCoreApplication.translate(
                        'TimeManager',
                        "Already have non archaeological layers in the project."
                        "Please delete them to switch to archaeological mode"))
                self.guiControl.setArchaeologyPressed(False)
                return
            time_util.setCurrentMode(time_util.ARCHAELOGY_MODE)
            self.guiControl.setWindowTitle(
                QCoreApplication.translate('TimeManager',
                                           "Time Manager Archaeology Mode"))
            self.guiControl.setArchaeologyPressed(True)
            ctx = self.guiControl.dock.objectName()
            try:
                self.guiControl.setTimeFrameType(
                    QCoreApplication.translate(ctx, 'years'))
            except Exception:
                error(
                    QCoreApplication.translate(
                        'TimeManager', "should only happen during testing"))
            self.guiControl.enableArchaeologyTextBox()
            self.showMessage(
                QCoreApplication.translate(
                    'TimeManager',
                    "Archaelogy mode enabled. Expecting data of the form {0} BC or {0} AD."
                    " Disable to work with regular datetimes from year 1 onwards"
                ).format("Y" * time_util.getArchDigits()))
Exemplo n.º 3
0
    def writeSettings(self):
        """Write all relevant settings to the project file XML """
        if not self.getTimeLayerManager().isEnabled():
            return
        (timeLayerManagerSettings,
         timeLayerList) = self.getTimeLayerManager().getSaveString()

        if timeLayerManagerSettings is not None:
            settings = {
                'animationFrameLength':
                self.animationFrameLength,
                'playBackwards':
                self.playBackwards,
                'loopAnimation':
                self.loopAnimation,
                'timeLayerManager':
                timeLayerManagerSettings,
                'timeLayerList':
                timeLayerList,
                'currentMapTimePosition':
                time_util.datetime_to_str(
                    self.getTimeLayerManager().getCurrentTimePosition(),
                    time_util.DEFAULT_FORMAT),
                'timeFrameType':
                self.getTimeLayerManager().getTimeFrameType(),
                'timeFrameSize':
                self.getTimeLayerManager().getTimeFrameSize(),
                'active':
                self.getTimeLayerManager().isEnabled(),
                'mode':
                int(time_util.is_archaelogical()),
                'digits':
                time_util.getArchDigits(),
                'labelFormat':
                self.guiControl.getLabelFormat(),
                'labelFont':
                self.guiControl.getLabelFont(),
                'labelSize':
                self.guiControl.getLabelSize(),
                'labelColor':
                self.guiControl.getLabelColor(),
                'labelBgColor':
                self.guiControl.getLabelBgColor(),
                'labelPlacement':
                self.guiControl.getLabelPlacement()
            }

            TimeManagerProjectHandler.writeSettings(settings)
Exemplo n.º 4
0
    def setArchaeology(self, enabled=0):
        if enabled == 0:
            if [x for x in self.getTimeLayerManager().layers() if time_util.is_archaeological_layer(x)]:
                QMessageBox.information(self.iface.mainWindow(),
                                        QCoreApplication.translate('TimeManager', 'Error'),
                                        QCoreApplication.translate('TimeManager', "Already have archaeological layers in the project."
                                        "Please delete them to switch to normal mode"))
                self.guiControl.setArchaeologyPressed(True)
                return
            time_util.setCurrentMode(time_util.NORMAL_MODE)
            self.guiControl.setWindowTitle("Time Manager")
            self.guiControl.setArchaeologyPressed(False)
            self.guiControl.disableArchaeologyTextBox()

        else:
            if [x for x in self.getTimeLayerManager().layers() if not time_util.is_archaeological_layer(x)]:
                QMessageBox.information(self.iface.mainWindow(),
                                        QCoreApplication.translate('TimeManager', 'Error'),
                                        QCoreApplication.translate('TimeManager', "Already have non archaeological layers in the project."
                                        "Please delete them to switch to archaeological mode"))
                self.guiControl.setArchaeologyPressed(False)
                return
            time_util.setCurrentMode(time_util.ARCHAELOGY_MODE)
            self.guiControl.setWindowTitle(QCoreApplication.translate('TimeManager', "Time Manager Archaeology Mode"))
            self.guiControl.setArchaeologyPressed(True)
            ctx = self.guiControl.dock.objectName()
            try:
                self.guiControl.setTimeFrameType(QCoreApplication.translate(ctx, 'years'))
            except Exception:
                error(
                    QCoreApplication.translate(
                        'TimeManager',
                        "should only happen during testing"
                    )
                )
            self.guiControl.enableArchaeologyTextBox()
            self.showMessage(
                QCoreApplication.translate(
                    'TimeManager',
                    "Archaelogy mode enabled. Expecting data of the form {0} BC or {0} AD."
                    " Disable to work with regular datetimes from year 1 onwards"
                ).format(
                    "Y" * time_util.getArchDigits()
                )
            )