GtkDatabox is a widget for live display of large amounts of fluctuating numerical data. Data presentation (e.g. on linear or logarithmic scales, as dots or lines, with markers/labels) as well as user interaction (e.g. measuring distances) is easy.
Be the first to post a text review of GtkDatabox. Rate and review a project by clicking thumbs up or thumbs down in the right column.
2009-05-10 (0.9.1.1) -Patch which replaces the static grid value arrays by per-object arrays (adding appropriate get/set functions and object properties). In addition to being better style this also allows users to define more than one grid with their own values. 2009-04-15 (0.9.1.0) - This project now has a new maintainer, Brian R Phelps. He can be reached at lm317t at gmail dot com - Added log base 2 support to the scale/ruler libraries - In gtkdatabox.c I Copied log10 code and pasted, it after the linear code replacing log10 calls with log2 - In gtkdatabox_grid.c, added in support for assigning grid values, instead of the default automatic assign done heuristically by the library. - Uses a new API GtkDataboxGraph *gtk_databox_grid_array_new (gint hlines, gint vlines, gfloat *hline_vals, gfloat *vline_vals, GdkColor * color, guint size); - These are not done using the same coding style priv->val because I could not figure out how to make this work properly. Instead I used a global gfloat pointer defaulted to NULL for these arrays. The NULL value is used to determine if grid values are displayed from the array or heuristically - In gtkdatabox_scale, copied log10 code and pasted, it after the linear code replacing log10 calls with log2 - Updated all headers to reflect new API change (see diff) -Added documentation for the new function -Added example for grid_array, added example for log2 in the logarithmic examples 2008-05-13 (0.9.0.0) - Added reference documentation via GtkDoc! Finally :-) - Interface changes, inspired by the documentation: - removed gtk_databox_redraw(). Please use gtk_widget_queue_draw() - gtk_databox_graph_add(), gtk_databox_graph_remove(), gtk_databox_graph_remove_all() now return gint instead of gboolean or void (0 == success). - Renamed signals (removed the "databox_" prefix and changed cancelled (British) to canceled (US) and harmonized: zoomed, selection_started, selection-changed, selection-finalized, selection-canceled. - Harmonized all horizontal/vertical things to x/y: gtk_databox_set_hadjustment() => gtk_databox_set_adjustment_x() gtk_databox_set_vadjustment() => gtk_databox_set_adjustment_y() gtk_databox_get_hadjustment() => gtk_databox_get_adjustment_x() gtk_databox_get_vadjustment() => gtk_databox_get_adjustment_y() gtk_databox_set_hruler() => gtk_databox_set_ruler_x() gtk_databox_set_vruler() => gtk_databox_set_ruler_y() gtk_databox_get_hruler() => gtk_databox_get_ruler_x() gtk_databox_get_vruler() => gtk_databox_get_ruler_y() - Harmonized property names: adjustment-x, adjustment-y, ruler-x, ruler-y, scale-type-x, scale-type-y, enable-selection, enable-zoom - Renamed GtkDataboxMarker to GtkDataboxMarkers (plural). This is now consistent with GtkDataboxPoints, GtkDataboxLines and GtkDataboxBars. If you use GtkDataboxMarkers, you need to replace s/marker/markers/g s/Marker/Markers/g s/MARKER/MARKERS/g s/GtkDataboxText/GtkDataboxMarkersText/g s/GTK_DATABOX_TEXT/GTK_DATABOX_MARKERS_TEXT/g - moved GtkDataboxGraph@gc into GtkDataboxGraph@priv, introduced gtk_databox_graph_get_gc() and gtk_databox_graph_set_gc(). - GtkDatabox inherits from GtkWidget directly instead of GtkDrawingArea. - Other changes: - gtk_databox_auto_rescale now also works in case of data which has zero width and/or zero height. - BugFixes - gtk_databox_graph_set_size now actually changes the line width (thanks to Jim George) 2007-12-30 (0.8.2.2) - Small bug fixes (hints by Brian Phelbs) - Corrected internal signal definition. 2007-12-20 (0.8.2.1) - Corrected configuration file for pkg-config. 2007-12-09 (0.8.2.0) - Removal of struct GtkDataboxValue - Introduction of struct GtkDataboxValueRectangle - Results: - Changed selection signal API (instead of two pairs of pixel coordinates, now one struct of "real" values is sent with the signal). Since most applications are interested in values instead of pixels, this should simplify application code. It also should eliminate signal marshaller problems. - the set/get limits functions use parameters, left, right, top and bottom instead of top_left and bottom_right (which led to much confusion in the past). - similar with the get_extrema_function - in order to transform pixel coordinates into values and vice versa, there are now four functions: gtk_databox_value_to_pixel_x gtk_databox_value_to_pixel_y gtk_databox_pixel_to_value_x gtk_databox_pixel_to_value_y 2007-12-06 (0.8.1.1) - Configure script and Makefile changes (mainly thanks to Hans Nieuwenhuis) 2007-12-04 (0.8.1.0) - Configure script now checks for pango and cairo (thanks to Brian Phelps) - Support for glade added (thanks to Hans Nieuwenhuis) 2007-11-26 (0.8.0.1) - Maintenance release (Code cleanup, based on hints from Fabian Foerg. 2007-11-25 (0.8.0.0) - Added support for logarithmic scales for drawing - Replaced original gtkruler with gtkdatabox_ruler. - GtkDataboxRuler supports logarithmic scales - Instead of HRuler and VRuler, GtkDataboxRuler has an orientation - No big changes in existing projects required, see examples - renamed the following functions: gtk_databox_get_canvas => gtk_databox_get_total_limits gtk_databox_set_canvas => gtk_databox_set_total_limits gtk_databox_get_visible_canvas => gtk_databox_get_visible_limits gtk_databox_set_visible_canvas => gtk_databox_set_visible_limits - replaced GtkDataboxCoord by GdkPoint (which is just the same) - Added example which shows linear, logarithmic and double logarithmic graphs - Added example which shows easiest way to start with GtkDatabox 2006-08-10 (0.7.0.0) - Added -W to the compile options in addition to -Wall and -pedantic Thanks to Fabian Foerg for the hint. - Adjusted code to get rid of most of the remaining warnings - very small interface change: lengths of datasets for points, lines, bars, etc are now guint instead of int 2006-08-06 (0.6.0.0) - Has nobody ever installed the library? I wonder how the hundreds of people could work with the library? By my understanding, the include paths were wrong. Thanks to Andreas Tille for the hint. (I do hope that not suddenly hundreds of users cannot use the library anymore after this change!) - Changed the include paths in all .c and .h files for gtkdatabox*.h 2006-08-01 (0.5.3.1) - There is now a mailinglist for GtkDatabox! It is hosted by the Gnome Project and maintained by Jos Romildo Malaquias. Thanks a lot! 2006-07-15 - three more changes to get rid of warnings that my old compiler did not even show. Thanks to Fabian Foerg. 2006-05-27 - added -pedantic to the compile flags and adjusted code to be accepted without warnings 2006-04-24 (0.5.3.0) - added a new example (keycontrol) based on ideas by Alain Vigne - fixed a bug in gtkdatabox_marker_set_label (text did not change after being set the first time) - added functions to public interface gtk_databox_zoom_to_selection gtk_databox_zoom_out gtk_databox_zoom_home 2006-04-01 (0.5.2.0) - some further code cleanups 2006-03-26 (0.5.1.0) - some cosmetic interface adjustments for clarity and ease of use (thanks to Amish S. Dave for several hints): - gtk_databox_graph_remove now takes a graph as argument instead of the "index" of the graph within the GtkDatabox widget. - gtk_databox_graph_remove_all added; it removes all graphs - (set|get)[_visible]_extrema have been renamed into (set|get)[_visible]_canvas, since you don't set/get the extrema but the corner values of the displayed data. - added another property to the GtkDatabox class: "hide" determines wether a graph is drawn or not. There also are the appropriate gtk_databox_graph_(set|get)_hide methods. The default value for "hide" is FALSE, meaning that the graph is displayed. - did some magic to speed up line drawing. To be honest, I do not know why this is faster now: if line width is 1, it is set to 0 in the GC and it is twice as fast on my machine... (if you are interested, play around with the code in gtkdatabox_graph.c (and if you find the explanation, please tell me)) 2006-03-20 (0.5.0.0) - everything is new. - well, not "everything"... - but most of it - there is no need to worry, you will find that migrating is rather easy (and starting with the widget is easy, too) - There were a lot of inconsistencies in handling data and special functions (like grid or markers or coordinate cross) for display. These are now resolved by the introduction of a graph class: Instead of giving GtkDatabox widgets data for display, and associate drawing functions with the data, you now add graphs for display. There are various classes that inherit from the basic graph class. These classes now handle data (if they need data) and can be configured according to their features. See examples/*.c for getting the picture. It is quite easy to change from old versions. Please ask, if you have any problems. There is a clearly defined way for adding customized drawing functions, now. Just create a class derived from the graph class, and you are ready to go. - There were a lot of functions and special features (e.g. setting the background color or the cursor) included in the older versions due to the fact that GtkDatabox was a composite widget. This has changed. GtkDatabox does not automatically come with scrollbars and rulers attached to it. You can now access the "databox" itself directly without using any internal data of the widget. For ease of use, there is a function for creating a GtkDatabox widget with scrollbars and rulers, though :-) - rescaling has received a rehawl, too. Setting total extrema and visible extrema is now easily possible. - a gtkdatabox.spec for creating RPM files is included, now, thanks to Eric - A lot of small things, too. - A riddle is included, as well: Why on earth is drawing lines about 50% slower than it used to be? I have no idea, as of now. - In the source code "@@@" marks passages which I doubt to be correct 2006-01-02 (0.4.0.2) - Bugfixes (Thanks to Muppet) 2005-08-29 (0.4.0.1) - Bugfixes - added functions for configuring the cursor for the drawing area. 2005-08-28 (0.4.0.0) - GtkDatabox now supports the addition of new drawing functions even at runtime - added drawing functions for markers and texts (Thanks to Juan Carlos Remis) - added example for using markers and texts - added functions to enable and disable horizontal and vertical rulers and scrollbars separately (Thanks to C.James Callaway) - Moved all drawing functions to separate files - Slightly changed interface for the grid functions (Sorry, but the whole stuff is now much more streamlined than before) - Removed one of the grid examples - Fixed a bug in the rescaling functionality (possible segmentation fault when data has been removed) 2005-08-09 (0.3.0.0) - added support for pkg-config (Thanks to Lance Dillon) - fixed a bug in gtk_databox_data_remove (Thanks to Thomas Henkel) - removed the following functions: gint gtk_databox_data_destroy gint gtk_databox_data_destroy_all gtk_databox_data_add_x gtk_databox_data_add_y The destroy functions were deprecated in several versions now. Releasing data should be handled outside gtkdatabox, because the allocation of the data is happening outside of it. The ...add_x and ...add_y functions have also been removed, since it does not make much of a difference whether you use a pointer or a gint value as a parameter. Thus, these two functions did not make very much sense. - renamed gtk_databox_data_add_x_y to gtk_databox_data_add Since the other ...add_[xy] functions are removed, there is no need to specify what data is to be added in this function. - Sorry for the work you have to do due to interface changes. These are the first interface changes in years and I think they making the interface leaner and easier to use. 2005-05-05 (0.2.4.7) - updated libtool to 1.5.16 - modified signals example to show coordinate values in the window 2005-04-29 (0.2.4.6) - replaced GtkItemFactory stuff (deprecated in gtk+-2.6) from colors example. Thanks to Olivier Hervieu. 2004-05-01 (0.2.4.5) - fixed a bug that left rulers in a senseless state when they were disabled and enabled without delay. Thanks to Sven Garbade. 2004-04-24 (0.2.4.4) - changed grid positions from gint to float. Thanks to Jesse B. Forsmann 2004-01-18 (0.2.4.3) - added function for inverting X and Y scales (idea by Andrej Prsa) gtk_databox_rescale_inverted 2003-10-19 - Corrected two small bugs in the gtk_databox_draw_grid function, reported by A.J. Aranyosi. 2003-10-11 - Run all code through indent. Much nicer now (especially the examples). - Added background color to some of the examples - re-animated the old colors example 2003-09-24 - Added gtk_databox_set_background_color 2002-05-27 - Changed the various show/hide/enable/disable functions to set_xxx_enable. They also have their get_xxx_enable counterpart, which now allows you to check the current status - Fixed a bug that let parts of old selection boxes remain under certain circumstances - Changed some internal variable/function names for better consistence 2002-05-26 - Testing and cleanup for 0.2.3.0 2002-05-21 - Added another example to demonstrate the show/hide functions 2002-05-20 - Fixed another bug detected by Mario Motta (widget crashed when rulers were removed) - Eliminated all functions of glib and gtk that are deprecated - Corrected mis-spelled cancelled signal 2002-05-13 - Fixed a bug detected by Mario Motta (ruler positions were not updated correctly) - Signal handlers now return FALSE according to GTK+ policies (hint by Mario Motta, too) 2002-05-11 - Ooops, GTK is LGPL'd. I have therefore changed to LGPL (again) 2002-05-05 - preparing GtkDatabox-0.2.0.5 for release - Realising that I had a mixture of some files saying that GtkDatabox is provided under LGPL, some saying GPL, I now changed everything to GPL. If you want to use GtkDatabox in non-free software, please use one of the older versions or contact me for a special licence for you. - the website has been given a cleanup - Added GPL-link 2002-05-04 - added a bunch of comments to the header file. - removed a few small bugs that made selection boxes stay even when the selection was canceled - added new examples 2002-04-13 Major cleanup. - Compatibility with Gtk+-2.0.0 - Grid and Coordinate System are now "data types" - removed deprecated functions - range checks (only draw inside window) have been removed for two reasons: a) The code was looking terrible and was practically not maintainable b) The code was not completly correct A reason to re-implement the stuff is that line drawing is definitly slower than before when you zoom far into the data. 2001-12-16 Ooops, time flies :-) Following a suggestion by Stefan Doehla, an optional grid has been added (like in an oscilloscope). The corresponing functions are: gtk_databox_show_grid gtk_databox_hide_grid 2000-03-19 Modified the non flickering selection to allow for unfilled rectangles as selection marked again Added four new functions (idea by Paul Kienzle): gtk_databox_enable_selection gtk_databox_disable_selection gtk_databox_show_selection_filled gtk_databox_hide_selection_filled These functions allow to enable (default) or disable the selection of an area of the box, and whether this area is marked with a filled or unfilled (default) rectangle. Selections are now allways started with height and width zero. Range checks (do not draw things that are outside the window) now only occur, when you zoom into the data a certain amount, which may be set via gtk_databox_set_range_check_threshold(GtkDatabox *box, gfloat threshold) Default value for threshold is 0.25, meaning, that if you zoom into the data an display less than a quarter of the complete set, range checks occur. Settig threshold to zero, disables range checks completely. The best value (fastest drawing) depends on the data. 2000-03-01 Changed to ISO dates for the ChangeLog. Imported some nice changes by Paul Kienzle (pkienzle@kienzle.powernet.co.uk) who removed the flickering of the selection box. 08.06.99 Removed some errors from gtk_databox_destroy and gtk_databox_remove that resulted in loss of data or too early removal of shared X or Y data 23.09.99 Memory allocation bug fix in GTK_DATABOX_BARS freeing of segments pointer removed 19.05.99 gtk_databox_set_color() and gtk_databox_get_color now return 0 on success and -1 on failure instead of void Drawing style of data may now be changed or investigated by two new functions gtk_databox_set_data_style() and gtk_databox_get_data_style() Nothing special about that, I guess 11.05.99 Inconsistencies in LINES style have been removed. Former solution did not draw lines to points outside the drawing area to avoid possible overflow errors. Now the points are connected by segments. If one or two points are outside the drawing area, the part of line between the points inside the drawing area is calculated and displayed. This might need some further effort to get really smooth, but at least it is much better than before :-) 09.05.99 Changed comments from // to /**/ to remove problems on some systems Several small bugs fixed (Remove data now returns -1 on error) Rulers and Scrollbars are now destroyed instead of hidden (much cleaner solution) 24.03.99 Several bugs fixed, better implemetation of signals for use with Gtk--. Third party wrappers for Gtk-- and VDK have been developed and are now available. Take a look at the Web-Site for more information. http://www.eudoxos.net/gtk/gtkdatabox/ http://www.eudoxos.de/gtk/gtkdatabox/ A new drawing mode has been implemented. The value of this drawing type is GTK_DATABOX_BARS. Bars that rise (or drop) from X-Axis. An example has been added to the test program 11.03.99 Lots of bugfixes, added some signals gtk_databox_marked gtk_databox_selection_started gtk_databox_selection_changed gtk_databox_selection_stopped gtk_databox_selection_canceled Added an example for the signals to the test program 06.03.99 + 07.03.99 Rewrite of most functions, scrolling, rulers and display are now more clearly structured, fixed some memory leaks, the 3D-functions and data model have been dropped completely (too much inconsistency) data model is now hidden from the user, interface functions are now available. Scrolling, zoom, rulers and cross are now optional to use. Complete rewrite of the example program. Some additions to the Makefile.am files that add the correct dependencies to the library (hopefully) jan-mar 99 Unlogged changes, mostly notable the patch by Walter Brisken, that adds rulers to the widget 17.12.98 Announcement of GtkDatabox on gtk-list and gtk-app-devel-list Thanks to Andreas Tille, who encouraged me to create a nice example program and who rewrote the configure script so that GtkDatabox may be linked dynamically now. 08.12.98 Tearoff. GtkDatabox is it's own project now. 29.11.98 Incorporated slightly changed changes of Andreas Tille and his example program. 28.11.98 First Contact. Andreas Tille introduces some changes to GtkDatabox. These are a function to set colors and a new style of representing data with coordinates. 01.11.98 Using gdk_draw_points instead of gdk_draw_point speeds the program up, even with Win95 20.10.98 Succeeded to compile gfit with Windoze. Slow is the only word that fits. 05.10.98 Up to 7 columns of data are supported right now. Automatic color generation for more columns is planned (and necessary as the program would die with more columns) 04.10.98 Opened the project for gtk-app-devel-list 30.09.98 GTK_TYPE_OPTION_MENU and Item Factory problems solved after some questions to gtk-app-devel-list 24.09.98 Changes for gtk+-1.1.2 Still have problems with GTK_TYPE_OPTION_MENU and Item Factory... 15.09.98 Creating databox widget with scrollbars 13.09.98 Start of the gfit project with gtk+-1.1.1
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?
Thanks for your review!
Get credit for your review by logging in via OpenID. Click your account provider: