Commit graph

603 commits

Author SHA1 Message Date
John Emmas
a4ee85c4a1 Some new gtkmm2ext functions need to be visible outside of gtkmm2ext 2025-03-12 11:10:47 +00:00
Paul Davis
7d1886b22d provide a copy-constructor for Gtkmm2ext::Bindings
This copies all the binding information for an existing Bindings object,
but then mutates all the action names from foo/bar to name/bar where name
is the given name for the new Bindings object.
2025-03-11 13:45:29 -06:00
Paul Davis
effe0bd879 use Gtkmm2ext::BindingSet inside libgtkmm2ext 2025-03-10 18:48:49 -06:00
Paul Davis
9472ca1a14 introduce API to set widget bindings as a vector of Bindings 2025-03-10 13:02:25 -06:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Robin Gareus
233fc890de
Update gdkmm -> ydkmm header location (omnibus commit) 2025-02-01 15:01:52 +01:00
Robin Gareus
f1e0f4b1ea
Update gtk -> ytk header location (omnibus commit) 2025-02-01 13:53:21 +01:00
Robin Gareus
07866caf1e
Update gdk -> ydk header location (omnibus commit) 2025-02-01 13:37:48 +01:00
Paul Davis
146df0306c provide new API for Gtkmm2ext to allow ActionGroup cleanup 2025-01-28 13:29:40 -07:00
Robin Gareus
4866baacf5
Release NSGLView, fixes heap-use-after-free 2024-12-06 18:52:04 +01:00
Robin Gareus
4a966d5015
DndVBox: implement drag-refuse and drag move action 2024-11-19 17:36:53 +01:00
Mads Kiilerich
b4ff4f356c Make header files more self-contained - add missing Ardour and lib includes 2024-10-20 03:30:46 +02:00
Robin Gareus
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
Robin Gareus
2d7cce44f1
Replace PBD::Signals (1/2) 2024-10-18 20:41:08 +02:00
Paul Davis
75f56cd3e1 the great onceification (libs)
Replace use of #ifndef header guards with #pragma once

Modern C++, baby!
2024-10-17 07:44:31 -06:00
Paul Davis
e7731f2e89 add -D actions to gtkmm2ext 2024-10-17 07:44:30 -06:00
Paul Davis
83984a7884 emit a new signal when a ProcessorElement is added to the selection inside a DnDVBox<ProcessorEntry> 2024-07-29 10:19:52 -06:00
Paul Davis
941bc3a4f2 NO-OP: braces, please! 2024-07-29 10:19:52 -06:00
Mads Kiilerich
f063bfef03
format: Improve header robustness against #include reordering 2024-07-23 17:03:56 +02:00
Robin Gareus
03689d8070
Remove/fix unused namespace [forward] declarations (2/x) 2024-05-26 16:46:39 +02:00
Paul Davis
46fa056da6 add unrounded rectangle methods to Gtkmm2ext for use in truly boxy buttons 2024-04-25 13:03:52 -06:00
Robin Gareus
f3823e8d7c
Fix redeclaration of DnDVbox 2024-04-23 21:51:55 +02:00
Robin Gareus
73b44532f1
Allow to override visibility tracker
This is in preparation to keep track of external UI plugin UIs
2023-11-26 20:06:35 +01:00
Paul Davis
d5ad9ff033 libpbd/guis: move __invalidator() into PBD::EventLoop
we allow use of/dependency on sigc::trackable there, so this is
both legal but also sensible.

