Ardour
8.7-15-gadf511264b
ardour_spinner.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2017 Robin Gareus <robin@gareus.org>
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; either version 2 of the License, or
7
* (at your option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program; if not, write to the Free Software Foundation, Inc.,
16
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
*/
18
19
#ifndef _WIDGETS_ARDOUR_SPINNER_H_
20
#define _WIDGETS_ARDOUR_SPINNER_H_
21
22
#include <boost/algorithm/string.hpp>
23
24
#include <
gtkmm/adjustment.h
>
25
#include <
gtkmm/alignment.h
>
26
#include <
gtkmm/spinbutton.h
>
27
28
#include "
pbd/controllable.h
"
29
30
#include "
widgets/ardour_button.h
"
31
#include "
widgets/visibility.h
"
32
33
namespace
ArdourWidgets
{
34
35
class
LIBWIDGETS_API
ArdourSpinner
:
public
Gtk::Alignment
36
{
37
public
:
38
ArdourSpinner
(std::shared_ptr<PBD::Controllable>,
Gtk::Adjustment
* adj);
39
40
virtual
~ArdourSpinner
();
41
42
protected
:
43
bool
on_button_press_event
(
GdkEventButton
*);
44
bool
on_button_release_event
(
GdkEventButton
*);
45
bool
on_scroll_event
(
GdkEventScroll
* ev);
46
47
void
controllable_changed
();
48
PBD::ScopedConnection
watch_connection
;
49
50
private
:
51
52
bool
entry_focus_out
(
GdkEventFocus
*);
53
void
entry_activated
();
54
gint
switch_to_button
();
55
gint
switch_to_spinner
();
56
57
void
ctrl_adjusted
();
58
void
spin_adjusted
();
59
60
ArdourWidgets::ArdourButton
_btn
;
61
Gtk::Adjustment
*
_ctrl_adj
;
62
Gtk::Adjustment
_spin_adj
;
63
Gtk::SpinButton
_spinner
;
64
bool
_switching
;
65
bool
_switch_on_release
;
66
bool
_ctrl_ignore
;
67
bool
_spin_ignore
;
68
69
std::shared_ptr<PBD::Controllable>
_controllable
;
70
71
};
72
73
}
/* end namespace */
74
75
#endif
adjustment.h
alignment.h
ardour_button.h
ArdourWidgets::ArdourButton
Definition:
ardour_button.h:39
ArdourWidgets::ArdourSpinner
Definition:
ardour_spinner.h:36
ArdourWidgets::ArdourSpinner::on_button_release_event
bool on_button_release_event(GdkEventButton *)
This is a default handler for the signal signal_button_release_event().
ArdourWidgets::ArdourSpinner::_switch_on_release
bool _switch_on_release
Definition:
ardour_spinner.h:65
ArdourWidgets::ArdourSpinner::on_scroll_event
bool on_scroll_event(GdkEventScroll *ev)
This is a default handler for the signal signal_scroll_event().
ArdourWidgets::ArdourSpinner::_spin_ignore
bool _spin_ignore
Definition:
ardour_spinner.h:67
ArdourWidgets::ArdourSpinner::entry_activated
void entry_activated()
ArdourWidgets::ArdourSpinner::watch_connection
PBD::ScopedConnection watch_connection
Definition:
ardour_spinner.h:48
ArdourWidgets::ArdourSpinner::controllable_changed
void controllable_changed()
ArdourWidgets::ArdourSpinner::~ArdourSpinner
virtual ~ArdourSpinner()
ArdourWidgets::ArdourSpinner::entry_focus_out
bool entry_focus_out(GdkEventFocus *)
ArdourWidgets::ArdourSpinner::ArdourSpinner
ArdourSpinner(std::shared_ptr< PBD::Controllable >, Gtk::Adjustment *adj)
ArdourWidgets::ArdourSpinner::on_button_press_event
bool on_button_press_event(GdkEventButton *)
This is a default handler for the signal signal_button_press_event().
ArdourWidgets::ArdourSpinner::switch_to_spinner
gint switch_to_spinner()
ArdourWidgets::ArdourSpinner::_ctrl_ignore
bool _ctrl_ignore
Definition:
ardour_spinner.h:66
ArdourWidgets::ArdourSpinner::spin_adjusted
void spin_adjusted()
ArdourWidgets::ArdourSpinner::switch_to_button
gint switch_to_button()
ArdourWidgets::ArdourSpinner::_ctrl_adj
Gtk::Adjustment * _ctrl_adj
Definition:
ardour_spinner.h:61
ArdourWidgets::ArdourSpinner::_switching
bool _switching
Definition:
ardour_spinner.h:64
ArdourWidgets::ArdourSpinner::ctrl_adjusted
void ctrl_adjusted()
ArdourWidgets::ArdourSpinner::_controllable
std::shared_ptr< PBD::Controllable > _controllable
Definition:
ardour_spinner.h:69
ArdourWidgets::ArdourSpinner::_spinner
Gtk::SpinButton _spinner
Definition:
ardour_spinner.h:63
ArdourWidgets::ArdourSpinner::_btn
ArdourWidgets::ArdourButton _btn
Definition:
ardour_spinner.h:60
ArdourWidgets::ArdourSpinner::_spin_adj
Gtk::Adjustment _spin_adj
Definition:
ardour_spinner.h:62
Gtk::Adjustment
Definition:
adjustment.h:63
Gtk::Alignment
Definition:
alignment.h:62
Gtk::SpinButton
Definition:
spinbutton.h:127
PBD::ScopedConnection
Definition:
signals.h:164
controllable.h
ArdourWidgets
Definition:
ardour_ui.h:192
spinbutton.h
_GdkEventButton
Definition:
gdkevents.h:314
_GdkEventFocus
Definition:
gdkevents.h:378
_GdkEventScroll
Definition:
gdkevents.h:329
visibility.h
LIBWIDGETS_API
#define LIBWIDGETS_API
Definition:
widgets/widgets/visibility.h:40
libs
widgets
widgets
ardour_spinner.h
Generated on Fri Sep 20 2024 04:08:30 for Ardour by
1.9.1