2018-02-24 Murray Cumming 3.93.0 2018-02-22 Murray Cumming Build: Use atkmm-2.28 instead of atkmm-2.26. 2018-02-21 Murray Cumming demos: Avoid a warning about a fallthrough. 2018-02-12 Kjell Ahlstedt Update the Menus demo Don't mention the removed ImageMenuItem in the description. Show the menu with accelerator keys. 2018-02-11 Christian Schoenebeck Gtk::MenuItem: Fix add_accel_label() Make sure accelator keys are shown right-aligned, by calling gtk_menu_item_set_label(). https://mail.gnome.org/archives/gtkmm-list/2018-February/msg00006.html 2018-02-10 Murray Cumming Gdk::Window: Remove add/remove_filter(). Because they were removed from GTK+ 4: https://gitlab.gnome.org/GNOME/gtk/commit/89f6b8751e79ba597fcbd8292df377fa98a7319f 2018-02-09 Kjell Ahlstedt gdk_docs_override.xml: Add a substitution for GdkDeviceToolType 2018-02-09 Kjell Ahlstedt Update Gdk::Event and its subclasses * gdk/src/event.[ccg|hg]: Add set/get_device() and set/get_source_device(). * gdk/src/events.[ccg|hg]: Move get_device() to the base class, Gdk::Event. Add EventButton::get_device_tool() and EventMotion::get_device_tool(). 2018-02-09 Kjell Ahlstedt Add Gdk::DeviceTool * .gitignore: * gdk/gdkmm.h: * gdk/src/filelist.am: Add new filenames. * gdk/src/devicetool.[ccg|hg]: New files. * gdk/src/device.[ccg|hg]: Add signal_tool_changed() and property_tool(). * gdk/src/gdk_docs_override.xml: Add substitution for GdkDeviceToolType. * gdk/src/gdk_extra_objects.defs: Add GdkDeviceTool. * gdk/src/gdk_signals.defs: Add GdkDeviceTool's properties. * gdk/src/seat.[ccg|hg]: Add get_master_pointers(), signal_tool_added() and signal_tool_removed(). * tools/extra_defs_gen/generate_defs_gdk.cc: Add GDK_TYPE_DEVICE_TOOL. * tools/m4/convert_gdk.m4: Add conversions for GdkDeviceToolType. 2018-02-07 Kjell Ahlstedt Gdk::Texture: Add create_for_gl() and release_gl() 2018-02-07 Kjell Ahlstedt Update for the latest gtk+4 (remove Gtk::RecentChooser) GdkContentFormatsBuilder is now a boxed refcounted class. Make Gdk::ContentFormatsBuilder a _CLASS_OPAQUE_REFCOUNTED class. Remove Gtk::RecentChooser, RecentChooserDialog, RecentChooserMenu, RecentChooserWidget, RecentFilter, ToolItemGroup, ToolPalette. The underlying C classes have been removed. Remove Gtk::Widget::show_now(). gtk_widget_show_now() has been removed. 2018-02-07 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files * gdk/src/gdk_extra_objects.defs: Add ContentFormatsBuilder. * tools/extra_defs_gen/generate_defs_gtk.cc: Remove code pertaining to removed classes. 2018-01-31 Kjell Ahlstedt Pixbufs demo: Use Gdk::FrameClock The corresponding demo in gtk+ uses GdkFrameClock. Also, make the pixbufs demo in gtkmm more C++'ish by minimizing the use of #define and using math functions from instead of . 2018-01-31 Kjell Ahlstedt Gdk::Window, Gtk::StyleContext, Widget: Add FrameClock API * gdk/src/window.[ccg|hg]: Add get_frame_clock(). * gtk/src/stylecontext.[ccg|hg]: Add set/get_frame_clock() and property_paint_clock(). * gtk/src/widget.[ccg|hg]: Add get_frame_clock(), add_tick_callback() and remove_tick_callback(). 2018-01-31 Kjell Ahlstedt Add Gdk::FrameClock and Gdk::FrameTimings * gdk/src/frameclock.[ccg|hg]: * gdk/src/frametimings.[ccg|hg]: New files. * .gitignore: * gdk/gdkmm.h: * gdk/src/filelist.am: Add new filenames. * gdk/src/gdk_docs_override.xml: Add substitutions for new enum Gdk::FrameClock::Phase. * gdk/src/gdk_extra_objects.defs: Add new objects. * gdk/src/gdk_signals.defs: Add GdkFrameClock's signals. * tools/extra_defs_gen/generate_defs_gdk.cc: Add GDK_TYPE_FRAME_CLOCK. * tools/m4/convert_gdk.m: Add conversions for GdkFrameClock and GdkFrameTImings. 2018-01-24 Kjell Ahlstedt Fix the Change Display demo Use GestureMultiPress instead of the deprecated Widget::signal_event(). Make the demo more like the corresponding demo in gtk+, e.g. by using Gdk::Seat::grab() and Gdk::Device::get_window_at_position(). 2018-01-19 Kjell Ahlstedt Update for the latest gtk+4 (remove most event signals) * gdk/src/display.hg: Remove supports_cursor_alpha(), supports_cursor_color(), get_default_cursor_size(), get_maximal_cursor_size(). Add signal_setting_changed(). * gtk/src/glarea.hg: Remove get/set/property_has_alpha(). * gtk/src/widget.hg: Remove all event signals except signal_event(), signal_key_press_event() and signal_key_release_event(). * gtk/src/window.hg: Add set/get/property_hide_on_close() and signal_close_request(). * demos/gtk-demo/example_change_display.cc: Replace the removed signal_button_release_event() by signal_event(). 2018-01-19 Kjell Ahlstedt Gtk: Regenerate docs.xml and .defs files and update gtk_signals.defs.patch. 2018-01-14 Murray Cumming Gdk: Remove unused Status enum. As in the C API: https://git.gnome.org/browse/gtk+/commit/?id=badcf022bf9a1eadf65ea74c7a03fed4ae4638fe 2018-01-12 Kjell Ahlstedt Gdk::Event: Inherit from Glib::Object GdkEvent is now a reference counted subclass of GObject. Make Gdk::Event and its subclasses inherit from Glib::Object and store pointers to them in Glib::RefPtr. GdkEventKey, GdkEventButton, etc. are not real subclasses of GdkEvent. They all share a single type in the GType system. 2018-01-12 Kjell Ahlstedt Regenerate gdk_signals.defs and update gdk_docs_override.xml and generate_defs_gdk.cc. 2018-01-12 Kjell Ahlstedt Remove Gtk::PlacesSidebar GtkPlacesSidebar is not public API in gtk+ any more. 2018-01-09 Kjell Ahlstedt Gtk::IconTheme, SelectionData: Add class documentation 2018-01-09 Kjell Ahlstedt Gtk::IconInfo: Inherit from Glib::Object * gdk/gdkmm/general.[cc|h]: Gdk::Cairo::set_source_pixbuf() accepts a constant pixbuf. * gtk/src/iconinfo.[ccg|hg]: GtkIconInfo became a subclass of GObject in 2013. Now Gtk::IconInfo is a subclass of Glib::Object. Use _WRAP_METHOD() instead of hand-coded methods where possible. Make IconInfo more const-correct. All the load_*() methods return objects that must not be modified by the caller. * gtk/src/icontheme.hg: Methods that have returned an IconInfo, now return a Glib::RefPtr or a Glib::RefPtr. load_icon() returns a constant pixbuf. It must not be modified by the caller. * gtk/src/selectiondata.hg: set_pixbuf(), set_surface() and set_texture() accept a constant pixbuf, surface or texture. * tools/m4/convert_gdk.m4: Add a conversion for constant pixbuf. * tools/m4/convert_gtk.m4: Modified conversions for IconInfo. Add a conversion for constant Cairo::Surface. * demos/gtk-demo/example_iconbrowser.cc: DetailDialog::get_icon() returns a constant pixbuf. 2018-01-07 Kjell Ahlstedt Update the Image demo Make it more like the corresponding gtk+ demo by adding a themed icon and fixing the progressive image loading. 2018-01-07 Kjell Ahlstedt Update the DrawingArea demo Use a Gtk::GestureDrag instead of deprecated event signals. That's what the corresponding gtk+ demo does now. 2018-01-07 Kjell Ahlstedt Update for the latest gtk+4 (news in FontChooser and ListBoxRow) * gtk/src/aboutdialog.[ccg|hg]: Add set/get/property_system_information(). Remove unset_license(). Can now be unset with set_license(""). * gtk/src/flowbox.hg: * gtk/src/listbox.hg: Add property_accept_unpaired_release(). * gtk/src/fontbutton.hg: Remove show_style and show_size. * gtk/src/fontchooser.[ccg|hg]: Add the Gtk::FontChooser::Level enum and set/get/property_level(), get/property_font_features(), get/property_language(). * gtk/src/listboxrow.hg: Implement the Gtk::Actionable interface. * tools/m4/convert_gtk.m4: Add conversions for GtkFontChooserLevel. 2018-01-07 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gdk_docs_override.xml and gtk_docs_override.xml. 2017-12-27 Kjell Ahlstedt Gtk::Widget: Document drag_dest_set(Gtk::DestDefaults, Gdk::DragAction) 2017-12-27 Kjell Ahlstedt Gtk::FontButton: Remove set/get/property_font_name() They have been removed from gtk+. Use Gtk::FontChooser::set/get/property_font() instead. 2017-12-17 Kjell Ahlstedt Update for the latest gtk+4 (remove some types of X11 events) Remove enum Gdk:PropertyState. Remove Gdk::EventProperty, EventSelection and EventWindowState. GdkAtom is now a typedef of const char*. gdk_atom_string() and gdk_atom_name() have been removed. Use g_intern_string(). Some event signals in Gtk::Widget have been removed, others have been deprecated. GdkEvent is now a GObject. Gdk::Event and its subclasses have not yet been modified accordingly. 2017-12-17 Kjell Ahlstedt Add Gdk::ContentProvider and add more methods to Gdk::Clipboard. 2017-12-17 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gdk_docs_override.xml, gdk_extra.defs, gtk_docs_override.xml and gtk_signals.defs.patch. 2017-12-17 Kjell Ahlstedt Exclude a file when generating gtk_docs.xml * tools/gen_scripts/gtk_generate_docs.sh: Exclude gtkdnd-quartz.c. Function documentation in gtkdnd-quartz.c can replace better documentation in gtkdnd.c, if docextract_to_xml.py is allowed ot process gtkdnd-quartz.c. This patch requires a glibmm version where docextract_to_xml.py accepts the newly added -x option. 2017-12-04 Kjell Ahlstedt Update for the latest gtk+4 (Gdk::Clipboard) Remove Gdk::DeviceManager. Replace Gtk::Clipboard by Gdk::Clipboard. Remove enum Gdk::OwnerChange and class Gdk::EventOwnerChange. Remove enum Gdk::DragProtocol. 2017-12-04 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gdk_docs_override.xml, gdk_extra_objects.defs, gtk_extra_objects.defs and gtk_signals.defs.patch. 2017-11-28 Kjell Ahlstedt Gtk: Add several new methods * gtk/src/buttonbox.hg: Add property_secondary() and property_non_homogeneous(). * gtk/src/entry.hg: Add property_show_emoji_icon(). * gtk/src/flowbox.hg: Add get_child_at_pos(). * gtk/src/infobar.hg: Add set/get/property_revealed(). * gtk/src/menu.hg: Add place_on_monitor() and property_[left|right|top|bottom]_attach(). * gtk/src/menubutton.hg: Add set_popup(). * gtk/src/overlay.hg: Add child_property_blur(). * gtk/src/placessidebar.hg: Add set/get/signal/property_show_starred_location(). * gtk/src/selectiondata.[ccg|hg]: Add set/get_surface(). Remove the non-const get_pixbuf() and let the const get_pixbuf() return a non-const Pixbuf. The returned Pixbuf is newly allocated. * gtk/src/textview.hg: Ignore the key-binding "insert-emoji" signal. * gtk/src/widget.[ccg|hg]: Replace the hand-coded get_width() and get_height() by wrapped gtk_widget_get_width() and gtk_widget_get_height(). Add contains(), contains_vfunc(), pick(), pick_vfunc(), set/get/property_cursor(), signal_accel_closures_changed(). * gtk/src/gtk_vfuncs.defs: Add Widget::contains_vfunc() and Widget::pick_vfunc(). * tools/m4/convert_gdk.m4: Add more conversions for Gdk::Cursor. 2017-11-28 Kjell Ahlstedt Gdk::RGBA: Add is_clear() and is_opaque() 2017-11-27 Kjell Ahlstedt Gtk::AccelKey, MenuItem: Remove obsolete code and comments such as the empty namespace Gtk::Menu_Helpers and some comments. 2017-11-25 Kjell Ahlstedt Gdk::ContentFormatsBuilder: Add operator bool() and let the move operators and make_content_formats() invalidate the content formats builder. 2017-11-24 Kjell Ahlstedt Replace Gtk::TargetList by Gdk::ContentFormats Remove Gtk::TargetEntry, Gtk::TargetList and enum Gtk::TargetFlags. Add Gdk::ContentFormats (replaces Gtk::TargetList) and Gdk::ContentFormatsBuilder. Corresponding changes have been done in gtk+4. 2017-11-24 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gdk_extra_objects.defs. 2017-11-20 Kjell Ahlstedt Update for the latest gtk+4 (replace class IconSize by enum IconSize) User-defined icon sizes are not supported. Class Gtk::IconSize is removed, and enum BuiltinIconSize is renamed to IconSize. std::vector is replaced by Glib::RefPtr in several parameter lists. GdkAtom is now a const char*, and GDK_NONE is replaced by nullptr. Gtk::TargetEntry::set_info() and get_info() have been removed. 2017-11-20 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gtk_docs_override.xml and gtk_vfuncs.defs. 2017-11-13 Kjell Ahlstedt Gtk::TextTag: Remove event() and signal_event() because they have been removed in gtk+4. 2017-11-10 Kjell Ahlstedt Update for the latest gtk+4 (use Gdk::Texture) Cairo::Surface (which lately replaced Gdk::Pixbuf) is now replaced by Gdk::Texture in many places. Remove enum Gdk::Cursor::Type. 2017-11-10 Kjell Ahlstedt Add Gdk::Texture 2017-11-10 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gdk_docs_override.xml and gdk_extra_objects.defs. 2017-11-05 Kjell Ahlstedt Fix the Glib::Value<> specialization for Cairo objects * gdk/gdkmm/value_cairo.h: The specialization is restricted to Cairo::RefPtr and Cairo::RefPtr. This is necessary because Cairo::RefPtr is not a separate class, it's an alias for std::shared_ptr. Bug 788513 2017-11-03 Kjell Ahlstedt Gtk::Image: Fix Image(pixbuf) The Image(const Glib::RefPtr& pixbuf) constructor must be hand-coded now. GtkImage no longer has a "pixbuf" property. 2017-11-02 Kjell Ahlstedt Update for the latest gtk+4 (remove Gdk::Screen and Gdk::Visual) Gdk::Screen and Gdk::Visual are removed. Gdk::Screen has been replaced by Gdk::Display in many methods. Many methods have changed names, typically set_screen() -> set_display(), get_screen() -> get_display() and property_screen() -> property_display(). 2017-11-02 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files 2017-10-30 Kjell Ahlstedt demos: Fix the drawing area demo The gtk+ demo has been fixed correspondingly. 2017-10-28 Kjell Ahlstedt Tidy up references to namespace Cairo Move many _CONVERSION() macros with Cairo::RefPtr from the .hg files to convert_gdk.m4 and convert_gtk.m4. Use the new Gdk:Cairo::wrap() instead of Cairo::make_refptr_for_instance<>() directly. Replace ::Cairo with Cairo in the Gtk namespace. The extra colons are necessary only in the Gdk namespace, where the compiler will search in the Gdk::Cairo namespace, unless it's explicit that Cairo in the global namespace is meant. 2017-10-27 Kjell Ahlstedt Gtk::Entry::get_icon_surface(): Add refreturn 2017-10-27 Kjell Ahlstedt Update for the latest gtk+4 Most updates are replacements of Gdk::Pixbuf by Cairo::Surface. Gtk+ is moving away from GdkPixbuf. * gdk/gdkmm/cairoutils.[h|cc]: New files with code that simplifies the use of _WRAP_METHOD() for methods that return a Cairo::RefPtr or a std::vector>. 2017-10-27 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files 2017-10-20 Kjell Ahlstedt Gtk::TreeView: Move template specializations to the .ccg file Move the specializations of _connect_auto_store_editable_signal_handler<>() to the .ccg file. 2017-10-20 Kjell Ahlstedt Gtk::TreeView: Use std::strtol() and friends Use std::strtol(), strtoul(), strtoll(), strtoull(), strtof(), strtod(), strtold() for converting a string to a numerical value in _auto_store_on_cellrenderer_text_edited_numerical<>(). This patch was inspired by a patch by Justinas . Bug 765044 2017-10-18 Kjell Ahlstedt Gtk::TreeView: Remove GTKMM_HAVE_SIGC_BIND It has been unconditionally defined since February 2005. 2017-10-18 Kjell Ahlstedt Add Gdk::Cairo::create_surface_from_pixbuf() and Gdk::Cairo::get_clip_rectangle(), create_region_from_surface(), draw_from_gl(), upload_surface_to_gl(). Bug 788533 2017-10-16 Kjell Ahlstedt Gdk::DrawingContext: Include gdkmm/value_cairo.h 2017-10-16 Kjell Ahlstedt Gdk::DrawingContext: Add property_clip() property_clip() can be added now that there is a Glib::Value<> specialization for Cairo::RefPtr. 2017-10-16 Kjell Ahlstedt Gtk::Object docs: Don't mention Adjustment Adjustment does not inherit from Gtk::Object. CellRenderer does. Remove the typedef'ed dont_allow_use_in_glib_refptr_. It lost its meaning when Glib::RefPtr became a std::shared_ptr. 2017-10-14 Kjell Ahlstedt Take some Gdk::Event& (and subclasses) parameters as const& Bug 135978 2017-10-13 Kjell Ahlstedt Add a specialization for Glib::Value<::Cairo::RefPtr> * gdk/gdkmm/value_cairo.[h|cc]: New files. Add a specialization for Glib::Value<::Cairo::RefPtr>. This specialization can't be put in glibmm, because glibmm does not depend on cairomm. It can't be put in cairomm, because cairomm does not depend on glibmm. So it's added here. It's needed for wrapping properties with a Cairo::RefPtr value. * gdk/gdkmm/filelist.am: Add value_cairo.[h|cc]. * gtk/src/cellrendererpixbuf.hg: Include value_cairo.h. It's needed for property_surface(). Bug 788513 2017-10-12 Kjell Ahlstedt Gdk::Event: Suppress @return section in some method documentation Add 'voidreturn' to some _WRAP_METHOD_DOCS_ONLY(). 2017-10-09 Daniel Boles class_gtkobject.m4: Fix GtkObject→GObject for wrap GtkObject was moved down to the GLib level, as GObject, 2 versions ago. https://bugzilla.gnome.org/show_bug.cgi?id=788587 2017-10-06 Kjell Ahlstedt Gdk::Event: GdkEvent and subclasses are opaque structs GdkEvent and subclasses are now opaque structs. They can only be accessed via gdk_event_get_*() and gdk_event_set_*() functions. It means e.g. that the _MEMBER_GET() macro can't be used in gdk/src/events.hg. 2017-10-06 Kjell Ahlstedt Gdk: Regenerate gdk_docs.xml and .defs files 2017-10-06 Kjell Ahlstedt Gtk: Regenerate gtk_docs.xml and .defs files 2017-10-06 Kjell Ahlstedt tools/gen_scripts: Fix erroneous search paths * tools/gen_scripts/gtk_generate_enums.sh: * tools/gen_scripts/gtk_generate_methods.sh: Fix the search path to the gtk+/build/gtk directory. 2017-09-27 Kjell Ahlstedt Gtk::Application::custom_class_init(): Update a comment The private custom_class_init() method is still needed, but the reason is no longer that the deprecated g_type_init() must be called. 2017-09-24 Kjell Ahlstedt Gdk::GLContext: Add unset_use_es() Bug 787898 2017-09-24 Kjell Ahlstedt Gtk::TextView: Let get_iter_at_[location|position]() return bool gtk_text_view_get_iter_at_location() and gtk_text_view_get_iter_at_position() return gboolean, but no GError. 2017-09-24 Kjell Ahlstedt Gtk::TextTagTable: Let add() return bool gtk_text_tag_table_add() returns gboolean, but no GError. 2017-09-15 Kjell Ahlstedt Gtk::AccelGroup: Remove signal_accel_activate() The documentation of GtkAccelGroup::accel-activate says "The accel-activate signal is an implementation detail of GtkAccelGroup and not meant to be used by applications." Remove signal_accel_activate(). 2017-09-15 Kjell Ahlstedt Gtk: Add detail_name to some _WRAP_SIGNAL()s * gtk/src/accelgroup.hg: signal_accel_changed() supports an accel_name parameter. * gtk/src/appchooserbutton.hg: signal_custom_item_activated() supports a custom_item_name parameter. * gtk/src/levelbar.hg: signal_offset_changed() supports an offset_name parameter. * gtk/src/widget.hg: signal_child_notify() supports a child_property_name parameter. 2017-09-15 Kjell Ahlstedt Regenerate gdk_signals.defs and gtk/src/gtk_signals.defs and gtk/src/gtk_signals.defs.patch. Add a substitute_enumerator_name element to gtk_docs_override.xml. 2017-09-14 Daniel Boles Window: Explicitly add correct newin annotation Otherwise, gtkmm uses the version in which the symbol debuted in GTK+, which is 3.22, but we are not adding this to gtkmm-3-22 at present. https://bugzilla.gnome.org/show_bug.cgi?id=787242 2017-09-14 Daniel Boles Window: Wrap gtk_show_uri_on_window() This is a very useful function that gtkmm did not wrap until now. https://bugzilla.gnome.org/show_bug.cgi?id=787242 2017-09-05 Kjell Ahlstedt Update build/.gitignore 2017-09-05 Kjell Ahlstedt Gdk, gtk: Regenerate the docs.xml and .defs files and gtk_signals.defs.patch. Add some substitute_enumerator_name elements in the docs_override.xml files. The new substitutions are needed for default values of properties. 2017-09-05 Kjell Ahlstedt tools/gen_scripts/: Update for gtk+ and gdk-pixbuf built with meson When gtk+ and gdk-pixbuf are built with meson instead of autotools, generated .h and .c files are stored in gtk+/build/gdk, gtk+/build/gtk and gdk-pixbuf/build/gdk-pixbuf. Files in those directories shall be read when the docs.xml and the .defs files are generated.