2020-02-13 Kjell Ahlstedt <kjellahlstedt@gmail.com> 3.97.1 2020-02-12 Kjell Ahlstedt <kjellahlstedt@gmail.com> Add Gtk::EmojiChooser 2020-02-12 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Gdk, Gtk: Update for the latest gtk4 (Gtk::IconInfo -> IconPaintable) 2020-02-06 Kjell Ahlstedt <kjellahlstedt@gmail.com> Gdk, Gtk: Regenerate docs.xml and .defs files and update gtk_docs_override.xml, gtk_extra_objects.defs. 2020-01-29 Kjell Ahlstedt <kjellahlstedt@gmail.com> Remove Gtk::WidgetPath GtkWidgetPath has been removed in gtk. 2020-01-22 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Gtk::TreeView::append_column() doc: Modify the code exmaple 2020-01-16 Pavlo Solntsev <p.sun.fun@gmail.com> Gtk::TreeView::append_column() doc: Add code example 2020-01-16 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Add Gtk::PopoverMenuBar Replaces the removed MenuBar. 2020-01-12 Kjell Ahlstedt <kjellahlstedt@gmail.com> Gtk::PopoverMenu: Update documentation Don't refer to removed menu classes. Constructors: Add default value to the 'model' parameter. 2020-01-09 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Update the GLArea demo Similar fixes have been made to the GLArea demo in gtk4. 2019-12-12 Kjell Ahlstedt <kjellahlstedt@gmail.com> Fix the return type of Gtk::Widget::get_style_context() const It shall return a RefPtr<const StyleContext>. See https://mail.gnome.org/archives/gtkmm-list/2019-December/msg00006.html 2019-12-02 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <dboles@src.gnome.org> 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 <kjellahlstedt@gmail.com> Gtk::Window: Make the move ctor noexcept 2019-11-27 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> 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 <dboles.src@gmail.com> 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 <dboles.src@gmail.com> 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 <dboles.src@gmail.com> 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 <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Avoid unnecessary conversions between std::string and Glib::ustring and make necessary conversions explicit. 2019-11-14 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Add Gtk::Window::unset_titlebar() Fixes #57 2019-11-09 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Gtk: Update for the latest gtk4 (Add NoSelection, etc.) 2019-11-03 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Gtk: Update for the latest gtk4 (Add TextView::set_gutter(), etc.) 2019-10-09 Kjell Ahlstedt <kjellahlstedt@gmail.com> Gtk: Regenerate docs.xml and .defs files 2019-09-18 Kjell Ahlstedt <kjellahlstedt@gmail.com> Use glibmm-2.64 instead of glibmm-2.62 We have changed the ABI name in glibmm. 2019-09-15 Kjell Ahlstedt <kjellahlstedt@gmail.com> Gdk, Gtk: Update for the latest gtk4 (Add Gtk::CenterLayout, etc.) 2019-09-15 Kjell Ahlstedt <kjellahlstedt@gmail.com> Gdk, Gtk: Regenerate docs.xml and .defs files and update gtk_docs_override.xml. 2019-08-17 Kjell Ahlstedt <kjellahlstedt@gmail.com> Gtk::Scale: Add [un]set_format_value_func() and change event(const Glib::RefPtr<const Gdk::Event>&) to event(const Glib::RefPtr<Gdk::Event>&) (non-const Event). gtk_widget_event() was changed correspondingly. 2019-08-13 Kjell Ahlstedt <kjellahlstedt@gmail.com> demos: Fix the source code listing 2019-08-13 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Gdk, Gtk: Regenerate docs.xml and .defs files and update gdk_docs_override.xml and gtk_signals.defs.patch. 2019-07-24 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Add Gtk::Constraint* Add Gtk::Constraint, Gtk::ConstraintGuide, Gtk::ConstraintLayout, Gtk::ConstraintTarget 2019-07-12 Kjell Ahlstedt <kjellahlstedt@gmail.com> Gtk: Update for the latest gtk4 (remove Widget::queue_resize_no_redraw(), etc.) 2019-07-12 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Gdk, Gtk: Update for the latest gtk4 (Widget::activate_action(), etc.) 2019-06-29 Kjell Ahlstedt <kjellahlstedt@gmail.com> Gdk, Gtk: Regenerate docs.xml and .defs files 2019-06-27 Kjell Ahlstedt <kjellahlstedt@gmail.com> Gtk::Builder docs: Describe how to use together with Glib::Property 2019-06-17 Chun-wei Fan <fanchunwei@src.gnome.org> 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 <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Gtk: Regenerate docs.xml and .defs files and update gtk_extra_objects.defs and gtk_docs_override.xml. 2019-06-03 Kjell Ahlstedt <kjellahlstedt@gmail.com> Gtk::Widget: Add get_native() 2019-06-01 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Gdk, Gtk: Regenerate docs.xml and .defs files and update gtk_extra_objects.defs and gtk_vfuncs.defs. 2019-05-21 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Gtk: Regenerate docs.xml and .defs files and update gtk_extra_objects.defs. 2019-05-20 Daniel Boles <dboles@src.gnome.org> 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 <dboles@src.gnome.org> 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 <dboles@src.gnome.org> builder: rm accidental argument name in Return doc This is left over from when it was an output parameter. 2019-05-19 Daniel Boles <dboles@src.gnome.org> 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 <dboles@src.gnome.org> tests/builder: Test get_object() overloads coexist This confirms that the new get_object<T>() 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 <dboles@src.gnome.org> Builder: Add get_object<Derived>(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 <dboles@src.gnome.org> 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 <dboles@src.gnome.org> 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 <dboles@src.gnome.org> tests/builder: <packing> 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 <dboles@src.gnome.org> 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 <kjellahlstedt@gmail.com> Add Gtk::Text 2019-05-14 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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 <kjellahlstedt@gmail.com> Gtk::Snapshot: Add some methods * gtk/src/snapshot.hg: Add push_opacity(), push_blur(), push_clip(), perspective(), append_layout(). 2019-05-14 Kjell Ahlstedt <kjellahlstedt@gmail.com> demos: Update .ui files 2019-05-13 Kjell Ahlstedt <kjellahlstedt@gmail.com> tools: Remove child_property.m4 Should have been done in commit 4fb2ba9bb86965318a982fe01db1570d283e9d0c 2019-05-12 Kjell Ahlstedt <kjellahlstedt@gmail.com> Remove ChangeLog.pre-3-8-1 2019-05-12 Kjell Ahlstedt <kjellahlstedt@gmail.com> 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