6db261d566
libgtkmm2ext: modify Keyboard handling of close-current-dialog
...
1) if there is no current dialog, allow some other window to handle the keyboard event
2) make the binding (which is hard coded) visible as static members of Keyboard
2021-04-26 10:48:20 -06:00
70ad205bc1
Separate static widget theme into abstract class
...
This allow the style to be used in classed that are not
directly derived from Ardour's CairoWidget, notably
container widgets or plugin UIs.
2021-01-26 23:37:54 +01:00
e4e94e77c9
Transmitter::Debug implementation 1/2
...
This also sorts switch() and listen_to() statements in order
of severity: debug, info, warning, error, fatal, throw.
2020-10-13 21:58:26 +02:00
85034d0bca
Pass through DnDTV signal_drag_motion event
2020-06-25 02:24:02 +02:00
7ac9c7e88a
fix mask used to extract keycode from KeyboardKey object
...
Previous 16 bit mask would do the wrong thing if the keycode was > 65536,
which is not often true but is certainly a valid value (and seen on some
platforms)
2020-05-18 13:33:54 -06:00
ab6e274613
Ignore idempotent set_name() calls
...
These calls are expensive, particularly for ArdourButton, that
triggers a re-layout.
2020-05-12 15:37:23 +02:00
b258ad792e
force provision of "menu-name" for all WindowProxy objects, and thus Tabbables
...
Actions for hide/show/attach/detach tabbables use hard-coded names which are not
translated. Using Tabbable/WindowProxy::name() to lookup the action will fail,
since the name can be translated. This changes just removes the option to not
provide a menu-name when creating these objects, and uses the name menu-name
when looking up an action by name
2020-05-01 14:33:47 -06:00
2084a39168
some tweaks to Bindings API to allow ::is_bound() to indicate the action path for an existing binding
...
Plus some minor comment additions and cleanups
2020-04-12 08:57:59 -06:00
fa0a7d6739
Allow to limit error dump
...
This is in preparation of displaying verbose errors to the user.
2020-02-28 07:26:13 +01:00
563a8b15e0
Revert to use an image surface for CairoWidgets
...
This partially reverts 2edbda2526
and is a follow up to 0b266a54f
,
to fix performance issues with MS Windows graphics performance.
2020-01-08 04:24:51 +01:00
2edbda2526
Replace explicit image-surface with cairo pattern/group
...
For MacOS/X this is equivalent, rendering happens using a
CGBitmapContext + image-surface. Windows and Linux needs profiling
for respective equivalent surfaces.
2019-12-27 19:35:02 +01:00
c3ab63a2ea
Allow for per-widget image-surface backing
...
This is an intermediate commit, before replacing image surfaces with
cairo pattern groups.
The eventual goal is to reduce flickering and/or use
CPU + bitblt for specific widgets instead of cairo
graphics-cards accel.
This also removes excessive calls to getenv() for every rendering
operation.
2019-12-27 19:34:56 +01:00
6f4e838a58
add a signal to Gtkmm2ext::Keyboard to allow (possible) handling of close-current-dialog
2019-11-06 16:25:30 -07:00
dd29e9b0e9
remove unnecessary template methods (replicated in libs/gtkmm2ext/doi.h
2019-10-10 16:52:00 -06:00
cec5ce8f45
Update canvas/UI lib GPL boilerplate and (C) from git log
2019-08-03 15:53:17 +02:00
Johannes Mueller
822f55f4af
Provide ActionModel::build_custom_action_combo() for Control Protcols
...
to consolidate code that's identical in several control protocols.
2019-04-20 22:12:52 +02:00
Johannes Mueller
de876acc8b
Provide a function to fill a Gtk::ComboBox with all available actions
2019-04-20 15:25:32 +02:00
Johannes Mueller
b141d17274
Provide an API to get all available actions by one singleton class
...
The singleton ActionModel provides a Gtk::Treestore of all actions known to
ardour.
To be used for example by surface control editors to implement action bindings.
2019-04-20 15:25:32 +02:00
2a8bda01b1
NO-OP: whitespace
2019-04-11 02:32:45 +02:00
01024e2b4c
Add API to render a reflection
...
This is to be used sparingly because the pattern is dynamically
created every time. Mainly for the benefit of some Mixbus
widgets -- compared to ArdourButton::convex_pattern
2019-04-11 02:06:32 +02:00
ed97a290db
make ::ardour_action_name() private to Bindings, because nothing else uses it and it semi-exposes the <Actions> nonsense
2019-03-20 11:12:06 -07:00
957393c435
Compiler fix for 201110.
2019-03-19 11:24:26 -05:00
21110444c1
use a new unhandled (thus far) exception rather than ::abort() when an action is undefined
2019-03-19 08:29:30 -07:00
f974ff594a
additional API to make it nicer to get an existing action group
2019-01-13 11:59:18 -06:00
e1b7a43139
add ActionManager::get_actions() to fetch all actions created in ActionGroups with a given "owner" value
2018-12-11 05:05:09 -05:00
1de181479f
add basic concept of an "owner" for an action group, to allow later grouping
2018-12-10 18:40:31 -05:00
ab61c6837f
add ActionManager::set_sensitive() for Gtk::ActionGroup
2018-12-10 18:40:00 -05:00
d1d8fd197d
change ActionManager::find_action() back to ActionManager::get_action()
...
This avoids dozens or hundreds of unnecessary changes in gtk2_ardour code
2018-12-10 08:34:01 -05:00
ad002d0de0
consolidate ActionMap and ActionManager APIs into a single namespace
2018-12-10 08:34:01 -05:00
39c253c590
provide (Static)ActionMapOwner::action_map()
2018-12-10 08:34:00 -05:00
dd4c788d3e
add syntactic sugar for fetching toggle and radio actions
2018-12-06 22:12:34 -05:00
eb48c14ec4
some ActionMap infrastructure to start removing ActionManager
2018-12-05 17:33:05 -05:00
4d7e9d5706
add new variant of ActionMap::find_action()
...
This is more useful when replacing ActionManager::get_action
2018-12-05 17:33:05 -05:00
a22a501537
NO-OP: whitespace
2018-11-29 02:07:29 +01:00
e01582dd9a
Prepare a boxy, no round borders, button-style
2018-10-02 21:28:49 +02:00
bbc8c1354e
Separate set_toggleaction_state () API
...
Prepare for a method consistent with access_action():
* separate group + action names
* no action string parsing overhead.
* no fatal, abort () call for invalid actions
2017-08-09 16:29:24 +02:00
8c6d78c188
add required stdint.h
2017-07-17 18:15:42 -04:00
601c317d70
Clean up library inheritance (colors.h, utils.h)
...
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
2017-07-17 21:06:04 +02:00
eb1e423b75
Remove <gtkmm.h> include from header files.
2017-07-17 21:06:04 +02:00
f9e5e4360e
Move more Gtkmm2ext widgets into libwidget
2017-07-17 21:06:04 +02:00
b5e9451bc7
Remove unused sources & includes
2017-07-17 21:06:04 +02:00
f6e182b937
Move Gtkmm2ext widgets into libwidget
2017-07-17 21:06:04 +02:00
5292a8f4ae
Allow DnDVbox to sort the selection, using original order
...
In preparation for Processors to be copy/pasted in the same order
as they appear on the strip -- not order in which they are selected.
2017-07-04 18:08:35 +02:00
3a42383975
Add binding-proxy to ClickBox
2017-07-02 22:48:39 +02:00
c4fcb12d12
Add control-focus notifications from bindable widgets.
2017-07-02 18:19:13 +02:00
972e01f9c7
Add a convenience MenuHelper c'tor
...
This is pretty much Gtkmm's
* CheckMenuElem::CheckMenuElem
* MenuElem::MenuElem
except MenuItems are created with bool mnemonic = false;
2017-06-29 00:22:34 +02:00
401eefec1c
remove cruft (unused UI::ui_scale)
2017-05-05 14:00:30 +02:00
4d515ad086
The new class 'Gtkmm2ext::EventBoxExt' needs to be exportable when building with MSVC
...
(previously the c'tor was private and nothing was getting exported anyway)
2017-03-21 10:28:53 +00:00
5cf95848e9
Fix gcc4 builds
2017-03-21 03:46:40 +01:00
d06de26a4f
Towards a consistent render() API.
...
This fixes an -Woverloaded-virtual ambiguity introduced in b5e613d45
void render (cairo_t*, cairo_rectagle*)
void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*)
ArdourCanvas prefers cairomm and CairoWidget itself uses Cairo::Context,
this improves overall API consistency.
2017-03-20 17:12:08 +01:00