13
0
Commit Graph

74 Commits

Author SHA1 Message Date
b552ed886f Add support for Pango Markup to ArdourButton 2016-12-10 15:54:41 +01:00
f108bf1373 ArdourButton: add text for measuring decoupled from display text
In the normal course of events, an ArdourButton requests just enough
space to display its elements. In particular the size will change when
the text does. Yet, in several cases it is better to avoid layout jittering; until now ArdourButton users manually set a static size on the button at creation time.

Introduce new API to set the text used for measuring the button size
separately from the text that will be displayed. In most cases this
enables the callers to replace

    set_size_request_to_display_given_text(button, text, w, h);

where w and h were hard-coded to cater for other button elements, by

    button.set_sizing_text(text);

which will make ArdourButton correctly compute the size request in all
cases with its real elements and padding. ArdourButton users can call

    button.set_sizing_text("");

to get the size request depend on displayed text (which is the default).
2016-08-20 16:00:46 +02:00
523306036e Make ArdourButton detect when a grab should stop being pressed
If for whatever reason a grab is taken (e.g. a menu popping up) while
somebody is pressing a mouse button on an ArdourButton, then the
ArdourButton will not get the mouse button release event and will look
stuck in pressed position.

The leave notify event is fired if the mouse is still on the
ArdourButton while the grab is taken, but not if the user was dragging
the mouse outside of the button.

