ardour
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
gtk2_ardour
button_joiner.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2012 Paul Davis
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
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18
*/
19
20
#ifndef __gtk2_ardour_button_joiner_h__
21
#define __gtk2_ardour_button_joiner_h__
22
23
#include <gtkmm/box.h>
24
#include <gtkmm/alignment.h>
25
#include <gtkmm/action.h>
26
27
#include "
gtkmm2ext/activatable.h
"
28
#include "
gtkmm2ext/cairo_widget.h
"
29
30
class
ButtonJoiner
:
public
CairoWidget
,
public
Gtkmm2ext::Activatable
{
31
public
:
32
ButtonJoiner
(
const
std::string&, Gtk::Widget&, Gtk::Widget&,
bool
central_link
=
false
);
33
~ButtonJoiner
();
34
35
void
set_related_action
(Glib::RefPtr<Gtk::Action>);
36
void
set_active_state
(Gtkmm2ext::ActiveState);
37
38
protected
:
39
void
render
(cairo_t*, cairo_rectangle_t*);
40
bool
on_button_release_event
(GdkEventButton*);
41
void
on_size_request
(Gtk::Requisition*);
42
void
on_size_allocate
(Gtk::Allocation&);
43
44
void
action_sensitivity_changed
();
45
void
action_visibility_changed
();
46
void
action_tooltip_changed
();
47
void
action_toggled
();
48
49
private
:
50
Gtk::Widget&
left
;
51
Gtk::Widget&
right
;
52
Gtk::HBox
packer
;
53
Gtk::Alignment
align
;
54
std::string
name
;
55
cairo_pattern_t*
active_fill_pattern
;
56
cairo_pattern_t*
inactive_fill_pattern
;
57
bool
central_link
;
58
double
border_r
;
59
double
border_g
;
60
double
border_b
;
61
void
set_colors
();
62
};
63
64
#endif
/* __gtk2_ardour_button_joiner_h__ */
ButtonJoiner::render
void render(cairo_t *, cairo_rectangle_t *)
Definition:
button_joiner.cc:102
ButtonJoiner::active_fill_pattern
cairo_pattern_t * active_fill_pattern
Definition:
button_joiner.h:55
ButtonJoiner::on_button_release_event
bool on_button_release_event(GdkEventButton *)
Definition:
button_joiner.cc:160
ButtonJoiner::on_size_request
void on_size_request(Gtk::Requisition *)
Definition:
button_joiner.cc:170
ButtonJoiner::align
Gtk::Alignment align
Definition:
button_joiner.h:53
ButtonJoiner::packer
Gtk::HBox packer
Definition:
button_joiner.h:52
ButtonJoiner::action_visibility_changed
void action_visibility_changed()
Definition:
button_joiner.cc:208
ButtonJoiner::border_r
double border_r
Definition:
button_joiner.h:58
ButtonJoiner::right
Gtk::Widget & right
Definition:
button_joiner.h:51
CairoWidget
Definition:
cairo_widget.h:32
ButtonJoiner::set_colors
void set_colors()
Definition:
button_joiner.cc:245
ButtonJoiner::on_size_allocate
void on_size_allocate(Gtk::Allocation &)
Definition:
button_joiner.cc:153
ButtonJoiner::set_related_action
void set_related_action(Glib::RefPtr< Gtk::Action >)
Definition:
button_joiner.cc:176
ButtonJoiner::action_tooltip_changed
void action_tooltip_changed()
Definition:
button_joiner.cc:218
ButtonJoiner
Definition:
button_joiner.h:30
Gtkmm2ext::Activatable
Definition:
activatable.h:35
ButtonJoiner::ButtonJoiner
ButtonJoiner(const std::string &, Gtk::Widget &, Gtk::Widget &, bool central_link=false)
Definition:
button_joiner.cc:35
ButtonJoiner::set_active_state
void set_active_state(Gtkmm2ext::ActiveState)
Definition:
button_joiner.cc:235
ButtonJoiner::border_g
double border_g
Definition:
button_joiner.h:59
ButtonJoiner::name
std::string name
Definition:
button_joiner.h:54
ButtonJoiner::~ButtonJoiner
~ButtonJoiner()
Definition:
button_joiner.cc:93
activatable.h
ButtonJoiner::inactive_fill_pattern
cairo_pattern_t * inactive_fill_pattern
Definition:
button_joiner.h:56
ButtonJoiner::central_link
bool central_link
Definition:
button_joiner.h:57
cairo_widget.h
ButtonJoiner::action_toggled
void action_toggled()
Definition:
button_joiner.cc:225
ButtonJoiner::border_b
double border_b
Definition:
button_joiner.h:60
ButtonJoiner::left
Gtk::Widget & left
Definition:
button_joiner.h:50
ButtonJoiner::action_sensitivity_changed
void action_sensitivity_changed()
Definition:
button_joiner.cc:197
Generated on Sun May 24 2015 12:15:02 for ardour by
1.8.8