2020-02-13 Kjell Ahlstedt 3.97.1 2020-02-12 Kjell Ahlstedt Add Gtk::EmojiChooser 2020-02-12 Kjell Ahlstedt Gdk, Gtk: Update for gtk4 3.98.0 (remove Gtk::*Tool*) Remove MenuToolButton, RadioToolButton, SeparatorToolItem, ToggleToolButton, Toolbar, ToolButton, ToolItem, ToolShell. Use Box instead of Toolbar, Button instead of ToolButton, etc. 2020-02-12 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gtk_docs_override.xml, gtk_extra_objects.defs, tools/extra_defs_gen/generate_defs_gtk.cc 2020-02-06 Kjell Ahlstedt Gdk, Gtk: Update for the latest gtk4 (Gtk::IconInfo -> IconPaintable) 2020-02-06 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gtk_docs_override.xml, gtk_extra_objects.defs. 2020-01-29 Kjell Ahlstedt Remove Gtk::WidgetPath GtkWidgetPath has been removed in gtk. 2020-01-22 Kjell Ahlstedt Gdk::ContentFormats is immutable, can be declared const Gdk::ContentFormats is an immutable object. It can be declared const in input parameters. No one can change it. 2020-01-20 Kjell Ahlstedt Gdk, Gtk: Improve the drag-and-drop code and its documentation DnD in the icon browser demo works as the corresponding gtk demo. 2020-01-18 Kjell Ahlstedt Gtk::TreeView::append_column() doc: Modify the code exmaple 2020-01-16 Pavlo Solntsev Gtk::TreeView::append_column() doc: Add code example 2020-01-16 Kjell Ahlstedt Gtk: Update for the latest gtk4 (drag-and-drop) Remove old drag-and-drop API. Add Gtk::DragSource, DropTarget. DnD does not yet work in the icon browser demo. 2020-01-16 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gtk_docs_override.xml, gtk_extra_objects.defs, tools/extra_defs_gen/generate_defs_gtk.cc. 2020-01-12 Kjell Ahlstedt Add Gtk::PopoverMenuBar Replaces the removed MenuBar. 2020-01-12 Kjell Ahlstedt Gtk::PopoverMenu: Update documentation Don't refer to removed menu classes. Constructors: Add default value to the 'model' parameter. 2020-01-09 Kjell Ahlstedt Demos, tests: Update for the latest gtk4 (remove menus demo, etc.) Remove Change Display demo and Menus demo. The corresponding gtk demos have been removed. Convert the Builder demo to a menu model, as in gtk. Make the RGBA test work when Gdk::RGBA uses float instead of double. 2020-01-09 Kjell Ahlstedt Gdk, Gtk: Update for the latest gtk4 (remove Gtk::Menu, etc.) Remove Gtk::CheckMenuItem, Menu, MenuBar, MenuItem, MenuShell, RadioMenuItem, SeparatorMenuItem. 2020-01-09 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gtk_docs_override.xml, gtk_extra_objects.defs, gtk_signals.defs.patch, tools/extra_defs_gen/generate_defs_gtk.cc. 2019-12-13 Kjell Ahlstedt Update the GLArea demo Similar fixes have been made to the GLArea demo in gtk4. 2019-12-12 Kjell Ahlstedt Fix the return type of Gtk::Widget::get_style_context() const It shall return a RefPtr. See https://mail.gnome.org/archives/gtkmm-list/2019-December/msg00006.html 2019-12-02 Kjell Ahlstedt Demos: Fix after introduction of Glib::UStringView Glib::ustring::compare() and operator==() now take a Glib::UStringView instead of a const Glib::ustring&. A Gtk::TreeValueProxy can't be implicitly converted to a Glib::UStringView. * demos/gtk-demo/example_iconbrowser.cc: Convert row[m_store->m_columns.context_id] to a Glib::ustring before it's used in a comparison. * demos/gtk-demo/example_iconview.cc: Use row_b.get_value( m_columns.display_name) instead of row_b[m_columns.display_name]. row_b.get_value() returns a Glib::ustring. row_b[] returns a Gtk::TreeValueProxy. 2019-12-01 Daniel Boles tests/builder: Test derived props declared in C++, by giving DerivedButton one and then setting it in the Builder .ui file. 2019-11-28 Kjell Ahlstedt Gtk::Window: Make the move ctor noexcept 2019-11-27 Kjell Ahlstedt Gtk::MenuShell: Initialize a data member in the class declaration MenuShell::accel_window_ is initialized in the class declaration instead of in every constructor. More constructors can be generated by gmmproc. 2019-11-27 Kjell Ahlstedt Gtk::Widget, Window: Fix the removal of a hidden window from its app * tools/m4/class_gtkobject.m4: The _CUSTOM_MOVE_OPERATIONS macro can be used in a _CLASS_GTKOBJECT. * gtk/src/widget.ccg: Don't remove a window from its application in Widget_Class::hide_callback(). It's not called, if the underlying C object is a GtkWindow, and not a gtkmm__GtkWindow. * gtk/src/window.[ccg|hg]: All constructors connect a signal handler that removes a window from its application when the window is hidden. 2019-11-27 Kjell Ahlstedt Gtk: Update for the latest gtk4 (remove Gtk::ModelButton, etc.) * gtk/src/buildable.[ccg|hg]: * gtk/src/builder.[ccg|hg]: Remove all code requiring the get_type_from_name() vfunc, which has been removed from GtkBuilder. The gtkmm__ prefix must now sometimes (but rarely) be used in the .ui file. See the description of Builder::get_widget_derived(). 2019-11-27 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gtk_docs_override.xml, gtk_extra_objects.defs and tools/extra_defs_gen/generate_defs_gtk.cc. 2019-11-24 Daniel Boles tests/builder: Assign member ptrs @ ctor init list because now we can, as I added the returning versions of get_widget(), so let’s use those for better style. We keep the ones in the ctor body that assign the same values, just because we do that to test repeating. 2019-11-24 Daniel Boles tests/builder: Default-init members at declaration as that is safer than having to remember to default-construct pointers in every constructor overload—& getting undefined behaviour if we don’t. 2019-11-24 Daniel Boles tests/builder: Fix icon_name to const& and shorten …the way of declaring that it should default to a default-init’d string. It didn’t make sense to pass a const value, so make it a const reference as per basically everywhere else that we take string parameters. 2019-11-22 Kjell Ahlstedt Gesture demo: Use some local gestures in the constructor In gtkmm4 it's not necessary to keep a RefPtr to each gesture. A gesture exists for as long as it's connected to a widget. See #60 2019-11-18 Kjell Ahlstedt Avoid unnecessary conversions between std::string and Glib::ustring and make necessary conversions explicit. 2019-11-14 Kjell Ahlstedt Gtk::Application, Window: Always remove a window from its app when hidden * gtk/src/application.[ccg|hg]: add_window() is not hand-coded. * gtk/src/widget.ccg: Widget_Class::hide_callback(): Remove a hidden window from its application. * gtk/src/window.hg: set_application(): Update the description. When Widget_Class::hide_callback() removes a hidden window from its application, the removal is performed regardless of how the window has been added to the application: by Application::add_window(), by Window::set_application() or by some other means. Fixes #56 2019-11-11 Kjell Ahlstedt Add Gtk::Window::unset_titlebar() Fixes #57 2019-11-09 Kjell Ahlstedt Gtk: Update class hierarchy for some widgets * gtk/src/appchooserbutton.hg: Inherit from Widget. Add signal_changed(). * gtk/src/infobar.hg: Inherit from Container. * gtk/src/stacksidebar.hg: Inherit from Widget. * gtk/src/stackswitcher.hg: Inherit from Widget. Corresponding changes have been made in gtk. Unfortunately such mismatches between gtk and gtkmm are not reported as errors when gtkmm is built. They show up as hard-to-find run-time errors. 2019-11-03 Kjell Ahlstedt Gtk: Update for the latest gtk4 (Add NoSelection, etc.) 2019-11-03 Kjell Ahlstedt Gtk: Regenerate docs.xml and .defs files and update gtk_vfuncs.defs. * tools/extra_defs_gen/generate_defs_gtk.cc: Add GTK_TYPE_NO_SELECTION. 2019-10-09 Kjell Ahlstedt Gtk: Update for the latest gtk4 (Add TextView::set_gutter(), etc.) 2019-10-09 Kjell Ahlstedt Gtk: Regenerate docs.xml and .defs files 2019-09-18 Kjell Ahlstedt Use glibmm-2.64 instead of glibmm-2.62 We have changed the ABI name in glibmm. 2019-09-15 Kjell Ahlstedt Gdk, Gtk: Update for the latest gtk4 (Add Gtk::CenterLayout, etc.) 2019-09-15 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gtk_docs_override.xml. 2019-08-17 Kjell Ahlstedt Gtk::Scale: Add [un]set_format_value_func() and change event(const Glib::RefPtr&) to event(const Glib::RefPtr&) (non-const Event). gtk_widget_event() was changed correspondingly. 2019-08-13 Kjell Ahlstedt demos: Fix the source code listing 2019-08-13 Kjell Ahlstedt Gdk, Gtk: Update for the latest gtk4 and glib (no GTImeVal, etc.) * gdk/src/pixbufanimation.[ccg|hg]: create_from_file() takes a std::string instead of a Glib::ustring, and can throw an exception. get_iter() takes a gint64 instead of a Glib::TimeVal. * gdk/src/pixbufanimationiter.[ccg|hg]: advance() takes a gint64 instead of a Glib::TimeVal. * gtk/src/gesturelongpress.hg: Add set/get_delay_factor(). * gtk/src/scale.hg: Remove signal_format_value(). * gtk/src/treeviewcolumn.hg: Remove an argument from cell_get_size(). * tools/m4/convert_gdk.m4: Add a conversion for GdkPixbufAnimation. 2019-08-13 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gdk_docs_override.xml and gtk_signals.defs.patch. 2019-07-24 Kjell Ahlstedt Gtk: Fix ownership of some GLists * gtk/src/gtk_docs_override.xml: Remove gtk_icon_theme_list_icons(). * gtk/src/icontheme.[ccg|hg]: list_icons(): Replace the overload without the 'context' parameter with a default value, thus making all list_icons() have Glib::OWNERSHIP_DEEP. * gtk/src/iconview.hg: get_selected_icons(): SHALLOW -> DEEP. Remove the TreePathTraits struct in iconview.hg. Use the one in treepath.hg. * gtk/src/recentmanager.hg: get_items(): SHALLOW -> DEEP 2019-07-12 Kjell Ahlstedt Add Gtk::Constraint* Add Gtk::Constraint, Gtk::ConstraintGuide, Gtk::ConstraintLayout, Gtk::ConstraintTarget 2019-07-12 Kjell Ahlstedt Gtk: Update for the latest gtk4 (remove Widget::queue_resize_no_redraw(), etc.) 2019-07-12 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gtk_docs_override.xml, gtk_extra_objects.defs, gtk_vfuncs.defs and generate_defs_gtk.cc. 2019-06-29 Kjell Ahlstedt Gdk, Gtk: Update for the latest gtk4 (Widget::activate_action(), etc.) 2019-06-29 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files 2019-06-27 Kjell Ahlstedt Gtk::Builder docs: Describe how to use together with Glib::Property 2019-06-17 Chun-wei Fan Build: Build gdkmm into gtkmm In the autotools builds, GDKMM is no longer built as a standalone DLL but is instead part of the GTKMM DLL. Make it the case in the Visual Studio builds as well. This makes things in line with what happens in GTK master. Also remove all traces of gdkmm.rc, since that is no longer used. 2019-06-16 Kjell Ahlstedt Gtk: Update for the latest gtk4 (Gtk::Entry::set_extra_menu(), etc.) Add set/get_extra_menu() in Entry, Label, PasswordEntry, Text, TextView. Add enum Gtk::PropagationLimit. And other changes. 2019-06-16 Kjell Ahlstedt Gtk: Regenerate docs.xml and .defs files and update gtk_extra_objects.defs and gtk_docs_override.xml. 2019-06-03 Kjell Ahlstedt Gtk::Widget: Add get_native() 2019-06-01 Kjell Ahlstedt Gdk, Gtk: Update for the latest gtk4 (Gtk::Native, etc.) Gtk::Popover and Gtk::Window implements the Gtk::Native interface. Gtk::GestureMultiPress is renamed to GestureClick. Many gtk classes have been made final, which means that gtkmm can't override signal default handlers. 2019-06-01 Kjell Ahlstedt Gdk, Gtk: Regenerate docs.xml and .defs files and update gtk_extra_objects.defs and gtk_vfuncs.defs. 2019-05-21 Kjell Ahlstedt Gtk: MenuButton derives from Widget, and other modifications * gtk/src/cssprovider.[ccg|hg]: * gtk/src/linkbutton.hg: Signals have no default handlers. GtkCssProviderClass and GtkLinkButtonClass have become private. * gtk/src/menubutton.hg: Derive MenuButton from Widget instead of ToggleButton. Add set/get/property_icon_name(), set/get/property_label(). 2019-05-21 Kjell Ahlstedt Gtk: Regenerate docs.xml and .defs files and update gtk_extra_objects.defs. 2019-05-20 Daniel Boles builder: Fix accidentally not updated newin in doc https://gitlab.gnome.org/GNOME/gtkmm/commit/833976a0423e20ce9d966940d80623a7d49228bf#note_514865 See also commit 1d768e0cfd668c274a36219e7e16a25096c94cae note to self: before merging, go for a walk, get some fresh air, wait a few hours, check the diff again, and notice all the leftover mistakes... 2019-05-19 Daniel Boles builder: Remove old, ugly get_widget*() overloads Kjell suggested this here, so while I originally kept these and implemented the nicer overloads in terms of them to retain backwards compatibility and richer git diffs, let's instead see if we can simply get rid of them, to encourage the far nicer API they offer. https://gitlab.gnome.org/GNOME/gtkmm/merge_requests/11#note_514243 2019-05-19 Daniel Boles builder: rm accidental argument name in Return doc This is left over from when it was an output parameter. 2019-05-19 Daniel Boles builder: Fix @newin version number 3.94 has been and gone; the current preview version is 3.95, so announce that this will arrive in the release of 3.96. 2019-05-19 Daniel Boles tests/builder: Test get_object() overloads coexist This confirms that the new get_object() does not conflict with the old get_object(), as well as making sure the latter works and gets the same object again without any problem. Close https://gitlab.gnome.org/GNOME/gtkmm/issues/43 2019-05-19 Daniel Boles Builder: Add get_object(name) overloads Allow getting and casting to a subclass of Glib::Object in one line, thus making it nicer to deal with non-widget objects in Builder files. The non-template and template member functions act as distinct overloads, meaning the new ones can be named get_object() also. Add a Gtk::Adjustment to tests/builder, and check its refcounts are OK. Also add a g_assert that (A) ensures that the test compiles, i.e. we got the right type in the RefPtr and (B) checks we get the right :value out. In case (B) seems frivolous, I did see it not working due to prop order! Adjustment:value needs set after :lower|:upper as it is clamped by them. While here, g_assert() the mm pointers/RefPtrs just to be fully paranoid https://gitlab.gnome.org/GNOME/gtkmm/issues/43 2019-05-19 Daniel Boles tests|gtk-demo: Use new Builder.get_widget*() vers This looks nicer and, of course, serves to test that they work properly. https://gitlab.gnome.org/GNOME/gtkmm/issues/43 2019-05-19 Daniel Boles Builder: Add returning vers of get_widget|_derived To avoid the cumbersome two-step process of declaring a pointer and then passing it to get_widget[_derived]() for use as an output argument, add overloads that return the pointer directly. Of course, now we have no arg from which to deduce the type, so pass that as a template argument. https://gitlab.gnome.org/GNOME/gtkmm/issues/43 2019-05-19 Daniel Boles tests/builder: is removed in GTK master and wasn't achieving anything by explicitly being here anyway - except breaking the test at runtime! 2019-05-19 Daniel Boles button: Drop clicked(), as it's gone in GTK master See GTK commit bcfff5e46934cb7bb9bae0730d557a3ed0faf163: >>> This is not an api we want to propagate anymore. If you need to, you can still emit the "clicked" action signal on a button using g_signal_emit_by_name. >>> 2019-05-14 Kjell Ahlstedt Add Gtk::Text 2019-05-14 Kjell Ahlstedt Gtk: Update .defs files for Gtk::Text * tools/extra_defs_gen/generate_defs_gtk.cc: * gtk/src/gtk_extra_objects.defs: * gtk/src/gtk_signals.defs: Update for Gtk::Text. 2019-05-14 Kjell Ahlstedt Gtk::Snapshot: Add some methods * gtk/src/snapshot.hg: Add push_opacity(), push_blur(), push_clip(), perspective(), append_layout(). 2019-05-14 Kjell Ahlstedt demos: Update .ui files 2019-05-13 Kjell Ahlstedt tools: Remove child_property.m4 Should have been done in commit 4fb2ba9bb86965318a982fe01db1570d283e9d0c 2019-05-12 Kjell Ahlstedt Remove ChangeLog.pre-3-8-1 2019-05-12 Kjell Ahlstedt Make libgdkmm-4.0 a noninstalled helper library This merges libgdkmm-4.0 and libgtkmm-4.0 into one library. It installs gdkmm's header files in $(includedir)/gtkmm-4.0/. MSVC_NMake/ has not been fixed. Gtk has made a similar modification. See https://bugzilla.gnome.org/show_bug.cgi?id=773100 Fixes #48