1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463
|
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
|