24/07/2001 Summary of changes GtkSheet ======== - bugfix in gtk_sheet_thaw - bugfix: FALSE return value after "deactivate" signal GtkPlotGdk ========== - memory leak in draw_lines/draw_polygon, by Damian Gilmurray GtkPlotCanvas ============= - memory leaks, by Damian Gilmurray GtkPlot ======= - memory leaks, by Damian Gilmurray - New functions: void gtk_plot_grids_set_on_top (GtkPlot *plot, gboolean on_top); gboolean gtk_plot_grids_on_top (GtkPlot *plot); display grids on top/below data. 27/06/2001 Summary of changes Gtk+Extra-0.99.15 includes new widgets, and important bugfixes and enhancements. GtkFileList =========== - New "gnome-like" icons. - Option to show/hide hidden files (name starting with ".")/directories - New functions (example in testgtkfilesel.c): gboolean gtk_file_list_open_dir (GtkFileList *file_list, const gchar *path); gint gtk_file_list_get_filetype (GtkFileList *file_list); gint gtk_file_list_add_type (GtkFileList *file_list, const gchar **pixmap_data); void gtk_file_list_add_type_filter(GtkFileList *file_list, gint type, const gchar *filter); GtkIconFileSelection ==================== - Enhancements and bugfixes. - Horizontal scrollbar only. - Directories in the iconlist and hidden files. - New option (example in testgtkfilesel.c): void gtk_icon_file_selection_show_tree (GtkIconFileSel *filesel, gboolean show); GtkIconList =========== - New function: GtkIconListItem *gtk_icon_list_add_from_pixmap (GtkIconList *icon_list, GdkPixmap *pixmap, GdkBitmap *bitmap, const gchar *label, gpointer link); - Enhancements and bugfixes. GtkPlot ======= - New function (example in testimage.c): void gtk_plot_set_background_pixmap (GtkPlot *plot, GdkPixmap *pixmap); - FLAGS removed an replaced by: void gtk_plot_set_transparent (GtkPlot *plot, gboolean transparent); gboolean gtk_plot_is_transparent (GtkPlot *plot); - text borders (example in testgtkplot.c): void gtk_plot_text_set_border (GtkPlotText *text, GtkPlotBorderStyle border, gint border_space, gint border_width, gint shadow_width); - Enhancements and bugfixes: memory leaks, WYSIWYG. GtkPlotCanvas ============ - New Canvas child GTK_PLOT_CANVAS_PIXMAP (example in testgtkplot.c): GtkPlotCanvasChild * gtk_plot_canvas_put_pixmap (GtkPlotCanvas *canvas, GdkPixmap *pixmap, gdouble x1, gdouble y1); GtkPlotFlux =========== - New option to center vectors: void gtk_plot_flux_center (GtkPlotFlux *flux, gboolean center); gboolean gtk_plot_flux_is_centered (GtkPlotFlux *flux); GtkPlotPC, GtkPlotGDK, GtkPlotPS ================================ - New functions to draw pixmaps: void gtk_plot_pc_clip_mask (GtkPlotPC *pc, gdouble x, gdouble y, GdkBitmap *mask); void gtk_plot_pc_draw_pixmap (GtkPlotPC *pc, GdkPixmap *pixmap, gint xsrc, gint ysrc, gint xdest, gint ydest, gint width, gint height, gdouble scale_x, gdouble scale_y); GtkPlotPrint ============ - Important bugfixes concerning the WYSIWYG behavior. GtkSheet ======== - bugfix in gtk_sheet_thaw. New widgets: GtkPlotPixmap ============= GtkPlotData subclass for using pixmaps as symbols. Demo example in testpixmap.c GtkCharSelection ================ A table of togglebuttons to select a symbol among several fontsets. 17/04/2001 Summary of changes GtkSheet ======== - Bugfixes removing widgets, and memory leaks. By Chris Howell (Applix) 09/03/2001 Summary of changes 21/02/2001: - GtkExtra version checks. gtkextra.c 15/02/2001: Murray Cumming: - Made GdkColor* and GtkSheetRange* args const in most set_ functions. - Fixed some "may have been used uninitialised" and "not handled in switch" warnings. - Change Plot style args to GtkPlotLineStyle from gint. GtkSheet ======== - Bugfixes in DeleteColumn/DeleteRow - Bugfix in delete_columns/delete_rows 25/02/2001: Murray Cumming: - Changed some function args to guint from gint. - Changed some gint funtion returns to gboolean. GtkPlot ======= - Return values in gtk_plot_get_pixel are gdouble. - For consistency, the functions gtk_plot_axis_labels_set... were renamed as gtk_plot_axis_set_labels... New functions: - You can set axis labels suffix and prefix using gtk_plot_axis_set_labels_prefix/suffix GtkPlot ======= - Return values in gtk_plot3d_get_pixel are gdouble. - Fixed problem with declaration of gtk_plot_axis_get_type - Fixes in logscale GtkPlotPC, GtkPlotGdk, GtkPlotPS ================================ - All arguments in drawing methods changed to gdouble to improve quality of PostScript output. GtkPlotData =========== - Silly bug with gtk_widget_show/hide - gtk_plot_data_draw_symbol has gdouble arguments now GtkIconList =========== New functions: void gtk_icon_list_set_mode (GtkIconList *iconlist, guint mode); guint gtk_icon_list_get_mode (GtkIconList *iconlist); void gtk_icon_list_set_row_spacing (GtkIconList *iconlist, guint spacing); guint gtk_icon_list_get_row_spacing (GtkIconList *iconlist); void gtk_icon_list_set_col_spacing (GtkIconList *iconlist, guint spacing); guint gtk_icon_list_get_col_spacing (GtkIconList *iconlist); void gtk_icon_list_set_text_space (GtkIconList *iconlist, guint space); guint gtk_icon_list_get_text_space (GtkIconList *iconlist); void gtk_icon_list_set_icon_border (GtkIconList *iconlist, guint space); guint gtk_icon_list_get_icon_border (GtkIconList *iconlist); void gtk_icon_list_set_icon_width (GtkIconList *iconlist, guint space); guint gtk_icon_list_get_icon_width (GtkIconList *iconlist); 06/12/2000 Summary of changes - Construct functions added to all the widgets. Useful for C++ and other language bindings. By Murray Cumming GtkIconFileSel ============== New functions: - gtk_icon_file_selection_show_hidden(GTK_ICON_FILESEL(filesel), TRUE); It allows to show files with names beggining in "." - gtk_icon_file_selection_set_filter(GtkIconFileSel *filesel, const gchar *filter); Sets the filter but also displays it. Both by Allin Cotrell GtkDirTree ========== - Fix to display directories beggining with "." - Fix to move to the selected directory at start time. Also by Allin Cotrell GtkPlot ======= - New Function: gtk_plot_clip_data If TRUE, the data is clipped to fit the frame. - GtkPlotAxis is now a GtkObject subclass - gtk_plot_axis_set_tick_labels removed. - New method for setting custom labels: connect the signal "tick_label" using gtk_signal_connect(GTK_OBJECT(axis), "tick_label", GTK_SIGNAL_FUNC(parse_tick_label), NULL); the return value is a string with the customized label generated in "parse_tick_label", a function defined by the user Thanks to Alexander Haväng" for the suggestion and the patches. - gtk_plot_data_show/hide removed. We use gtk_widget_show/hide instead. - All functions called ..._get_visible are now ..._visible - The order of the arguments in gtk_plot_put_text is now font, height, angle. GtkPlot3D ========= - All functions called ..._get_visible are now ..._visible GtkPlotCanvas ============= - gtk_plot_canvas_get_active_point returns -1 if no point is active - The order of the arguments in gtk_plot_canvas_put_text is now font, height, angle. GtkPlotData =========== - gtk_plot_data_gradient_set/get_mask renamed as gtk_plot_data_set/get_gradient_mask - All functions called ..._get_visible are now ..._visible 21/11/2000 Summary of changes - New plot subclasses for 3D and polar plots: GtkPlot3d and GtkPlotPolar. GtkPlot3D has its own API, but GtkPlotPolar can be casted as a GtkPlot considering the equivalence x->r, y->angle. - GtkPlotData is a widget. The API is almost the same. You may have to cast the widget using data = GTK_PLOT_DATA(gtk_plot_data_new()); - The other Data subclasses are Bar, Box, Flux, Surface and CSurface. - I added new arguments to the datasets (z, dz, a, da): z is obviously for 3d plots. However, it is used in GtkPlotBox to specify the size of the boxes. "a" is used to determine the size of the symbols, and "da", the color. - The color of the symbols, when "da" is specified, is detemined using the gradient. the gradient has (min, max) values, and corresponding colors. The symbol's color is interpolated between these values using hue/saturation/value depending on the gradient_mask. - GtkOrientation was replaced with GtkPlotOrientation (GTK_PLOT_AXIS_X/Y/Z) - the fields xticks and yticks were removed from gtkplot. - GtkPlotSymbol has a new field GtkPlotLine border and you set/get the attributes with gtk_plot_data_set/get_symbol - I removed the symbol type: GTK_PLOT_SYMBOL_BAR, because this is a new data subclass. I added TRIANGLE_LEFT/RIGHT and DOT. - After gtk_plot_canvas_paint, you have to use gtk_plot_canvas_refresh to refresh the pixmap in the window. This is because paint can be used to print or save plots in other formats, depending on the GtkPlotPC you are using (see below). - The drawing engine, called GtkPlotPC has been rewritten. Now it's a GtkObject, and you can derive subclasses as GtkPlotGdk and GtkPlotPS in our case (You can define your own if you want to use a different library to draw your plots!). How does it work: 1) Instead of creating a GdkGC, you create either a GtkPlotGdk or GtkPlotPS. 2) you do the following replacements: gdk_gc_set_foreground -> gtk_plot_pc_set_color gdk_gc_set_dash -> gtk_plot_pc_set_dash gdk_gc_set_line_attributes -> gtk_plot_pc_set_lineattr gdk_gc_draw_... -> gtk_plot_pc_draw_... The output will be either on a drawable or a file according to the GtkPlotPC you chose. All the redundant code for the PS output in gtkplotprint was eliminated! Elegant, isn't it? - I also added a new widget: gtktogglecombo, a gtkcombobox subclass (See it in action in testgtksheet) - New demos are included. 01/09/2000 Summary of changes BugFixes in GtkColorCombo, and improvements GtkPlotCanvas. 29/08/2000 Summary of changes BugFixes in GtkColorCombo, GtkSheet, Gtkplot, GtkPlotCanvas and GtkPlotPS. GtkIconList =========== - More memory leaks GtkDirTree & GtkFileList ======================== - Modifications for Win32 compatibility, due to Hans Breuer 04/08/2000 Summary of changes Bugfixes in GtkSheet, GtkPlot, and GtkPlotCanvas. GtkIconList =========== - New function: gtk_icon_list_update(GtkIconList *iconlist) Reorders the icons. - Memory leaks. 05/06/2000 Summary of changes GtkPlot ======= - New element in the struct GtkPlotData gpointer link; It allows to link data to the dataset. - New functions: gtk_plot_data_set_link gtk_plot_data_get_link gtk_plot_data_remove_link gtk_plot_data_draw_points (draws last n points). See example of use in testrealdemo.c GtkIconList =========== - Went back to version before Allin Cottrell's changes until I am back from Argentina. 28/06/2000 Summary of changes Misc: ===== - Andreas Voegele sent the patches to add the following functions: gtk_sheet_range_get_type(); gtk_plot_canvas_child_get_type(); gtk_icon_list_item_get_type(); and the corresponding macros GTK_TYPE_SHEET_RANGE, GTK_TYPE_PLOT_CANVAS_CHILD, GTK_TYPE_ICON_LIST_ITEM. GtkSheet ======== - Argument GtkSheetRange changed to GtkSheetRange *: (Arnaud Charlet, GtkAda team) gtk_sheet_clip_range, gtk_sheet_range_set_background, gtk_sheet_range_set_foreground, gtk_sheet_range_set_justification, gtk_sheet_range_set_editable, gtk_sheet_range_set_visible, gtk_sheet_range_set_border, gtk_sheet_range_set_border_color, gtk_sheet_range_set_font - gtk_sheet_get_max_alloc_col/row removed. (Murray Cumming) - gtk_sheet_get_maxcol/maxrow cnaged to gtk_sheet_get_columns/row_count (Murray Cumming) - gtk_sheet_unselect_range. Bugfixes, and GtkSheetRange * argument removed. It unselects the selection, and reactivates the editing entry. - New flag: GTK_SHEET_JUSTIFY_ENTRY Justifies entry's text according to the cell attributes. If unset, the entry's text is left justified as a normal entry. Default value: ON - Memory leaks in DeleteRow/Column fixed by Allin Cottrell GtkItemEntry ============ - Bugfixes by Chris Howell (Applix team). GtkPlot ======= - Argument GtkPlotText changed to GtkPlotText *: (Arnaud Charlet, GtkAda team) gtk_plot_text_get_size, gtk_plot_text_get_area. - Bugfixes GtkPlotCanvas ============= - child->draw/print changed to child->draw/print_child to avoid compatibility problems with other languages. - Bugfixes. GtkIconList =========== - Memory leaks fixed by Allin Cottrell 12/06/2000 Summary of changes GtkPlotCanvas ============= - GtkPlotCanvasItem struct removed and replaced by GtkPlotCanvasChild - New policy for handling canvas child objects: GtkPlotCanvas has a field GList *childs, replacing the old GList *text. Now, it can contain diferent kind of objects, like GTK_PLOT_CANVAS_TEXT, GTK_PLOT_CANVAS_LINE, GTK_PLOT_CANVAS_RECTANGLE, GTK_PLOT_CANVAS_ELLIPSE. These childs are predefined in the code, and you don't have to care about. You just use the new functions: gtk_plot_canvas_put_line gtk_plot_canvas_put_rectangle gtk_plot_canvas_put_ellipse I have included also the type GTK_PLOT_CANVAS_CUSTOM. It allows to define your custom childs, like the pixmap in testgtkplot. To do this, you should use child = gtk_plot_canvas_child_new(GTK_PLOT_CANVAS_CUSTOM); and define your drawing and printing routines and redirect as child->data = my_data; child->draw = my_drawing_code; child->print = my_printing_code; This should allow to insert images in the plots. By default, the child can only be moved. If you also want to allow to resize it, you should set the child->flags. - You can use the following functions to set the childs' attributes gtk_plot_line/rectangle/ellipse_set_attributes - I added guiding grids to the canvas. This grids can be displayed in the canvas to guide the eyes, but they are not printed. To do so use: gtk_plot_canvas_grid_set_visible gtk_plot_canvas_grid_set_step gtk_plot_canvas_grid_set_attributes - Signal handling for "select_item" has changed. Now the signal handler returns a GtkPlotCanvasChild struct. The contentd of the selection are in child->data, and the type is declared in child->type. See the demo. - gtk_plot_canvas_put_text has a new field "transparent". If TRUE, the text background is not drawn. GtkPlot ======= - Silly bugfixes - gtk_plot_put_text has a new field "transparent". If TRUE, the text background is not drawn. GtkSheet ======== - New functions gtk_sheet_row/column_label_set_visibility gtk_sheet_rows/columns_labels_set_visibility GtkPSFont ========= - New handling to avoid memory leaks: Every time you plan to use PSfonts you should initialize the tables and lists using gtk_psfont_init(); inmediately after gtk_init, or at the begining of a subroutine. At the end of the program or subroutine you should use gtk_psfont_unref(); GtkFontCombo ============ - Changed to complain the new gtkpsfont concept. GtkComboBox =========== - Bugfix in the size allocation routine. 08/05/2000 Summary of changes GtkPlotCanvas ============= - GtkPlotLayout was merged with GtkPlotCanvas and removed from the dirtribution. All the gtk_plot_layout... functions are now called gtk_plot_canvas... - GtkPlotCanvas has been changed to be a GtkFixed subclass. - gtk_plot_canvas_new has a new argument "magnification" Magnification: With gtk_plot_canvas_set_magnification you can choose the page magnification. The page, and all the plots contained are rescaled. It's completely WYSIWYG. GtkPlotLayout ============= Removed from the distribution. GtkPlot ======= - All the functions "gtk_plot_dataset..." are now "gtk_plot_data..." - Magnification - Data labels: you can add individual labels to each point. - New functions: gtk_plot_set_magnification gtk_plot_data_set_labels gtk_plot_data_labels_set_attributes gtk_plot_data_show/hide labels GtkItemEntry ============ - GtkIEntry is now called GtkItemEntry. - GTK_IENTRY is now GTK_ITEM_ENTRY GtkIconList =========== - GtkIconList was changed to be a GtkFixed subclass. Much, much faster... GtkIconFileSelection is now very usable. 19/04/2000 Summary of changes GtkPlotCanvas ============= Completely redesigned and re-written, almost from scratch, using the same API. The new changes will make easier to add new objects in the future, like arrows. - New structure GtkPlotCanvasItem: item->type item->data ------------------------------------------------ GTK_PLOT_CANVAS_PLOT GtkPlot * GTK_PLOT_CANVAS_TITLE GtkPlotAxis * GTK_PLOT_CANVAS_AXIS GtkPlotAxis * GTK_PLOT_CANVAS_LEGEND GtkPlot * GTK_PLOT_CANVAS_TEXT GtkPlotText * - Signals: "select_item", "move_item", "resize_item", "select_region" - FLAGS: GTK_PLOT_CANVAS_CAN_SELECT allows to select a region, a simple box inside a plot. GTK_PLOT_CANVAS_CAN_SELECT_ITEM allows to select objects, but not datapoints. GTK_PLOT_CANVAS_CAN_SELECT_POINT allows to select datapoints, but not other objects. GTK_PLOT_CANVAS_CAN_DND allows to DnD objects, once selected. GTK_PLOT_CANVAS_CAN_DND_POINT allows to DnD datapoints, once selected. If you want to use DnD, you have to set both flags: GTK_PLOT_CANVAS_CAN_SELECT_ITEM and GTK_PLOT_CANVAS_CAN_DND. If you set only CAN_SETECT_ITEM, you won't be able to DnD. If you set only CAN_DND, it won't work if CAN_SELECT_ITEM is off. Same for datapoints. You already know that if your signal handler returns the value FALSE, the selection or action will be ignored. GtkPlot ======= - Memory leaks fixed in gtk_plot_finalize. - New function: gtk_plot_remove_text. GtkPlotLayout ============= - Memory leaks fixed in gtk_plot_layout_finalize. - New function: gtk_plot_layout_remove_text. GtkPSFont ========= - Patched to handle multi-enconded character sets by Hiroyuki ARAKI GtkSheet ======== - Macro GTK_TYPE_SHEET added. 10/04/2000 Summary of changes GtkSheet ======== - GtkSheetAttr removed. New strategy for cell attributes, using cell->attributes, now. Cells and their attributes are allocated. - Memory leaks Thanks to the contributions by the Applix team: Chris Howell, Eric Ding, and Geoffrey. - New function: gtk_sheet_button_attach. Attach widgets to the buttons (like the pixmap in the demo). You can also use gtk_sheet_attach. GtkPlot (and GtkPlotPrint) ======= - gdk_font_unrefs added. - Improvements in the WYSIWYG output. - Bugfixes. More about tickmarks. GtkPlotCanvas ============= - New signals: "move_text", "move_legends", "move_plot", "resize_plot" - BugFixes. GtkPSFont ========= - Bugfixes. Patches by Andreas Voegele. GtkColorCombo ============= -Bugfixes. Size of arrays, by Andreas Voegele. GtkIconList =========== - gtk_icon_list_destroy fixes memory leaks. MISC ==== - Patches to pixmaps.h by Andreas Voegele. - spec.in file by Conrad Steenberg - more const and gboolean patches by Murray Cumming - testgtksheet.c modified to show pixmaps in buttons. - testgtkcheck. Simple demo for gtkcheckitem by Stephen Witkop 14/03/2000 Summary of changes GtkPlot (and GtkPlotPrint) ======= - Bugfixes: - Minor ticks drawing out of the plot frame. - points' xy lines drawing out of the plot frame. GtkComboBox =========== - size allocation. 13/03/2000 Summary of changes GtkDirTree ========== - Bugfixes: - open_dir when the path does not end with a "/" GtkIconFileSelection ==================== - Bugfixes - Added a label on the top-left corner with the current path. GtkPlotCanvas ============= - Replaced GTK_TYPE_POINTER by GTK_TYPE_GDK_EVENT in signals deffinitions. (Andreas Voegele) GtkPlot ======= - Bugfixes: - Minor ticks drawing out of the plot frame. 10/03/2000 Summary of changes - Fixes for ANSI C, by Aaron Lehman and Arnaud Charlet GtkSheet -------- - gchar* arguments replaced by const gchar* (Murray Cumming ) - enums have a type - Bugfixes: - top-left corner button drawing. - gtk_sheet_get_link. (Andreas Voegele ) - initialization and GrowSheet. (Chris Howell ) - fixes when frozen. Ralf Forsberg GtkIconList ----------- - GdkColor argument replaced by GdkColor * (Emmanuel Briot ) - gchar* arguments replaced by const gchar* (Murray Cumming ) - Bugfixes: - signal handlers. (Andreas Voegele ) - icon selection. GtkPSFont --------- - New function names: gtk_psfont_add_font gtk_psfont_get_font GtkFontCombo ------------ - Default size set to 12 (Andreas Voegele ) - New functions: gtk_font_combo_select gtk_font_combo_select_nth GtkPlotPC --------- - GdkColor argument replaced by GdkColor * (Emmanuel Briot ) - pc->drawstring has new arguments (font, height) GtkPlot ------- - gtk_plot_paint argument changed to GtkPlot* - GdkColor argument replaced by GdkColor* (Emmanuel Briot ) - gchar* arguments replaced by const gchar* (Murray Cumming ) - gtk_plot_dataset_get_points (Andreas Voegele) - enums have a type - Logarithmic scales (Torsten Luettgert ) - Autoscale function: gtk_plot_autoscale Rearranges the visible range to display all dataset points. (Thanks to Aaron Lehmann and Peter Wurmsdobler . Finally I did it in my own way) - Text formatting. Special characters: \B : bold \i : italics \g or \8 : greek \s or \_: subindices \S or \^: supraindices \+ : increment size \- : decrement size \b : backspace \N : normal \0, \1, \2, \3, \4, \5, \6, \7, \8, \9 : font foundry - New tick labels format GTK_PLOT_LABEL_POW. in powers of 10 with the exponent as a supraindex. - gtk_plot_axis_set_ticks changed: You have to set the number of minor ticks between major ticks. - New functions: - gtk_plot_autoscale - gtk_plot_axis_set_labels - gtk_plot_axis_use_custom_tick_labels - gtk_plot_set_legends_border - gtk_plot_show/hide_legends - gtk_plot_set_x_attrributes - gtk_plot_set_y_attrributes - gtk_plot_axis_set_major_ticks - gtk_plot_axis_set_minor_ticks - Bugfixes. GtkPlotLayout ------------- - GdkColor argument replaced by GdkColor* (Emmanuel Briot ) - gchar* arguments replaced by const gchar* (Murray Cumming ) - New function gtk_plot_layout_set_size. GtkPlotCanvas ------------- - New function gtk_plot_canvas_set_size. Rescales resizing all plots to fit into the canvas with the same ratio. - Bugfixes: - signal handlers (Andreas Voegele) - signal emission GtkComboBox ----------- - New function: gtk_combo_box_hide_popdown_window 21/12/1999 Adrian E. Feiguin * gtkplotlayout.c : new function gtk_plot_layout_set_size * gtkplotcanvas.c : new function gtk_plot_canvas_set_size * gtkpsfont.c : fixes for min_height in get_gdkfont 17/12/1999 Adrian E. Feiguin * Released GtkExtra 0.99.0 17/12/1999 Adrian E. Feiguin * Configure script based on the ones provided by Andreas Voegele for GtkSheet and Peter Lerner for GtkPlot, and GTK+. 15/12/1999 * gtkplotpc.c : memory leaks fixes. 15/12/1999 Adrian E. Feiguin * gtkiconlist.c : entry_out removed. * gtkplot.c : several functions renamed for consistence gtk_plot_axis_set/get_visible, gtk_plot_grids_set/get_visible, gtk_plot_x0/y0_set/get_visible.