Changes between Version 17 and Version 18 of APP_BUG_REPORT_FORM_R0
- Timestamp:
- 05/21/09 14:23:36 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
APP_BUG_REPORT_FORM_R0
v17 v18 66 66 = Design = 67 67 68 * Create a menu item "Send an &Error Report..." in {{{main.func.help}}} module and attach it to the Help menu.68 * Create a package {{{org.sophie2.main.func.help.bugreport}}} in {{{main.func.help}}} module. 69 69 70 * Create a class {{{BugReportDialogInput}}} that extends {{{DialogInput<Void>}}} and represents the bug report data: 70 * Create a menu item "Send an &Error Report..." in {{{org.sophie2.main.func.help.menuitems}}} and attach it to the Help menu. 71 72 * Create a class {{{org.sophie2.main.func.help.bugreport.BugReportDialogInput}}} that extends {{{DialogInput<Void>}}} and represents the bug report data: 71 73 * {{{Throwable throwable}}} - can be null 72 74 * {{{String log}}} - the contents of Sophie log file … … 76 78 * {{{File attachment}}} - can be null 77 79 78 * Create a class {{{ BugReportDialog}}} that extends {{{org.sophie2.base.dialogs.Dialog<BugReportDialogInput, Void>}}}.80 * Create a class {{{org.sophie2.main.func.help.bugreport.BugReportDialog}}} that extends {{{org.sophie2.base.dialogs.Dialog<BugReportDialogInput, Void>}}}. 79 81 * ... 80 82 * Register the dialog in the help module. 81 83 82 * Create a controller enumeration {{{BugReportLogic}}} 83 * SHOW_BUG_REPORT_FORM: invokes the dialog using the {{{showDialog}}} method in {{{DialogManager}}}. 84 * Create a controller enumeration {{{org.sophie2.main.func.help.bugreport.BugReportLogic}}} 85 * method {{{BugReportDialogInput generateReport()}}} that collects all required report data: 86 * 87 * SHOW_BUG_REPORT_FORM: invokes the dialog using {{{DialogManager.get().showDialog}}} with argument - report generated by {{{generateReport}}}. 88 89 * Create a class {{{org.sophie2.main.func.help.bugreport.SophieExceptionHandler}}} that implements {{{Thread.UncaughtExceptionHandler}}}. 90 * In {{{uncaughtException(Thread t, Throwable e)}}} fire R3 event with parameter {{{e}}}. 91 * In all main methods of Sophie register that handler by invoking {{{Thread.setDefaultUncaughtExceptionHandler(new SophieExceptionHandler());}}} 92 * {{{org.sophie2.author.FakeAuthorMain}}} 93 * {{{org.sophie2.reader.FakeReaderMain}}} 94 * {{{org.sophie2.launcher.Main}}} 84 95 85 96 = Implementation =