ports/116120: [patch] x11-toolkits/gtkdatabox2: update to 0.7.0.1
shuvaev at physik.uni-wuerzburg.de
Wed Sep 5 12:30:02 UTC 2007
>Synopsis: [patch] x11-toolkits/gtkdatabox2: update to 0.7.0.1
>Arrival-Date: Wed Sep 05 12:30:01 GMT 2007
>Originator: Alexey Shuvaev
FreeBSD wep4017.physik.uni-wuerzburg.de 7.0-CURRENT FreeBSD 7.0-CURRENT #0: Tue Aug 21 15:00:51 CEST 2007 root at wep4017.physik.uni-wuerzburg.de:/usr/obj/usr/src/sys/GENERIC amd64
First of all, the current version of gtkdatabox2 (0.2.4.5)
compiles but the examples core dump on my machine.
The new library seems to work (at least the examples).
However, one should be aware of some heavy interface changes.
The appropriate ChangeLog:
- 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
- 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
- There is now a mailinglist for GtkDatabox! It is hosted by the
Gnome Project and maintained by Jos<E9> Romildo Malaquias. Thanks a lot
- three more changes to get rid of warnings that my old compiler
did not even show. Thanks to Fabian Foerg.
- added -pedantic to the compile flags and adjusted code to be
accepted without warnings
- 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
- some further code cleanups
- 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))
- 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
- 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
- Bugfixes (Thanks to Muppet)
- added functions for configuring the cursor for the drawing area.
- 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)
- 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:
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.
- updated libtool to 1.5.16
- modified signals example to show coordinate values in the window
- replaced GtkItemFactory stuff (deprecated in gtk+-2.6)
from colors example. Thanks to Olivier Hervieu.
Finally I am not sure the patches I supply is 100% correct.
Patch attached with submission follows:
--- Makefile.old 2007-09-05 13:39:04.000000000 +0200
+++ Makefile 2007-09-05 13:37:59.000000000 +0200
@@ -6,8 +6,8 @@
--- distinfo.old 2007-09-05 13:39:11.000000000 +0200
+++ distinfo 2007-09-05 10:53:42.000000000 +0200
@@ -1,3 +1,3 @@
-MD5 (gnome2/gtkdatabox-0.2.4.5.tar.gz) = f26cf3e51845dbb6d41e683dd407d887
-SHA256 (gnome2/gtkdatabox-0.2.4.5.tar.gz) = b09830e3b3c5c4a52fbcb6d294e0e407090260c64cf82e47e56f9fc7034e3778
-SIZE (gnome2/gtkdatabox-0.2.4.5.tar.gz) = 212005
+MD5 (gnome2/gtkdatabox-0.7.0.1.tar.gz) = 5aa9b13d347c7429e0c74b2ef93a88e3
+SHA256 (gnome2/gtkdatabox-0.7.0.1.tar.gz) = 1a6c85ce7a0b4cbb3af75869332e52d654dbffea6970f38e89467f1bffadf39c
+SIZE (gnome2/gtkdatabox-0.7.0.1.tar.gz) = 339493
--- pkg-plist.old 2007-09-05 13:39:26.000000000 +0200
+++ pkg-plist 2007-09-05 13:37:30.000000000 +0200
@@ -1,7 +1,7 @@
More information about the freebsd-ports-bugs