Hello list,
 
let me just give a short introduction to myself before i get to the point...
I´m with Gersys, a small company producing embedded platforms for railway 
applications ( you may look at www.gersys.de).
In generel our products are small embedded pc´s running winXPe or linux in very 
rough environments. Normally our customers get a device running the OS and are 
writing their own applications.
I´m an developer of Hard- and Software and an electrical engineer. My 
background regarding software development for now is in first instance uC-Code 
in C, but i´ve also done some example applications under 
Windows/.NET/VisualStudio/C# for some graphical UI´s...
 
For our new project we have for the first time the task of programming a 
application:
Our customer installs several networking cameras along some city-trains. Our 
device has to get up to four video streams an display them (which is not the 
problem for now, maybe later ;-) )
The train driver has to be given the possibility of choosing which camera(s) he 
wants to view. Therefore, and now we get to the point, we have to display a 
symbolical image of the train which represents the number and position of the 
cameras and realize a navigation by key inputs through them. The predefined 
picture shows for example a train with three combined vehicles, each consisting 
of four/six waggons. The waggons have up to four inner cameras and up to two 
outer cameras, which are reprepesented by some pie-slice-like symbols 
(gdk_draw_arc()...). The selected camera(s) are highlighted by some color. An 
event from a navigation key moves the selection to the next set. The 
composition of the train may vary and has to be loaded at program start, so the 
displayed selection image has to be created dynamically.
 
Our developing platform is a Suse10.3-machine with Eclipse-Environment. The 
project is written in C and we use GTK2. Because of the above mentioned 
structure we have a very object-orientated approach, but due to 
compatibility/porting-issues we don´t want(ed) to use gtkmm (perhaps to be 
discused) for now. (The destination target is running 
eLinOS/Codeo-Environment/X-Server...)
 
I´ve "played" a lot the last week and got some few satisfying results: The 
drawing of the train using standard widgets and gdk-functions has already the 
lookalike of the predefined image. Creating a simple widget for drawing a 
camera symbol and manipulating the color of it was also succesful.
 
The main question for now i´d like to hear your opinion to is about the data 
structure of the project. My approach in cause of the resent results is 
following:
Creating low level widgets (e.g. the camera symbol, a waggon...) with the 
necessary data variables (e.g. color, name...), which can be manipulated by the 
"top level program part" (the one which knows what is selected etc. ...)
The widgets will be nested: The train-widget provides a array of vehicles which 
provides a array of waggons with an array of cameras...
Accessing the object properties can be done with references/pointers to the 
data variables (the "normal" access to struct-members e.g.: 
train.vehicle[1].waggon[4].camera[3].colour = green)
One of the biggest questions therefore is the structure of the necessary 
manipulating functions: How can i best handle e.g. the redrawing of a camera 
when its de-/selected (In C++ i would create a member-function to the 
camera-object!?). I think to create a function set for every widget which can 
always provide the interface for the upper "parent" instance!? Alternative 
there could be a set of "top level" functions, but therefore the parameters are 
getting kind of nasty !?
 
I hope i delivered enough information in this vast of text to provide an 
overview to my problem(s) and hope i get some opinions to my approaches from 
you to start a productive discussion about it!
 
Best regards
Markus
 
-----
Gersys GmbH, Hans-Urmiller-Ring 46c, D-82515 Wolfratshausen, Germany
Geschaeftsfuehrer: Erwin Sterzer, HRB 137 872 Muenchen, Fon: +49(0)8171 9986-6
 
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. 
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten 
haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. 
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht 
gestattet.
 
This e-mail may contain confidential and/or privileged information. If you are 
not the intended recipient or have received this e-mail in error please notify 
the sender immediately and destroy this e-mail. Any unauthorised copying, 
disclosure or distribution of the material in this e-mail is strictly forbidden.
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to