826fe8f74d04512840608e65f265e08359873a9a
[lttv.git] / ltt / branches / poly / doc / developer / gui_layout.txt
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 *
42 *Tab : Opens a new tab.
43 *Open : open a trace set. Calls a file selection dialog.
44 *Close : close the current window.
45 *Close Tab : close the current tab.
46 *
47 *Add trace : Add a trace to the window's traceset. Calls file selection dialog.
48 *Remove trace : Removes a trace from the traceset.
49 *Save : save the trace set. Calls a file save dialog of no current filename.
50 *Save as : save a trace set. Calls a file save dialog.
51 *
52 *Quit : quit the program.
53
54 - Edit ? (not needed for now)
55
56 - View
57 *Zoom In : Multiply the zoom factor by a certain quantity.
58 *Zoom Out : Divide the zoom factor by a certain quantity.
59 *Zoom Extended : Show the entire traceset's largest time interval.
60 *Go to time : Keep same zoom, ask user for time to center view on and make
61 it the current time.
62 *Show time frame : ask user for time interval to show.
63 (modify zoom and current event in consequence)
64
65 - Tools (this is an example of how viewer's menu entries should look like)
66 *Move viewer up -> Moves the current viewer up one position.
67 *Move viewer down -> Moves the current viewer down one position.
68 *Remove : remove the current viewer
69 *
70 *DumpToFile -> *Dump Text (This is a text module which adds graphical menu
71 entries)
72 *Dump binary
73 * (separator between text tools and graphical tools implies different function
74 to register each type of menu entries)
75 *Insert Events View : insert this type of viewer
76 *Insert ControlFlow View
77 - Plugins
78 *Load module : ask the user a module to load (list modules in search path).
79 *Unload module : list all modules, click to choose, then unload button.
80 *Add module search path : ask user for a new path (file selection dialog).
81
82 - Options
83 //FIXME *Color : change the color of the currently selected element ?
84 *Filter : Show traceset's filter option window.
85 *Save configuration : Save the currently loaded modules/traceset/filters
86 to gconf.
87
88
89 (aligned to the right)
90 - Help
91 *Content
92 *About
93
94
95 - Toolbar
96
97 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.
98
99 So we have something like this :
100
101 --------------------------------------------------------------------------------
102 | Menus |
103 --------------------------------------------------------------------------------
104 | Toolbar of the top level window |
105 --------------------------------------------------------------------------------
106 | Toolbar of the current viewer |
107 --------------------------------------------------------------------------------
108 ||Current Tab| |
109 |-----------------------------------------------------------------------------||
110 ||viewers in vpaned ||
111 || ||
112 ||----------------------------------------------------------------------------||
113 --------------------------------------------------------------------------------
114 | Status bar |
115 --------------------------------------------------------------------------------
116
117
118 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.
119
120 This toolbar is mainly a selection of the menu entries.
121
122 New : New window with empty trace set.
123 Open : open a trace set.
124 Add Trace
125 Remove Trace
126 Save : save the current trace set.
127 Save as
128 *
129 Zoom in
130 (Show the current zoom factor, modifiable)
131 Zoom out
132 Zoom Extended
133 Go to time (shows time directly)
134 Show time frame (Could be a special field showing the time frame)
135 *
136 Move up current viewer
137 Move down current viewer
138 Delete current viewer
139 *
140 Add viewer's specific insertion buttons are added here.
141
142
This page took 0.032277 seconds and 3 git commands to generate.