Web lists-archives.com

Re: Interactive data plotting application

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,
             GDK_ENTER_NOTIFY_MASK        |
             GDK_SCROLL_MASK              |
             GDK_POINTER_MOTION_MASK      |
             GDK_BUTTON_PRESS_MASK        |
             GDK_BUTTON_RELEASE_MASK)     ;
(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
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 mailing list