Ardour
9.0-pre0-582-g084a23a80d
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 <
gtkmm/adjustment.h
>
23
#include <
gtkmm/alignment.h
>
24
#include <
gtkmm/spinbutton.h
>
25
26
#include "
pbd/controllable.h
"
27
28
#include "
widgets/ardour_button.h
"
29
#include "
widgets/visibility.h
"
30
31
namespace
ArdourWidgets
{
32
33
class
LIBWIDGETS_API
ArdourSpinner
:
public
Gtk::Alignment
34
{
35
public
:
36
ArdourSpinner
(std::shared_ptr<PBD::Controllable>,
Gtk::Adjustment
* adj);
37
38
virtual
~ArdourSpinner
();
39
40
protected
:
41
bool
on_button_press_event
(
GdkEventButton
*);
42
bool
on_button_release_event
(
GdkEventButton
*);
43
bool
on_scroll_event
(
GdkEventScroll
* ev);
44
45
void
controllable_changed
();
46
PBD::ScopedConnection
watch_connection
;
47
48
private
:
49
50
bool
entry_focus_out
(
GdkEventFocus
*);
51
void
entry_activated
();
52
gint
switch_to_button
();
53
gint
switch_to_spinner
();
54
55
void
ctrl_adjusted
();
56
void
spin_adjusted
();
57
58
ArdourWidgets::ArdourButton
_btn
;
59
Gtk::Adjustment
*
_ctrl_adj
;
60
Gtk::Adjustment
_spin_adj
;
61
Gtk::SpinButton
_spinner
;
62
bool
_switching
;
63
bool
_switch_on_release
;
64
bool
_ctrl_ignore
;
65
bool
_spin_ignore
;
66
67
std::shared_ptr<PBD::Controllable>
_controllable
;
68
69
};
70
71
}
/* end namespace */
72
73
#endif
adjustment.h
alignment.h
ardour_button.h
ArdourWidgets::ArdourButton
Definition:
ardour_button.h:39
ArdourWidgets::ArdourSpinner
Definition:
ardour_spinner.h:34
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:63
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:65
ArdourWidgets::ArdourSpinner::entry_activated
void entry_activated()
ArdourWidgets::ArdourSpinner::watch_connection
PBD::ScopedConnection watch_connection
Definition:
ardour_spinner.h:46
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:64
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:59
ArdourWidgets::ArdourSpinner::_switching
bool _switching
Definition:
ardour_spinner.h:62
ArdourWidgets::ArdourSpinner::ctrl_adjusted
void ctrl_adjusted()
ArdourWidgets::ArdourSpinner::_controllable
std::shared_ptr< PBD::Controllable > _controllable
Definition:
ardour_spinner.h:67
ArdourWidgets::ArdourSpinner::_spinner
Gtk::SpinButton _spinner
Definition:
ardour_spinner.h:61
ArdourWidgets::ArdourSpinner::_btn
ArdourWidgets::ArdourButton _btn
Definition:
ardour_spinner.h:58
ArdourWidgets::ArdourSpinner::_spin_adj
Gtk::Adjustment _spin_adj
Definition:
ardour_spinner.h:60
Gtk::Adjustment
Definition:
adjustment.h:63
Gtk::Alignment
Definition:
alignment.h:62
Gtk::SpinButton
Definition:
spinbutton.h:127
PBD::ScopedConnection
Definition:
signals.h:236
controllable.h
ArdourWidgets
Definition:
ardour_ui.h:192
spinbutton.h
_GdkEventButton
Definition:
gdkevents.h:321
_GdkEventFocus
Definition:
gdkevents.h:400
_GdkEventScroll
Definition:
gdkevents.h:351
visibility.h
LIBWIDGETS_API
#define LIBWIDGETS_API
Definition:
widgets/widgets/visibility.h:39
libs
widgets
widgets
ardour_spinner.h
Generated on Wed Dec 25 2024 05:43:55 for Ardour by
1.9.1