Leave the macro definition of invalidator(x) in gtkmm2ext/gui_thread.h
because it doesn't hurt and makes some sense for it to be there. No
reason for a source module that needs invalidator(x) to load EventLoop
decl.
2023-08-30 16:06:14 -06:00
Paul Davis
5e37a320c0 remove use-selection modifier 2023-07-26 18:24:43 -06:00
Paul Davis
29c2b06d0e add a name for a modifier to be used to indicate "use selection" 2023-07-26 13:18:02 -06:00
Paul Davis
3be6ae57ba gtkmm2ext: provide an additional ink extents method to get descender 2023-07-01 21:07:25 -06:00
Robin Gareus
509504acf2 Add API to set openGL backing scale 2023-02-04 22:25:52 +01:00
Robin Gareus
ffafa5cfc7 NSGLView: clean up, allow optional scaling 2023-02-04 21:36:01 +01:00
Robin Gareus
f107c063e7 Add conveniece API to set trasient-parent for Proxy Windows
On macOS, a transient parant should only be set for a single child
window. sibling windows to a single parent cannot be re-stacked.
2022-11-15 03:03:49 +01:00
Robin Gareus
5ef2d04cd8
Remove unused size_request-for_text helpers 2022-09-20 03:33:12 +02:00
Paul Davis
a2e4897a49 move color utility functions from ARDOUR_UI_UTILS to Gtkmm2ext namespace (libs) 2022-08-10 21:11:46 -06:00
Paul Davis
e0d33bb726 cairowidget: add supplementary set_source_rgb_a() method that uses the uint32 Color type 2022-08-10 18:15:25 -06:00
Robin Gareus
71ee12af6a
Add API to format keyboard modifiers for tooltips 2022-06-21 22:11:49 +02:00
Robin Gareus
5b03bf72fa
NO-OP: code style 2022-06-21 22:11:08 +02:00
Robin Gareus
af38528174
Physical modifier abstraction is constant 2022-06-21 22:09:54 +02:00
Robin Gareus
8a5fc65df4
Expose newly added semantic modifiers 2022-06-21 21:38:37 +02:00
Robin Gareus
3266b1acb0
Add API to query currently held modifiers keys 2022-06-21 21:37:14 +02:00
Robin Gareus
f1eb45e129
NO-OP: clang format 2022-06-21 21:37:08 +02:00
Ben Loftis
e557245bf7 implement group_override_modifier() (lib part)
Consistently use Tertiary for Group Override on all platforms (and be consistent about it)

Consistently use Primary-mod for Momentary on all platforms (partially reverts 47932f)
Primary modifier is used for fine-adjust on knobs and sliders, with no analogous operation on switches.
2022-06-21 13:01:30 -05:00
Ben Loftis
fd9a76073b modifiers: add momentary_push_name (for tooltips) 2022-06-17 11:07:58 -05:00
Ben Loftis
12e703414d modifiers: make a new abstraction for momentary-click, instead of button_2 (lib part)
is_button2_event()  was used to detect the user's desire for a
  momentary-click on some buttons (mute, solo, mixer scenes)

is_momentary_push_event() disambiguates this action from is_button2_event()

for the special case of momentary, we can drop the workarounds for
  the lack of middle-mouse buttons on Mac, and instead just use
  shift+left-click on all platforms.
2022-06-17 11:07:49 -05:00
Ben Loftis
71833911a4 modifiers: publish button2_name (for use in tooltips) 2022-06-17 10:52:06 -05:00
Paul Davis
c0b1f0e63c fix buglet in RAII mgmt of Bindings::_drags_active 2022-04-18 12:21:57 -06:00
Paul Davis
729f930974 bindings: add a mechanism to prevent binding activation during drag 2022-04-18 11:38:21 -06:00
Robin Gareus
f9d80c32d6
Allow to destroy Widgets when removing them from a container
This is useful when the container uses manage()d Widgets,
which are otherwise not destroyed.
2022-04-14 16:35:02 +02:00
Paul Davis
7bf89ce109 Constification: make Stateful::get_state() const, with all other required const-ness added (libs) 2022-04-06 21:56:59 -06:00
Robin Gareus
50abcc74b5
Replace Glib::Threads with PBD::Thread (2/2) 2022-03-01 01:34:35 +01:00
Robin Gareus
6dc66ea78f
Prioritize self-deletion
This addresses the issue described in 83719fba1a.
First process all queued self_delete() requests before scheduling
Editor::redisplay_track_views() which uses PRIORITY_DEFAULT.
2022-01-29 05:17:00 +01:00
Robin Gareus
036ad841bf
Remove using namespace Gtk; from headers
This causes issues if the header is included early on
in particular a conflict with gdkx.h
The reference to ‘Window’ is ambiguous `Gtk::Window` vs [X11]Window.
2022-01-26 22:32:28 +01:00