2020-02-16 Kjell Ahlstedt 3.97.1 2020-02-15 Kjell Ahlstedt Update for gtk 3.98.0 and gtkmm 3.97.1 * configure.ac: * meson.build: Require gtkmm >= 3.97.1 * Examples with toolbars: Replace removed Toolbar and *ToolButton by Box and *Button. * examples/book/update_ui/examplewindow.cc: Replace Gtk::Main:events_pending() and iterator() by Glib::MainContext::pending() and MainContext::iteration(). * examples/others/calendar/calendar.cc: Use Gtk::Calendar::set_show_heading() etc. instead of the removed Calendar::DisplayOptions. Use Glib::DateTime instead of Glib::Date. 2020-02-07 Kjell Ahlstedt Update some buildapp examples Use Gtk::IconTheme::get_for_display() instead of the removed get_default(). Don't use the removed use-popover property in window.ui. 2020-02-02 Kjell Ahlstedt examples/meson.build: Don't use the bash command The bash command may not be available, e.g. in Windows. Use python instead of bash in 'ninja examples'. 2020-01-22 Kjell Ahlstedt Update drag-and-drop examples Use Gtk::DragSource and DropTarget. 2020-01-12 Kjell Ahlstedt examples: Update to latest gtkmm4 (removed Gtk::Menu, etc.) Use Gtk::PopoverMenu and Gtk::PopoverMenuBar instead of the removed Gtk::Menu and Gtk::MenuBar. 2020-01-07 Kjell Ahlstedt Add examples/book/treeview/custom_treemodel See https://mail.gnome.org/archives/gtkmm-list/2019-December/msg00014.html Fixes #9 (Danny van Elsen) 2020-01-07 Kjell Ahlstedt Change git.gnome.org to gitlab.gnome.org * docs/tutorial/C/index-in.docbook: Change URLs. * docs/tutorial/insert_example_code.pl: Don't add url_examples_branchsuffix. The branch is not a suffix in gitlab, it's included in url_examples_base. 2019-12-14 Kjell Ahlstedt examples: Replace Glib::Exception by Glib::Error Glib::Exception has been removed. See glibmm#23. 2019-11-27 Kjell Ahlstedt Update description of some gmmproc macros The .hg and .ccg files section: Update the description of _CUSTOM_CTOR_CAST and _CUSTOM_MOVE_OPERATIONS. 2019-11-25 Daniel Boles book/menus/popup/examplewindow: new => unique_ptr Close https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/7#note_655543 2019-11-25 Daniel Boles Redo odd wording @ RadioBut.set_group(get_group()) constness isn't the issue here; rather it is the value class of the argument of set_group(). That method needs an lvalue reference as it modifies the Group by adding the RadioButton to it. That's why we can't `rb2.set_group( rb1.get_group() )`. But we can store the Group returned by get_group() in a variable and then pass that to set_group() calls. Not that there is much reason to, given join_group(), but it works fine. Then I got carried away and added a program listing showing it working... which, while mostly superfluous, does provide a nice opportunity to explain briefly that RadioButtonGroup is a handle type, meaning that it can be declared automatically and discarded by RAII without worrying about thusly releasing the RadioButtons from itself. That then informs readers for the next example that creates a new Group. This is the first use of either "lvalue" or "rvalue" in the docbook! That's either a good thing or a slippery, slippery slope to start on... Close https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/6 2019-11-25 Daniel Boles Drop pointless/confusing class around RadioButtons The 2nd example seems to have been trying to be like the 1st, which put the 3 RadioButtons in a subclass of Window, for no real reason since they were never then added to said Window... but the 2nd omitted to declare its members and instead declared new local variables in the constructor with m_ prefixes, which were managed unlike the 1st example! Just drop all of that. There's no clear reason to use a containing class here. By not doing so, we can present both examples in a comparable way. Close https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/6 2019-11-25 Daniel Boles docb: Don't recommend `new` for an in-class member Instead, recommend an std::unique_ptr, which will destroy it via RAII, rather than requiring that the user remember to `delete` it and have to define a non-trivial destructor just to do that, which is just busywork. Close https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/7 2019-11-25 Daniel Boles Builder: Using derived widgets: Update for glibmm… …2.62, which as of Kjell’s simply epic recent commits, now supports us setting custom properties of gtkmm-derived widgets in .ui files for Builder. Also, slightly elaborate the bit about why you would want to! I also be optimistic here and presume that such properties could be made editable in Glade by using a custom catalog and property classes, though my Glade-fu is weak, so I can only hope I'm inferring that right. Close https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/5 2019-11-25 Daniel Boles Assign to mem from get_widget() in ctor init list, because that avoids it pointlessly having a transient value of nullptr. 2019-11-18 Kjell Ahlstedt Make conversions between std::string and Glib::ustring explicit 2019-11-14 Kjell Ahlstedt buildapp: Update description of Gtk::Window::set_application() * examples/book/buildapp/step[1,2,4,5]/exampleapplication.cc: Update the comment in create_appwindow() that describes Gtk::Application::add_window() and Gtk::Window::set_application(). Now they behave the same as a result of issue gtkmm#56. 2019-10-09 Kjell Ahlstedt docs/tutorial/insert_example_code.pl: Add an error message Print a message to stderr when a file can't be opened. 2019-10-09 Kjell Ahlstedt examples/book/buildapp/step1/install-cmd.py: Minor improvement 2019-10-09 Kjell Ahlstedt examples/book/buildapp: exampleapp.desktop -> exampleapp.desktop.in step1/exampleapp.desktop was renamed to exampleapp.desktop.in in the previous commit, but the filename was not changed everywhere. 2019-10-04 Kjell Ahlstedt Makefile.am: Distribute files needed when building with Meson 2019-10-04 Kjell Ahlstedt examples/book/buildapp: Replace shell script with Python script 2019-10-01 Kjell Ahlstedt tools/meson_aux: Replace shell scripts with Python scripts Python scripts can be used on all operating systems where Meson can be used. Shell scripts are restricted to Unix-like systems. 2019-09-19 Kjell Ahlstedt Use glibmm-2.64 instead of glibmm-2.62 We have changed the ABI name in glibmm. 2019-09-19 Kjell Ahlstedt examples: Gtk::Label::set_line_wrap() -> set_wrap() 2019-09-03 Kjell Ahlstedt meson.build: Several minor improvements Use the / operator instead of join_paths(). Directory paths for installation are relative to {prefix} instead of absolute. Don't call meson.add_dist_script(), if it's a subproject. Use MESON_DIST_ROOT in extra-dist-cmd.sh. 2019-08-20 Kjell Ahlstedt tools/meson_aux: Use short options for some commands Posix does not support long options for the cp, rm and mkdir commands. See mm-common!1 2019-08-15 Kjell Ahlstedt Shell scripts: Don't hard-code the path of bash bash isn't always installed in /bin. Scripts which don't require bash to work are converted to use sh, while scripts requiring bash features are changed to use PATH to find bash. See the mm-common!1 MR. 2019-07-02 Kjell Ahlstedt Gtk::Builder chapter: Describe combination with Glib::Property 2019-06-27 Kjell Ahlstedt builder/derived example: Show Gtk::Builder combined with Glib::Property Add a DerivedButton that contains Glib::Property members. 2019-06-23 Kjell Ahlstedt Application example: Use Gio::Application::add_option_group() * examples/book/application/command_line_handling/exampleapplication.[cc|h]: Add some options that demonstrate the use of Gio::Application::add_option_group(). See issue glibmm#46 2019-06-11 Kjell Ahlstedt meson.build: *_DISABLED_DEPRECATED -> *_DISABLE_DEPRECATED 2019-06-04 Kjell Ahlstedt examples: Update to latest gtkmm4 (Gtk::GestureClick, etc.) 2019-05-22 Kjell Ahlstedt Builder examples: Remove can_default from the .glade files 2019-05-22 Kjell Ahlstedt index-in.docbook: Update calls to Gtk::Builder::get_widget() and calls to get_widget_derived() and get_object(). 2019-05-22 Kjell Ahlstedt examples: Update calls to Gtk::Builder::get_widget() and calls to get_widget_derived() and get_object(). widget = get_widget("name") instead of get_widget("name", widget). 2019-05-20 Kjell Ahlstedt README files: meson is the recommended build system * examples/book/buildapp/README: * README: meson, not autotools, is now the recommended build system. 2019-05-17 Kjell Ahlstedt Remove obsolete and redundant README and TODO files 2019-05-15 Kjell Ahlstedt meson.build: "ninja test" builds the example programs That's mainly because "ninja dist" shall check that the example programs can be built. The dist-warnings and build-dist-examples options are removed. It's not safe to try to detect distribution-in-progress the way it was done. 2019-05-12 Kjell Ahlstedt meson.build: Use gnome.yelp()