back
[lttv.git] / ltt / branches / poly / doc / developer / gui_layout.txt
CommitLineData
21d9f3dc 1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4 <title>GUI Layout</title>
5</head>
6 <body>
cd6bdae2 7
21d9f3dc 8<h1>GUI Layout</h1>
cd6bdae2 9
21d9f3dc 10<P>
cd6bdae2 11In 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.
12
21d9f3dc 13<P>
cd6bdae2 14This document describes the layout of the GUI in three sections : containers, menus and toolbars.
15
21d9f3dc 16<P>
cd6bdae2 17A status bar is also placed at the bottom of the window.
18
19- Containers
20
21elements hierarchy
22
23Window Mainwindow
24|->vbox
25 |->menus
26 |->toolbar of the main window
27 |->toolbar of the currently selected viewer
28 |->notebook
29 | |->vpaned
30 | |->viewer's widget
31 | |->vpaned
32 | |->viewer's widget
33 | |->vpaned
34 | |->...
35 |->Status bar
36
37- Menus
38
21d9f3dc 39<P>
cd6bdae2 40Here is a short description of each menu entry
41* by itself means a separator
42
43
44- File
45*New -> *Empty trace set : open a new window with an empty trace set.
46 *Clone trace set : copy the content of the current window in a new
47 window.
2eefb751 48 *
49 *Tab : Opens a new tab.
cd6bdae2 50*Open : open a trace set. Calls a file selection dialog.
51*Close : close the current window.
2eefb751 52*Close Tab : close the current tab.
cd6bdae2 53*
54*Add trace : Add a trace to the window's traceset. Calls file selection dialog.
55*Remove trace : Removes a trace from the traceset.
56*Save : save the trace set. Calls a file save dialog of no current filename.
57*Save as : save a trace set. Calls a file save dialog.
58*
59*Quit : quit the program.
60
61- Edit ? (not needed for now)
62
63- View
64*Zoom In : Multiply the zoom factor by a certain quantity.
65*Zoom Out : Divide the zoom factor by a certain quantity.
66*Zoom Extended : Show the entire traceset's largest time interval.
67*Go to time : Keep same zoom, ask user for time to center view on and make
68 it the current time.
69*Show time frame : ask user for time interval to show.
70 (modify zoom and current event in consequence)
71
72- Tools (this is an example of how viewer's menu entries should look like)
73*Move viewer up -> Moves the current viewer up one position.
74*Move viewer down -> Moves the current viewer down one position.
75*Remove : remove the current viewer
76*
77*DumpToFile -> *Dump Text (This is a text module which adds graphical menu
78 entries)
79 *Dump binary
80* (separator between text tools and graphical tools implies different function
81 to register each type of menu entries)
7bee913d 82*Insert Events View : insert this type of viewer
83*Insert ControlFlow View
cd6bdae2 84- Plugins
7bee913d 85*Load module : ask the user a module to load (list modules in search path).
cd6bdae2 86*Unload module : list all modules, click to choose, then unload button.
7bee913d 87*Add module search path : ask user for a new path (file selection dialog).
cd6bdae2 88
89- Options
90//FIXME *Color : change the color of the currently selected element ?
91*Filter : Show traceset's filter option window.
92*Save configuration : Save the currently loaded modules/traceset/filters
93 to gconf.
94
95
96(aligned to the right)
97- Help
98*Content
99*About
100
101
21d9f3dc 102<P>
cd6bdae2 103- Toolbar
104
21d9f3dc 105<P>
cd6bdae2 106The 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.
107
21d9f3dc 108<P>
cd6bdae2 109So we have something like this :
110
21d9f3dc 111<P>
cd6bdae2 112--------------------------------------------------------------------------------
113| Menus |
114--------------------------------------------------------------------------------
115| Toolbar of the top level window |
116--------------------------------------------------------------------------------
117| Toolbar of the current viewer |
118--------------------------------------------------------------------------------
2eefb751 119||Current Tab| |
120|-----------------------------------------------------------------------------||
121||viewers in vpaned ||
122|| ||
123||----------------------------------------------------------------------------||
cd6bdae2 124--------------------------------------------------------------------------------
125| Status bar |
126--------------------------------------------------------------------------------
127
128
21d9f3dc 129<P>
cd6bdae2 130The 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.
131
21d9f3dc 132<P>
cd6bdae2 133This toolbar is mainly a selection of the menu entries.
134
21d9f3dc 135<P>
cd6bdae2 136New : New window with empty trace set.
137Open : open a trace set.
138Add Trace
139Remove Trace
140Save : save the current trace set.
141Save as
142*
143Zoom in
144(Show the current zoom factor, modifiable)
145Zoom out
146Zoom Extended
147Go to time (shows time directly)
148Show time frame (Could be a special field showing the time frame)
149*
150Move up current viewer
151Move down current viewer
152Delete current viewer
153*
154Add viewer's specific insertion buttons are added here.
155
156
21d9f3dc 157
158Mathieu Desnoyers, June 2003
159
This page took 0.02886 seconds and 4 git commands to generate.