The only reliable way is to listen for the grab_broken_event signal.
Do so.
2016-08-18 16:16:17 +02:00
0fe194c90b extend ArdourButton API to provide a new tweak for buttons with occasional text
Buttons with this tweak do not change their size request based on their text (or lack of it)
2016-06-14 11:47:25 -04:00
ef6f0de5a3 extend ArdourButton API to allow independently setting fixed active/inactive colors 2016-06-09 16:03:14 -04:00
André Nusser
83b5bdbe95 Ctrl+shift functionality (toggle all) for plugin leds.
The Fader led has special behavior and is only toggled when clicked
explicitly.
2015-10-19 14:36:06 -04:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
1d5c6104f5 replace old ArdourButton::Icon API with Gtkmm2ext. 2015-05-24 21:45:39 +02:00
c5d7685741 add vector rendition of nudge icons. 2015-05-24 20:22:50 +02:00
47eb9d3fe1 NOOP, cleanup & comments 2015-04-08 10:18:39 +02:00
de7d6a7f2c renice transport buttons (part one) 2015-04-07 22:34:09 +02:00
d25e8f2233 update ArdourButton Icon API 2015-04-07 22:34:09 +02:00
68e3ba189e replace two more icons w/vector drawing. 2015-04-06 18:43:18 +02:00
edb86929f5 amend 6aa6c2d, queue redraw for custom-LED change 2015-03-17 04:02:59 +01:00
28e4708825 AButton: allow to set custom LED color (for > 2 states) 2015-03-16 19:04:36 +01:00
69dc9451a7 NOOP, add a missing ‘p’ 2015-03-11 20:06:41 +01:00
00f604019d add ::set_layout_font (const Pango::FontDescription&) to ArdourButton 2014-10-21 17:25:50 -04:00
cb07f0f99b yet another button tweak.. 2014-09-07 20:23:49 +02:00
a07dc44b4d remove pixel based Button LED diameter setting
Diameter is calculated depending on font-scaling.
Besides, all explicit calls simply set the default
value, anyway. If some API is needed in the future,
it should set the diameter in [em].
2014-09-06 02:08:59 +02:00
6f30c1fddb optimize button pattern cache
We really should statically cache patterns
as done in PixFader and Meters (Cairo's cache is
not nearly large enough)
2014-09-06 02:04:59 +02:00
4a00bdf04a fundamentally change ArdourButton PangoLayout handling
This fixes issues where button text was set during static
initialization where the widget style was not yet available,
and a lot of related issues where the text was set
before style.
2014-09-06 00:41:56 +02:00
98404c6e62 ardour button sizes, now [em] based. 2014-09-04 02:24:37 +02:00
a99bd28950 add "close/cross" special button 2014-09-03 22:07:25 +02:00
0ea1238479 ask TAV buttons to have square proportions 2014-09-03 11:56:31 -05:00
3814c65680 robin needs a new keyboard with unstttttuck tt. 2014-09-03 05:20:33 +02:00
d7ff2b87fb update rec-en circle drawing, add tape-mode 2014-09-03 01:55:57 +02:00
1592d04828 one off, special case rec-en button for now. (circle may need tweaking)
In the long run we want a class hierarchy:
CairoWidget
-> ArdourWidget
-> ArdourLabel
-> ArdourButton
-> SpecialArdourButton(s)
2014-09-02 20:43:15 +02:00
29b7cb4a05 ArdourButton: prepare for [em] based padding 2014-09-02 19:23:18 +02:00
78b9f65632 explicit Button inactive state.
Ideally large parts of ArdourButton would become ArdourLabel,
which in turn is used by ArdourButton
2014-08-29 21:08:49 +02:00
7306568634 More fixes to ArdourButton actions.
Optionally allow events to fallthrough to parents, in particular for the DnDVBox case.
Also allow the number_label to operate as a track selector.
2014-08-28 14:25:19 -05:00
e7a15027e8 refactor flat_buttons into cairowidget, and add a canvas-like convenience function for setting cairo color with a Gtk::Color 2014-08-27 10:55:01 -05:00
74f313dd6b Rationalize ArdourButton and lots of associated theming issues.
ArdourButtons now have a "pushed" animation.
The gradient is now implemented in the button, rather than providing 2 colors in the theme, which was burdensome.
Lots of code cleanup in ArdourButton.  Removed several unnecessary flags.
Refactor more stuff into route_ui.
2014-08-22 11:51:20 -05:00
b2b736d596 tweaks for the monitor section. refactoring of some buttons, using new ArdourKnob instead of VolumeController. New ArdourDisplay shows a controllables user value, and provides support for preset values (hardcoded at present). Further refactoring to come, so that ArdourWidgets are derived from a common class. Controllable now has more responsibility for scaling between internal, user, and interface (knob percent) values. This also needs more refactoring and might have some unintended consequences. tested with audio and nothing seems amiss, yet. 2014-07-18 08:47:45 -05:00
381b6848fc repair ardour-button "fixed color mode" 2014-07-06 19:56:53 +02:00
bb2970e5e9 allow ardour button to handle focused keyboard events 2014-06-14 00:22:32 +02:00
4c2e846126 the FlatFace element is no longer relevant. instead it was being used for an inset jeweled look. changed name to match 2014-03-26 11:37:28 -05:00
harrison
b9708d5f6b New theme for editor window using ArdourMenu 2014-03-23 18:11:42 -05:00
ab44e41dfd change the meters into CairoWidget, add expose_area to CairoWidget::render() 2014-03-20 23:50:40 +01:00
f9dbc28086 add ::on_name_changed() to ArdourButton, to use recently added ::on_name_changed() in CairoWidget 2014-03-06 09:49:00 -05:00
4a915ee541 Add ArdourButton::set_fixed_colors() (equivalent to ::set_bg_colors() in Valeriy's original changes) 2014-03-06 08:05:33 -05:00
b360274e34 revert 29b1e706dd and then redo separation of ArdourButton::set_colors() from ArdourButton::build_patterns.
More to come
2014-03-05 17:51:51 -05:00
29b1e706dd some changes to ArdourButton to allow custom colors to be set (e.g. based on track colors), via Valeriy 2014-02-14 15:32:30 -05:00
37522a2f5e revert part of 4091ff175c that caused window/sizing chaos. silly paul 2013-10-12 15:37:55 -04:00
4091ff175c 1 bug fix plus padding control for ArdourButton 2013-10-12 14:56:57 -04:00
94fbfb9658 left/bottom align of labels in meterbridge 2013-07-10 15:27:08 +02:00
0276b1f69a ardour-button: allow to rotate text 2013-07-10 15:27:06 +02:00
6e337459a9 add a new Tweak to ArdourButton that makes ImplicitActive state use a solid color (the "led active" color), and adjst rec-enable buttons to use pink (like ardour2) when in this state (which means rec-enabled but not recording). and yes, this means that you can't use ImplicitUsesSolidColor with a button that also uses an LED - acceptable limitation
git-svn-id: svn://localhost/ardour2/branches/3.0@13645 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-12 02:22:12 +00:00
Ben Loftis
92e5a13fd4 several theme changes. changed drawing of rounded_rectangle to be more correct. operation and feel should be more consistent. rec-mute-solo buttons are now dull until enabled. this might be debatable. otherwise if it looks weird, try loading Window->Theme Manager and clicking Restore Defaults
git-svn-id: svn://localhost/ardour2/branches/3.0@13611 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-06 20:48:44 +00:00
Ben Loftis
6b6ef35f3e new button look
git-svn-id: svn://localhost/ardour2/branches/3.0@13511 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-16 19:27:39 +00:00
a796853f99 introduce flat button option,which right now is on all the time. GUI nit-pickers, do your best
git-svn-id: svn://localhost/ardour2/branches/3.0@12358 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-21 12:31:05 +00:00