There's a great package out there called plplot that seems to do a
lot of what you want to do, but I've never tried integrating it into
GTK. I have a package on github (https://github.com/ChrisMoller/aplplot)
that shows plplot in use if you want a quick look at how its used. By the way, you can receive events from a drawing area, but you have to set the mask properly: gtk_widget_add_events (da,(If you need key events, you have to get them from some parent widget of the drawing area.) On 01/10/16 07:05, Jozef V.Molnár
wrote:
Dear subscribers, I need to develop a GTK3 widget for data plotting, drawing and analysis purposes. I need the following features (many are standard requirements): - have a grid sensitive to mouse (to invoke a configuring menu) - add/remove plots - plots sensitive to mouse (display the data coordinates) - more than cursors (to perform measurements) - cursors capable of find edges of data plots - scrolling My idea was to use GtkLayout but I am open to any better advice. I have made a simple demo with GtkDrawingArea (I can send it per request) where I can draw with Cairo but cannot receive events. If I change the parent from GtkDrawingArea to GtkLayout, I can receive events but the draw function will not be called. I am new to GTK and need a suggestion on how to organize my objects: - plotting area - cursors - grid - plots all should be sensitive to mouse clicks to invoke configuration, move up/down (plots), do measurements, display coordinates etc. I searched the internet a lot but did not find many examples. I tried GoatPlot as base... I also would like to add this widget to a VBox and if I zoom in the X axis, all widgets should zoom in the X axis (but not the Y axis). Finally I would like to be able to print/export the contents etc... I know this is time consuming (at least for me) but I would appreciate any help. Thank you in advance and best regards Jozef Molnar _______________________________________________ gtk-list mailing list gtk-list gnome org https://mail.gnome.org/mailman/listinfo/gtk-list |