gtkmm is the C++ interface for the GUI library
GTK.
Highlights include type-safe callbacks, and a comprehensive
set of widgets
that are easily extensible via inheritance.
Home page: http://www.gtkmm.org
Download: https://download.gnome.org/sources/gtkmm/
Documentation: https://developer.gnome.org/gtkmm/3.95/
*** Changes
3.95.1 (unstable):
Distro packagers should probably not package this yet.
Gtkmm 3.95.1 is a C++ binding of gtk 3.96.0.
Gdk:
* Add GLTexture, Paintable, Snapshot
Texture implements the Paintable interface
(Kjell Ahlstedt)
* Gdk::Window has been renamed to Surface
(Kjell Ahlstedt)
* Remove Gdk::Cairo::create_surface_from_pixbuf().
DrawingContext: Remove get_surface(), is_valid() and
get_drawing_context_from_cairo_context().
Surface: Remove create_similar_image_surface().
(Kjell Ahlstedt)
* Add CairoContext. Remove DrawingContext.
DrawContext: Add begin_frame(), end_frame(), is_in_frame()
and get_frame_region().
GLContext: Remove get_damage().
Surface: Remove begin_draw_frame() and end_draw_frame().
They have been moved to DrawContext.
Add queue_expose() and create_cairo_context().
(Kjell Ahlstedt)
* Remove DragContext::drop_reply().
(Kjell Ahlstedt)
* DragContext: Add enum DragCancelReason.
Add drag_drop_done(), get_drag_surface(), get_display().
Add properties and signals.
Mnitor: Add signal_invalidate().
Texture: Add save_to_png().
(Kjell Ahlstedt)
* Add Drop and move some methods there from DragContext.
Replace EventDND::get_drag_context() by
EventDND::get_drop().
Surface: Remove get/set_events() and
get/set_device_events().
(Kjell Ahlstedt)
* Clipboard, Drop: Add read_async() and read_finish()
(Kjell Ahlstedt)
* Rename DragContext to Drag
(Kjell Ahlstedt)
* Drag: Remove get_suggested_action() and
signal_action_changed().
Add property_selected_action(), property_actions(),
property_surface().
Remove EventExpose.
Surface: Remove withdraw(). Add move_to_rect(),
signal_move_to_rect(),
signal_size_changed(), signal_render(), property_mapped().
(Kjell Ahlstedt)
* Drag: Move set_icon_name() and set_icon() to the new
Gtk::DnD namespace.
(Kjell Ahlstedt)
* RGBA: Add a constructor RGBA(double r, g, b, a)
(Daniel Boles) Issue #40
* RGBA::set_hsv(): Properly interpret hue 360° as red
(Daniel Boles) Issue #42
* Add DevicePad and DeviceWithPad
(Kjell Ahlstedt)
* Device: Remove warp(), get_position(int& x, int& y),
get_surface_at_position(int& x, int& y).
Add get_surface_at_position(double& x, double& y).
Surface: Remove set_role(),
get_device_position(..., int& x, int& y, ...),
set/get_group(), invalidate_rect(), invalidate(),
invalidate_region(), set_skip_taskbar_hint(),
set_skip_pager_hint(), set_urgency_hint().
Add property_frame_clock().
(Kjell Ahlstedt)
Gtk:
* Object::_release_c_instance(): Don't release if in a
container
(Kjell Ahlstedt) Bug #773642 comments 20-22
* Entry: Remove set/get_cursor_hadjustment()
(Kjell Ahlstedt)
* Expander: Remove get/set/property_label_fill().
(Kjell Ahlstedt)
* Overlay: Add get/set_measure_overlay() and
child_property_measure().
(Kjell Ahlstedt)
* Settings: Remove property_gtk_modules().
(Kjell Ahlstedt)
* Widget: Add two drag_source_set_icon() overloads
(Kjell Ahlstedt)
* Remove WidgetCustomDraw and WidgetCustomSnapshot.
Snapshot: Add clips_rect(const graphene_rect_t*).
Widget: Remove queue_draw_area(), queue_draw_region(),
get_clip(), draw() and set_realized().
(Kjell Ahlstedt)
* Snapshot: Remove push() and clips_rect(). Add create() and
push_debug().
Add append_texture() and append_cairo().
Only push_debug() has a 'name' parameter.
(Kjell Ahlstedt)
* Remove Scrollbar::get_wheel_delta().
(Kjell Ahlstedt)
* Add EventControllerKey, EventControllerMotion and
EventControllerScroll.
Widget: Remove signal_key_[press|release]_event().
Widget: Add add_controller() and remove_controller().
(Kjell Ahlstedt)
* Image: Add more constructors
(Kjell Ahlstedt) Issue #35 (Daniel Boles)
* Container: Add signal_set_focus_child().
FontChooser: Add set_language().
Printer: Add get_hard_margins(const PaperSize& ...).
SearchBar: Add set/unset/get_key_capture_widget().
SearchEntry: Add set/unset/get_key_capture_widget().
(Kjell Ahlstedt)
* Image: Remove set/get/property_keep_aspect_ratio() and
set/get/property_can_shrink().
(Kjell Ahlstedt)
* Add Picture and WidgetPaintable
(Kjell Ahlstedt)
* StackSwitcher: Remove property_icon_size().
StyleContext]: Remove set/get/property_frame_clock().
(Kjell Ahlstedt)
* Add MediaControls, MediaFile, MediaStream and Video
(Kjell Ahlstedt)
* StyleContext: Remove render_slider().
(Kjell Ahlstedt)
* Add Gtk::GestureStylus
(Kjell Ahlstedt)
* CssProvider: Remove get_default().
Menu: Remove 3 popup() overloads.
StyleContext: Remove render_frame_gap().
(Kjell Ahlstedt)
* Add namespace Gtk::DnD.
Widget: Move drag_get_source_widget() and drag_set_as_icon()
to Gtk::DnD.
Add drag_dest_[set|get]_track_motion() and
drag_source_[set|get]_target_list().
(Kjell Ahlstedt)
* Container: Remove has/get/set/unset_focus_chain()
(Kjell Ahlstedt)
* Window: Move to a proper get_accel_groups()
(Daniel Boles) Bug #784390 = Issue #18 (Maurice van der Pot)
* Add Gtk::make_managed<T>(args...)
(Daniel Boles) Bug #795816 = Issue #33
* Application: Add property_screensaver_active().
Widget: Add observe_children(), observe_controllers().
Remove signal_event(), intersect().
Window: Add get_toplevels().
(Kjell Ahlstedt)
* ModelButton: Fix property_icon(). Add property_use_markup().
Tooltip: Remove trigger_tooltip_query()
(Kjell Ahlstedt)
* ActionBar: Remove child_property_position().
Box: Remove pack_start(), pack_end(), reorder_child().
Add insert_child_after(), insert_child_at_start(),
reorder_child_after(), reorder_child_at_start().
ComboBox: Remove set/get/property_wrap_width(),
set/get/property_row_span_column(),
set/get/property_column_span_column().
Menu: Remove attach().
Widget: Replace the insert_before/after() overloads without
a sibling parameter with insert_at_start() and
insert_at_end().
Add set_expand().
(Kjell Ahlstedt)
* Remove all child properties.
(Kjell Ahlstedt)
* Remove ButtonBox, Invisible, Layout.
Add AssistantPage, StackPage, NotebookPage, Root,
SelectionModel,
SingleSelection, PadController, PadActionEntry,
PasswordEntry,
LayoutManager, LayoutChild, BinLayout, BoxLayout,
GridLayout,
GridLayoutChild, CssLocation
(Kjell Ahlstedt)
* Assistant: Remove set/get_has_padding().
Container: Remove check_resize() and signal_check_resize().
(Kjell Ahlstedt)
* Entry: Remove signal_activate().
Add property_enable_emoji_completion().
(Kjell Ahlstedt)
* Entry, SpinButton: Remove set/get_text(),
set/get_width_chars()
and set/get_max_width_chars().
* Add the GTKMM_CHECK_VERSION() preprocessor macro
and remove macros that check the GTK version. Issue #5
(Kjell Ahlstedt) Bug #580302 = Issue #5 (Hubert Figuière)
* EventControllerKey: Add get_focus_origin/target(),
property_is_focus(), property_contains_focus().
EventControllerMotion: Add get_pointer_origin/target(),
property_is_pointer_focus(),
property_contains_pointer_focus().
Widget: Add get_focus_child(). Remove signal_focus().
Window: Remove signal_set_focus().
(Kjell Ahlstedt)
* Application: Add signal_query_end().
SearchEntry.hg: Add property_placeholder_text(),
property_actives_default().
ToolItem: Add property_expand_item(),
property_homogeneous().
Window: Remove set/get/property_role(),
set/get/property_gravity(), move(), get_position().
(Kjell Ahlstedt)
* CssProvider: Replace CssProviderError by CssParserError and
CssParserWarning. Replace get_named() by load_named().
CssSection: Remove enum CssSection::Type. Add create()
and to_string(). Replace get_[start|end]_[line|position]()
by
get_[start|end]_location().
ListBox: Add set/get/property_show_separators().
MenuBar.hg: Remove enum PackDirection.
Remove set/get/property_pack_direction(),
set/get/property_child_pack_direction().
Widget: Replace set/get/property_can_pick() by
set/get/property_can_target(). Remove
set/get_parent_surface().
Window: Remove set/get/property_skip_taskbar_hint(),
set/get/property_skip_pager_hint(),
set/get/property_urgency_hint().
(Kjell Ahlstedt)
* Menu: Remove set_display().
Popover.hg: Add property_default_widget().
Widget: Remove set/get/property_can_default(),
grab_default(),
signal_display_changed().
Add activate_action(), activate_default().
Window: Remove activate_focus(), activate_default().
Add property_default_widget().
Rename set_default() to set_default_widget(),
unset_default() to unset_default_widget().
(Kjell Ahlstedt)
Demos:
* Update many demo programs.
Documentation:
* Use libsigc++-3.0.tag for libsigc++ documentation
(Kjell Ahlstedt)
* Many improvements
(Kjell Ahlstedt, Daniel Boles)
Build:
* Require C++17
(Murray Cumming)
* Replace the Visual Studio project files with MSVC NMake
project files
(Chun-wei Fan) Merge request !1
* Use glibmm-2.62 instead of glibmm-2.56,
atkmm-2.30 instead of atkmm-2.28,
pangomm-2.44 instead of pangomm-2.42,
gtk4 instead of gtk+-4.0.
Require gtk4 >= 3.96.0
(Kjell Ahlstedt)
Kjell Ahlstedt
kjellahlstedt gmail com