| 1 | GUI Layout |
| 2 | |
| 3 | |
| 4 | Mathieu Desnoyers, June 2003 |
| 5 | |
| 6 | |
| 7 | In order to implement the GUI, choices has to be made based on habitual interfaces that we know users are familiar with. The inspiration for these choices came mainly from the Mozilla browser project and also from Openoffice, which are currently used as two userfriendly applications in various Linux distribution at the time of this writing. |
| 8 | |
| 9 | This document describes the layout of the GUI in three sections : containers, menus and toolbars. |
| 10 | |
| 11 | A status bar is also placed at the bottom of the window. |
| 12 | |
| 13 | - Containers |
| 14 | |
| 15 | elements hierarchy |
| 16 | |
| 17 | Window Mainwindow |
| 18 | |->vbox |
| 19 | |->menus |
| 20 | |->toolbar of the main window |
| 21 | |->toolbar of the currently selected viewer |
| 22 | |->notebook |
| 23 | | |->vpaned |
| 24 | | |->viewer's widget |
| 25 | | |->vpaned |
| 26 | | |->viewer's widget |
| 27 | | |->vpaned |
| 28 | | |->... |
| 29 | |->Status bar |
| 30 | |
| 31 | - Menus |
| 32 | |
| 33 | Here is a short description of each menu entry |
| 34 | * by itself means a separator |
| 35 | |
| 36 | |
| 37 | - File |
| 38 | *New -> *Empty trace set : open a new window with an empty trace set. |
| 39 | *Clone trace set : copy the content of the current window in a new |
| 40 | window. |
| 41 | *Open : open a trace set. Calls a file selection dialog. |
| 42 | *Close : close the current window. |
| 43 | * |
| 44 | *Add trace : Add a trace to the window's traceset. Calls file selection dialog. |
| 45 | *Remove trace : Removes a trace from the traceset. |
| 46 | *Save : save the trace set. Calls a file save dialog of no current filename. |
| 47 | *Save as : save a trace set. Calls a file save dialog. |
| 48 | * |
| 49 | *Quit : quit the program. |
| 50 | |
| 51 | - Edit ? (not needed for now) |
| 52 | |
| 53 | - View |
| 54 | *Zoom In : Multiply the zoom factor by a certain quantity. |
| 55 | *Zoom Out : Divide the zoom factor by a certain quantity. |
| 56 | *Zoom Extended : Show the entire traceset's largest time interval. |
| 57 | *Go to time : Keep same zoom, ask user for time to center view on and make |
| 58 | it the current time. |
| 59 | *Show time frame : ask user for time interval to show. |
| 60 | (modify zoom and current event in consequence) |
| 61 | |
| 62 | - Tools (this is an example of how viewer's menu entries should look like) |
| 63 | *Move viewer up -> Moves the current viewer up one position. |
| 64 | *Move viewer down -> Moves the current viewer down one position. |
| 65 | *Remove : remove the current viewer |
| 66 | * |
| 67 | *DumpToFile -> *Dump Text (This is a text module which adds graphical menu |
| 68 | entries) |
| 69 | *Dump binary |
| 70 | * (separator between text tools and graphical tools implies different function |
| 71 | to register each type of menu entries) |
| 72 | *Events -> *Insert before : insert or remove this type of viewer |
| 73 | *Insert after before or after the current position |
| 74 | *ControlFlow -> *Insert before |
| 75 | *Insert after |
| 76 | - Plugins |
| 77 | *Load module : ask the user a module to load (text field). |
| 78 | *Unload module : list all modules, click to choose, then unload button. |
| 79 | *Add module search path : ask user for a new path (text field). |
| 80 | |
| 81 | - Options |
| 82 | //FIXME *Color : change the color of the currently selected element ? |
| 83 | *Filter : Show traceset's filter option window. |
| 84 | *Save configuration : Save the currently loaded modules/traceset/filters |
| 85 | to gconf. |
| 86 | |
| 87 | |
| 88 | (aligned to the right) |
| 89 | - Help |
| 90 | *Content |
| 91 | *About |
| 92 | |
| 93 | |
| 94 | - Toolbar |
| 95 | |
| 96 | The toolbar is separated in two parts : like the two lines used in Openoffice. The first one is applying to the top level window (or current tab) while the one below contains the current viewer's toolbar. |
| 97 | |
| 98 | So we have something like this : |
| 99 | |
| 100 | -------------------------------------------------------------------------------- |
| 101 | | Menus | |
| 102 | -------------------------------------------------------------------------------- |
| 103 | | Toolbar of the top level window | |
| 104 | -------------------------------------------------------------------------------- |
| 105 | | Toolbar of the current viewer | |
| 106 | -------------------------------------------------------------------------------- |
| 107 | | viewers in vpaned | |
| 108 | | | |
| 109 | | | |
| 110 | -------------------------------------------------------------------------------- |
| 111 | | Status bar | |
| 112 | -------------------------------------------------------------------------------- |
| 113 | |
| 114 | |
| 115 | The toolbar of the top level window is the only one described in this document, as the second one is defined by the viewers and specific to each of them. |
| 116 | |
| 117 | This toolbar is mainly a selection of the menu entries. |
| 118 | |
| 119 | New : New window with empty trace set. |
| 120 | Open : open a trace set. |
| 121 | Add Trace |
| 122 | Remove Trace |
| 123 | Save : save the current trace set. |
| 124 | Save as |
| 125 | * |
| 126 | Zoom in |
| 127 | (Show the current zoom factor, modifiable) |
| 128 | Zoom out |
| 129 | Zoom Extended |
| 130 | Go to time (shows time directly) |
| 131 | Show time frame (Could be a special field showing the time frame) |
| 132 | * |
| 133 | Move up current viewer |
| 134 | Move down current viewer |
| 135 | Delete current viewer |
| 136 | * |
| 137 | Add viewer's specific insertion buttons are added here. |
| 138 | |
| 139 | |