2020-12-14 Kjell Ahlstedt 3.24.1 2020-12-14 Kjell Ahlstedt Refer to README files for building with Meson and suggest filing GitLab issues and merge requests. 2020-10-22 Kjell Ahlstedt Autotools build: Distribute docs/tutorial/insert_example_code.py Should have been done when Meson build dropped the dependence on Perl. 2020-10-22 Chun-wei Fan Update the "gtkmm and Win32" appendix Links in the patch added by Kjell Ahlstedt. Fixes #4 2020-09-18 Kjell Ahlstedt Meson build: Drop dependence on Perl * tools/tutorial/insert_example_code.py: New Python file, equivalent to the insert_example_code.pl Perl file. The Perl file is still used when building with Autotools. 2020-09-08 Kjell Ahlstedt Meson build: Exclude some git-tracked files from tarballs and use 'with' in Python code when files are opened. 2020-08-17 Kjell Ahlstedt Describe how to build a multi-threaded program Fixes #12 2020-08-06 Kjell Ahlstedt input example: Don't include build/config.h The configuration with Autotools or Meson sets the compiler option -DDONT_HAVE_MKFIFO=1, if mkfifo() does not exist. Meson does not create build/config.h. This makes life easier for those who build with their own Makefile or CMake file or whatever. Fixes #11 2020-07-09 Kjell Ahlstedt Describe how the mm-common/skeletonmm project is built with Meson Appendix G. Wrapping C Libraries with gmmproc: Describe how the skeletonmm project is built with Meson (was Autotools). 2020-03-31 Kjell Ahlstedt Meson build: Set default value of the 'warnings' option to 'min' And add 'dist-warnings' with default value 'fatal'. It's used when a tarball is tested by 'ninja dist' or 'meson dist'. 2020-03-24 Kjell Ahlstedt Link to glibmm 2.64 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-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-11-25 Daniel Boles book/menus/popup/examplewindow: new => unique_ptr 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... 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. 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. 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. https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/5 2019-11-18 Kjell Ahlstedt Make conversions between std::string and Glib::ustring explicit 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-02 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 Gtk::Builder chapter: Describe combination with Glib::Property 2019-09-19 Kjell Ahlstedt builder/derived example: Show Gtk::Builder combined with Glib::Property Add a DerivedButton that contains Glib::Property members. 2019-09-19 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-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-06-11 Kjell Ahlstedt meson.build: *_DISABLED_DEPRECATED -> *_DISABLE_DEPRECATED 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 Add meson.build files and auxiliary scripts for meson builds New files copied from git's master branch and modified where necessary. See the README file for instructions how to use it. 2019-05-17 Kjell Ahlstedt Remove obsolete and redundant README and TODO files 2019-04-14 Kjell Ahlstedt buildapp examples: Add meson.build files * examples/book/buildapp/README: Describe how to build with meson and ninja. * examples/book/buildapp/step1/install-cmd.sh: * examples/book/buildapp/step[1-9]/meson.build: New files 2019-03-19 Kjell Ahlstedt custom_widget example: Use Glib::ExtraClassInit Add MyExtraInit that calls gtk_widget_class_set_css_name() in the class init function and calls gtk_widget_set_has_window() in the instance init function. See glibmm#33