Esempio n. 1
0
    def doAction(self, umlObjects: List[OglObject],
                 selectedObjects: List[OglObject], umlFrame: UmlFrame):
        """

        Args:
            umlObjects: list of the uml objects of the diagram
            selectedObjects:  list of the selected objects
            umlFrame: the frame of the diagram

        """
        if len(selectedObjects) != 1:
            dlg = MessageDialog(None,
                                _("You must select at most a single class"),
                                _("Warning"), OK | ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()

            return
        filename: str = ToFastEdit.FAST_EDIT_TEMP_FILE

        file: TextIO = open(filename, "w")
        self.write(selectedObjects[0], file)
        file.close()

        if sysPlatform == PyutConstants.THE_GREAT_MAC_PLATFORM:
            osSystem(f'open -W -a {self._editor} {filename}')
        else:
            osSystem(f'{self._editor} {filename}')
        file = open(filename, "r")
        self.read(selectedObjects[0], file)
        file.close()

        self._setProjectModified()
        self._cleanupTempFile()
Esempio n. 2
0
    def __OnCheckBox(self, event: CommandEvent):
        """
        """
        self.__changed = True
        eventID = event.GetId()
        val = event.IsChecked()
        if eventID == self.__autoResizeID:
            self.__prefs[PyutPreferences.AUTO_RESIZE_SHAPE_ON_EDIT] = val
        elif eventID == self.__showParamsID:
            self.__ctrl.showParams(val)
            self.__prefs[PyutPreferences.SHOW_PARAMETERS] = val
        elif eventID == self.__maximizeID:
            self.__prefs[PyutPreferences.FULL_SCREEN] = val
        elif eventID == self.__showTipsID:
            self.__prefs[PyutPreferences.SHOW_TIPS_ON_STARTUP] = val
        elif eventID == self.__centerDiagramID:
            self.__prefs.centerAppOnStartup = val
            self.__setPositionControls()
            dlg = MessageDialog(
                self, _("You must restart Pyut for position changes"),
                _("Warning"), OK | ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()

        else:
            self.logger.warning(f'Unknown combo box ID: {eventID}')
Esempio n. 3
0
    def doAction(self, umlObjects: List[OglObject],
                 selectedObjects: List[OglClass], umlFrame: UmlFrame):
        """

        Args:
            umlObjects: list of the uml objects of the diagram
            selectedObjects:  list of the selected objects
            umlFrame: the frame of the diagram
        """
        if len(selectedObjects) != 1:
            dlg: MessageDialog = MessageDialog(
                None, _("You must select at most a single class"),
                _("Warning"), OK | ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            return
        oglClass: OglClass = selectedObjects[0]

        if isinstance(oglClass, OglClass) is False:
            dlg = MessageDialog(None, _('Must be a UML Class'),
                                _('Bad Selection'), OK | ICON_ERROR | CENTER)
            dlg.ShowModal()
            dlg.Destroy()
            return

        filename: str = ToFastEdit.FAST_EDIT_TEMP_FILE

        self._writeTempTextFileForEditor(filename, oglClass)
        self._launchAppropriateEditor(filename)
        self._readTheModifiedTextFile(filename, oglClass)

        self._setProjectModified()
        self._cleanupTempFile()
Esempio n. 4
0
 def onClose(self, event):
     dialog = MessageDialog(self, "Close app?", "Confirm Exit",
                            OK | CANCEL | ICON_QUESTION)
     result = dialog.ShowModal()
     dialog.Destroy()
     if result == ID_OK:
         self.Destroy()
Esempio n. 5
0
    def _fillAllControls(self):
        """
        Fill all controls with _pyutModelCopy data.

        """
        # Fill Class name
        self._txtName.SetValue(self._pyutModelCopy.getName())

        # Fill Stereotype
        stereotype = self._pyutModelCopy.getStereotype()
        if stereotype is None:
            strStereotype = ""
        else:
            strStereotype = stereotype.getName()
        self._txtStereotype.SetValue(strStereotype)

        # Fill the list controls
        try:
            for el in self._pyutModelCopy.fields:
                self.logger.debug(f'field: {el}')
                self._lstFieldList.Append(str(el))

            self._fillMethodList()
        except (ValueError, Exception) as e:

            eMsg: str = _(f"Error: {e}")
            dlg = MessageDialog(self, eMsg, OK | ICON_ERROR)
            dlg.ShowModal()
            dlg.Destroy()

        # Fill display properties
        self._chkShowFields.SetValue(self._pyutModelCopy.showFields)
        self._chkShowMethods.SetValue(self._pyutModelCopy.showMethods)
        self._chkShowStereotype.SetValue(
            self._pyutModelCopy.getShowStereotype())
Esempio n. 6
0
    def removeDocument(self, document, confirmation=True):
        """
        Remove a given document from the project.

        Args:
            document: PyutDocument to remove from this project
            confirmation:  If `True` ask for confirmation
        """
        frame = document.getFrame()

        if confirmation:
            self._mediator.getFileHandling().showFrame(frame)

            dlg = MessageDialog(self._mediator.getUmlFrame(), _("Are you sure to remove the document ?"),
                                _("Remove a document from a project"), YES_NO)
            if dlg.ShowModal() == ID_NO:
                dlg.Destroy()
                return
            dlg.Destroy()

        # Remove references

        fileHandling = self._mediator.getFileHandling()
        fileHandling.removeAllReferencesToUmlFrame(frame)

        document.removeFromTree()

        # Remove document from documents list
        self._documents.remove(document)
Esempio n. 7
0
    def closeCurrentProject(self):
        """
        Close the current project

        Returns:
            True if everything is ok
        """
        if self._currentProject is None and self._currentFrame is not None:
            self._currentProject = self.getProjectFromFrame(self._currentFrame)
        if self._currentProject is None:
            PyutUtils.displayError(_("No frame to close !"), _("Error..."))
            return False

        # Display warning if we are in scripting mode
        if self._mediator.isInScriptMode():
            self.logger.warning(
                "WARNING : in script mode, the non-saved projects are closed without warning"
            )

        # Close the file
        if self._currentProject.getModified(
        ) is True and not self._mediator.isInScriptMode():
            frame = self._currentProject.getFrames()[0]
            frame.SetFocus()
            self.showFrame(frame)

            dlg = MessageDialog(
                self.__parent,
                _("Your project has not been saved. "
                  "Would you like to save it ?"), _("Save changes ?"),
                YES_NO | ICON_QUESTION)
            if dlg.ShowModal() == ID_YES:
                if self.saveFile() is False:
                    return False

        # Remove the frame in the notebook
        if not self._mediator.isInScriptMode():
            pages = list(range(self.__notebook.GetPageCount()))
            pages.reverse()
            for i in pages:
                pageFrame = self.__notebook.GetPage(i)
                if pageFrame in self._currentProject.getFrames():
                    self.__notebook.DeletePage(i)

        self._currentProject.removeFromTree()
        self._projects.remove(self._currentProject)

        self.logger.debug(f'{self._currentProject.getFilename()=}')
        self._currentProject = None
        self._currentFrame = None

        nbrProjects: int = len(self._projects)
        self.logger.debug(f'{nbrProjects=}')
        if nbrProjects > 0:
            self.__updateTreeNotebookIfPossible(project=self._projects[0])

        self._mediator.updateTitle()

        return True
Esempio n. 8
0
 def _on_about(self, _):
     dlg = MessageDialog(self, "Monitors save directory and backs up"
             " changes to backup directory. Backup directory is under Git"
             " version control system.\n"
             "\n"
             "Author(s):\n"
             "Vasiliy (real) Efimov\n",
         "About")
     dlg.ShowModal()
     dlg.Destroy()
Esempio n. 9
0
    def newWarning(self, msg, title=None, parent=None):

        if title is None:
            title = _("WARNING...")
        try:
            dlg = MessageDialog(parent, msg, title,
                                OK | ICON_EXCLAMATION | CENTRE)
            dlg.ShowModal()
            dlg.Destroy()
        except (ValueError, Exception) as e:
            self.logger.error(f'newWarning: {e}')
Esempio n. 10
0
    def onClose(self) -> bool:
        """
        Close all files

        Returns:
            True if everything is ok
        """
        # Display warning if we are in scripting mode
        if self._mediator.isInScriptMode():
            self.logger.warning(
                "WARNING : in script mode, the non-saved projects are closed without warning"
            )

        # Close projects and ask for unsaved but modified projects
        if not self._mediator.isInScriptMode():
            for project in self._projects:
                if project.getModified() is True:
                    frames = project.getFrames()
                    if len(frames) > 0:
                        frame = frames[0]
                        frame.SetFocus()
                        wxYield()
                        self.showFrame(frame)
                    dlg = MessageDialog(
                        self.__parent,
                        _("Your diagram has not been saved! Would you like to save it?"
                          ), _("Save changes?"), YES_NO | ICON_QUESTION)
                    if dlg.ShowModal() == ID_YES:
                        # save
                        if self.saveFile() is False:
                            return False
                    dlg.Destroy()

        from org.pyut.ui.frame.PyutApplicationFrame import PyutApplicationFrame  # Prevent recursion import problem
        from org.pyut.ui.Mediator import Mediator

        # dereference all
        self.__notebook.DeleteAllPages()
        self.__notebook = None

        self.__parent = cast(PyutApplicationFrame, None)
        self._projects = cast(List[PyutProject], None)
        self._mediator = cast(Mediator, None)
        self._currentProject = cast(PyutProject, None)
        self._currentFrame = cast(UmlDiagramsFrame, None)

        self.__splitter = None
        self.__projectTree = None
        self.__splitter = None

        return True
Esempio n. 11
0
 def Destroy(self):
     if self.changed:
         dlg = MessageDialog(self,
                             "編集した内容を保存しますか?",
                             "終了",
                             style=YES | NO | CANCEL)
         stat = dlg.ShowModal()
         if stat == ID_YES:
             self.Save()
         elif stat == ID_CANCEL:
             dlg.Destroy()
             return False
         dlg.Destroy()
     self.application.ExitMainLoop()
     return True
Esempio n. 12
0
    def _onCreateTaskClicked(self, event: CommandEvent):

        dlg: ProgressDialog = self.__setupProgressDialog()

        ci: CloneInformation = self._cloneInformation

        adapter: AbstractTodoistAdapter = self._todoistAdapter

        try:
            adapter.createTasks(info=ci, progressCb=self.__adapterCallback)
            self._progressDlg.Destroy()
        except AdapterAuthenticationError as e:
            self._progressDlg.Destroy()
            self.__handleAuthenticationError(event)
        except (TaskCreationError, NoteCreationError) as tce:
            self._progressDlg.Destroy()
            errorHandler: ErrorHandler = ErrorHandler()

            if errorHandler.isErrorHandled(tce.errorCode) is True:
                errorHandler.handleError(tce.message, tce.errorCode)
            else:
                booBoo: MessageDialog = MessageDialog(
                    parent=None,
                    message=tce.message,
                    caption='Task Creation Error!',
                    style=OK | ICON_ERROR)
                booBoo.ShowModal()
Esempio n. 13
0
    def __OnCheckBox(self, event: CommandEvent):
        """
        """
        self.__changed = True
        eventID: int = event.GetId()
        val:     bool = event.IsChecked()
        if eventID == self.__autoResizeID:
            self._prefs.autoResizeShapesOnEdit = val
        elif eventID == self.__showParamsID:
            self._mediator.showParams(val)
            self._prefs.showParameters = val
        elif eventID == self.__maximizeID:
            self._prefs.fullScreen = val
        elif eventID == self.__showTipsID:
            self._prefs.showTipsOnStartup = val
        elif eventID == self.__toolBarIconSizeID:
            if val is True:
                self._prefs.toolBarIconSize = ToolBarIconSize.SIZE_32
            else:
                self._prefs.toolBarIconSize = ToolBarIconSize.SIZE_16
            dlg: MessageDialog = MessageDialog(self, _("Icons will change size on next restart"), _("Warning"), OK | ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()

        else:
            self.clsLogger.warning(f'Unknown combo box ID: {eventID}')
 def ignore_dirty_state(prompt=None):
     """Checks if dirty state can be abandoned"""
     with MessageDialog(None, "%sContinue?" % prompt, 'Confirm overwrite',
                        YES_NO | ICON_QUESTION) as dialog:
         if ID_YES == dialog.ShowModal():
             return True
     return False
Esempio n. 15
0
    def __OnSizeChange(self, event: SpinEvent):

        self.__changed = True
        eventId: int = event.GetId()
        newValue: int = event.GetInt()
        if eventId == self.__scAppWidthID:
            self.__prefs.startupWidth = newValue
        elif eventId == self.__scAppHeightID:
            self.__prefs.startupHeight = newValue
        else:
            self.logger.error(f'Unknown onSizeChange event id: {eventId}')

        dlg = MessageDialog(self, _("You must restart Pyut for size changes"),
                            _("Warning"), OK | ICON_EXCLAMATION)
        dlg.ShowModal()
        dlg.Destroy()
Esempio n. 16
0
 def displayNothingSelected():
     booBoo: MessageDialog = MessageDialog(
         parent=None,
         message='Please select some frame objects',
         caption='Try Again!',
         style=OK | ICON_ERROR)
     booBoo.ShowModal()
Esempio n. 17
0
 def displayNoSelectedUmlObjects(self):
     booBoo: MessageDialog = MessageDialog(
         parent=None,
         message='No selected UML objects',
         caption='Try Again!',
         style=OK | ICON_ERROR)
     booBoo.ShowModal()
Esempio n. 18
0
    def _on_commit_selected(self, e):
        c = e.commit

        dlg = MessageDialog(self,
            "Do you want to switch to that version?\n\n" +
            "SHA1: %s\n\n%s\n\n" % (c.backed.hexsha, c.label) +
            "Files in both save and backup directories will be overwritten!",
            "Confirmation is required",
            YES_NO
        )
        switch = dlg.ShowModal() == ID_YES
        dlg.Destroy()
        if not switch:
            return

        self.target = c.backed
        self.EndModal(ID_OK)
Esempio n. 19
0
    def __OnLanguageChange(self, event: CommandEvent):

        newLanguage: str = event.GetString()
        actualLanguage: str = self.__prefs[PyutPreferences.I18N]
        if actualLanguage not in Lang.LANGUAGES or newLanguage != Lang.LANGUAGES[
                actualLanguage][0]:
            # Search the key corresponding to the newLanguage
            for i in list(Lang.LANGUAGES.items()):
                if newLanguage == i[1][0]:
                    # Write the key in preferences file
                    self.__prefs[PyutPreferences.I18N] = i[0]

            dlg = MessageDialog(
                self, _("You must restart Pyut for language changes"),
                _("Warning"), OK | ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
Esempio n. 20
0
 def Open(self, e=None):
     if self.changed:
         dlg = MessageDialog(self,
                             "編集中の内容を保存して既存ファイルを開きますか?",
                             "確認",
                             style=OK | CANCEL)
         if dlg.ShowModal() == ID_OK:
             self.Save()
         dlg.Destroy()
     file = FileSelector("開くファイルを選択", expanduser('~'), "", "*.wnf")
     if not file:
         return
     self.File = file
     with open(self.File, encoding='utf-8') as f:
         self.editor.SetValue(f.read())
     self.SetTitle(f"{BASETITLE} - {basename(self.File)}")
     self.changed = False
Esempio n. 21
0
 def Function(self):
     contents = 'Copyright (c) 2021 ryoTd0112'
     with MessageDialog(None,
                        contents,
                        caption='About',
                        style=DEFAULT_DIALOG_STYLE | ICON_NONE) as dialog:
         if dialog.ShowModal() == ID_CANCEL:
             return
Esempio n. 22
0
 def copy_account(self, event):
     if TheClipboard.IsOpened() or TheClipboard.Open():
         TheClipboard.Clear()
         sel_row = self.m_dataViewListCtrl1.GetSelectedRow()
         if sel_row == NOT_FOUND:
             return
         addr = self.m_dataViewListCtrl1.GetTextValue(sel_row, 1)
         TheClipboard.SetData(TextDataObject(addr))
         TheClipboard.Flush()
         TheClipboard.Close()
         copied_modal = MessageDialog(
             self,
             f"Account address {addr}\nwas copied in the clipboard",
             "Copied",
             STAY_ON_TOP | CENTER,
             DefaultPosition,
         )
         copied_modal.ShowModal()
Esempio n. 23
0
    def newFatalError(self, msg, title=None, parent=None):

        from org.pyut.errorcontroller.ErrorManager import ErrorManager  # Avoid cyclical dependency

        if title is None:
            title = _("An error occurred...")

        errMsg: str = msg + "\n\n"
        errorInfo: str = ErrorManager.getErrorInfo()
        if errorInfo is not None:
            errMsg = f'{errMsg}{ErrorManager.getErrorInfo()}'
        try:
            dlg = MessageDialog(parent, errMsg, title,
                                OK | ICON_ERROR | CENTRE)
            dlg.ShowModal()
            dlg.Destroy()
        except (ValueError, Exception) as e:
            self.logger.error(f'newFatalError: {e}')
Esempio n. 24
0
    def onClose(self) -> bool:
        """
        Close all files

        Returns:
            True if everything is ok
        """
        # Display warning if we are in scripting mode
        if self._mediator.isInScriptMode():
            print("WARNING : in script mode, the non-saved projects are closed without warning")

        # Close projects and ask for unsaved but modified projects
        if not self._mediator.isInScriptMode():
            for project in self._projects:
                if project.getModified() is True:
                    frames = project.getFrames()
                    if len(frames) > 0:
                        frame = frames[0]
                        frame.SetFocus()
                        wxYield()
                        # if self._ctrl is not None:
                            # self._ctrl.registerUMLFrame(frame)
                        self.showFrame(frame)
                    dlg = MessageDialog(self.__parent,
                                        _("Your diagram has not been saved! Would you like to save it ?"),
                                        _("Save changes ?"), YES_NO | ICON_QUESTION)
                    if dlg.ShowModal() == ID_YES:
                        # save
                        if self.saveFile() is False:
                            return False
                    dlg.Destroy()

        # dereference all
        self.__parent = None
        self._mediator = None
        self.__splitter = None
        self.__projectTree = None
        self.__notebook.DeleteAllPages()
        self.__notebook = None
        self.__splitter = None
        self._projects = None
        self._currentProject = None
        self._currentFrame = None
Esempio n. 25
0
 def confirm(self, _):
     # Go over all the rows and run the validator methods. If one of them fails throw up an error message flagging
     # where the error is
     for row_id, processed_payment in enumerate(self.processed_payments):
         for user_editable_attr in [y for y in
                   self.get_object_attrs_not_abstract(self.processed_payments) if
                   self.processed_payments[0].__dict__[y].user_editable]:
             column_id, _ = \
                 self.attr_column_mapping[user_editable_attr]
             if(not processed_payment.__dict__[user_editable_attr].validator(
                     self.grid.GetCellValue(row_id, column_id))):
                 error_dialog = \
                     MessageDialog(self,
                                   "Data Entered in Column '{}' on Row '{}' - '{}' "
                                   "does not match what was expected. \n"
                                   "Please alter the data and click confirm again.\n\n"
                                   "No data has been altered and no files have been created.".format(
                                       self.attr_column_mapping[user_editable_attr][1],
                                       row_id, self.grid.GetCellValue(row_id, column_id)
                                   ),
                                   "Data Error - Please Recheck the Table",
                                   wx.OK|wx.ICON_ERROR|wx.CENTRE)
                 error_dialog.ShowModal()
                 return
     # After the validity of the data is assured, set the values to the new values and begin the conversion process
     for row_id, processed_payment in enumerate(self.processed_payments):
         for user_editable_attr in [y for y in
                   self.get_object_attrs_not_abstract(self.processed_payments) if
                   self.processed_payments[0].__dict__[y].user_editable]:
             column_id, _ = \
                 self.attr_column_mapping[user_editable_attr]
             if isinstance(processed_payment.__dict__[user_editable_attr].value, datetime):
                 processed_payment.__dict__[user_editable_attr].value = datetime.strptime(
                     self.grid.GetCellValue(row_id, column_id), "%d/%m/%Y")
             else:
                 processed_payment.__dict__[user_editable_attr].value = \
                     self.grid.GetCellValue(row_id, column_id)
     converter = Converter()
     converter.write_output_file(self.output_file_loc,
                                 self.processed_payments)
     self.Close()
Esempio n. 26
0
 def _informUserOfOptions(self, errorMessage):
     msg: str = (
         f'Error: "{errorMessage}"   '
         f'This error can usually be handled by deleting the '
         f'Todoist cache.  However, you have that preference turned off '
         f'Turn the preference on and retry your operation')
     msgDlg: MessageDialog = MessageDialog(parent=None,
                                           message=msg,
                                           caption='Information',
                                           style=OK | ICON_INFORMATION)
     msgDlg.ShowModal()
     msgDlg.Destroy()
Esempio n. 27
0
    def removeDocument(self, document, confirmation=True):
        """
        Remove a given document from the project.

        Args:
            document: PyutDocument to remove from this project
            confirmation:  If `True` ask for confirmation
        """

        # Get frame
        frame = document.getFrame()

        # Confirmation
        # self._ctrl.registerUMLFrame(frame)
        if confirmation:
            self._ctrl.getFileHandling().showFrame(frame)

            # dlg = MessageDialog(self._parentFrame, _("Are you sure to remove the document ?"),
            dlg = MessageDialog(self._ctrl.getUmlFrame(), _("Are you sure to remove the document ?"),
                                _("Remove a document from a project"), YES_NO)
            if dlg.ShowModal() == ID_NO:
                dlg.Destroy()
                return
            dlg.Destroy()

        # Remove references
        from org.pyut.general import Mediator
        ctrl = Mediator.getMediator()
        fileHandling = ctrl.getFileHandling()
        fileHandling.removeAllReferencesToUmlFrame(frame)

        # Remove frame
        # frame.Close()  # DONE by fileHandling.removeAllRef...
        # self._ctrl.registerUMLFrame(None)

        # Remove from tree
        document.removeFromTree()

        # Remove document from documents list
        self._documents.remove(document)
Esempio n. 28
0
    def OnInit(self):
        """
        """
        provider: SimpleHelpProvider = SimpleHelpProvider()

        HelpProvider.Set(provider)
        try:
            # Create the SplashScreen
            if self._showSplash:

                bmp: Bitmap = splashImage.GetBitmap()
                self.splash = SplashScreen(bmp,
                                           SPLASH_CENTRE_ON_PARENT
                                           | SPLASH_TIMEOUT,
                                           PyutApp.SPLASH_TIMEOUT_MSECS,
                                           parent=None,
                                           pos=wxDefaultPosition,
                                           size=wxDefaultSize)

                self.logger.debug(f'Showing splash screen')
                self.splash.Show(True)
                wxYield()

            self._frame: AppFrame = AppFrame(cast(AppFrame, None), ID_ANY,
                                             "Pyut")
            self.SetTopWindow(self._frame)
            self._AfterSplash()

            return True
        except (ValueError, Exception) as e:
            self.logger.error(f'{e}')
            dlg = MessageDialog(
                None, _(f"The following error occurred: {exc_info()[1]}"),
                _("An error occurred..."), OK | ICON_ERROR)
            errMessage: str = ErrorManager.getErrorInfo()
            self.logger.debug(errMessage)
            dlg.ShowModal()
            dlg.Destroy()
            return False
Esempio n. 29
0
    def _AfterSplash(self):
        """
        AfterSplash : Occurs after the splash screen is launched; launch the application
        """
        try:
            # Handle application file names on the command line
            prefs: PyutPreferences = PyutPreferences()
            self._handleCommandLineFileNames(prefs)

            if self._frame is None:
                self.logger.error("Exiting due to previous errors")
                return False

            if self._showMainFrame is True:
                self._frame.Show(True)

            # Show full screen ?
            if prefs.fullScreen is True:
                dc = ScreenDC()
                self._frame.SetSize(dc.GetSize())
                self._frame.CentreOnScreen()

            return True

        except (ValueError, Exception) as e:
            dlg = MessageDialog(
                None, _(f"The following error occurred : {exc_info()[1]}"),
                _("An error occurred..."), OK | ICON_ERROR)
            self.logger.error(f'Exception: {e}')
            self.logger.error(f'Error: {exc_info()[0]}')
            self.logger.error('Msg: {exc_info()[1]}')
            self.logger.error('Trace:')
            for el in extract_tb(exc_info()[2]):
                self.logger.error(el)
            dlg.ShowModal()
            dlg.Destroy()
            return False
Esempio n. 30
0
    def _AfterSplash(self):
        """
        AfterSplash : Occurs after the splash screen is launched; launch the application
        """
        try:
            # Handle application parameters in the command line
            prefs: PyutPreferences = PyutPreferences()
            orgPath: str = prefs[PyutPreferences.ORG_DIRECTORY]
            for filename in [el for el in argv[1:] if el[0] != '-']:
                self._frame.loadByFilename(orgPath + osSeparator + filename)
            if self._frame is None:
                self.logger.error("Exiting due to previous errors")
                return False
            del orgPath
            if self._showMainFrame:
                self._frame.Show(True)

            # Show full screen ?
            if prefs.fullScreen is True:
                dc = ScreenDC()
                self._frame.SetSize(dc.GetSize())
                self._frame.CentreOnScreen()

            return True
        except (ValueError, Exception) as e:
            dlg = MessageDialog(
                None, _(f"The following error occurred : {exc_info()[1]}"),
                _("An error occurred..."), OK | ICON_ERROR)
            self.logger.error(f'Exception: {e}')
            self.logger.error(f'Error: {exc_info()[0]}')
            self.logger.error('Msg: {exc_info()[1]}')
            self.logger.error('Trace:')
            for el in extract_tb(exc_info()[2]):
                self.logger.error(el)
            dlg.ShowModal()
            dlg.Destroy()
            return False