PulseView
0.3.0
A Qt-based sigrok GUI
Main Page
Namespaces
Classes
Files
File List
File Members
popuptoolbutton.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of the PulseView project.
3
*
4
* Copyright (C) 2013 Joel Holdsworth <joel@airwebreathe.org.uk>
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#include <assert.h>
22
23
#include "
popuptoolbutton.hpp
"
24
25
namespace
pv
{
26
namespace
widgets {
27
28
PopupToolButton::PopupToolButton
(QWidget *parent) :
29
QToolButton(parent),
30
popup_(nullptr)
31
{
32
connect(
this
, SIGNAL(clicked(
bool
)),
this
, SLOT(
on_clicked
(
bool
)));
33
}
34
35
Popup
*
PopupToolButton::popup
()
const
36
{
37
return
popup_
;
38
}
39
40
void
PopupToolButton::set_popup
(
Popup
*popup)
41
{
42
assert(popup);
43
popup_
=
popup
;
44
}
45
46
void
PopupToolButton::on_clicked
(
bool
)
47
{
48
if
(!
popup_
)
49
return
;
50
51
const
QRect r = rect();
52
popup_
->
set_position
(mapToGlobal(QPoint((r.left() + r.right()) / 2,
53
((r.top() + r.bottom() * 3) / 4))),
Popup::Bottom
);
54
popup_
->
show
();
55
}
56
57
}
// widgets
58
}
// pv
pv
Definition:
assetreader.hpp:25
pv::widgets::Popup::set_position
void set_position(const QPoint point, Position pos)
Definition:
popup.cpp:59
popuptoolbutton.hpp
pv::widgets::PopupToolButton::set_popup
void set_popup(Popup *popup)
Definition:
popuptoolbutton.cpp:40
pv::widgets::Popup::show
void show()
Definition:
popup.cpp:88
pv::widgets::PopupToolButton::on_clicked
void on_clicked(bool)
Definition:
popuptoolbutton.cpp:46
pv::widgets::PopupToolButton::PopupToolButton
PopupToolButton(QWidget *parent)
Definition:
popuptoolbutton.cpp:28
pv::widgets::Popup::Bottom
Definition:
popup.hpp:39
pv::widgets::PopupToolButton::popup
Popup * popup() const
Definition:
popuptoolbutton.cpp:35
pv::widgets::PopupToolButton::popup_
Popup * popup_
Definition:
popuptoolbutton.hpp:46
pv::widgets::Popup
Definition:
popup.hpp:29
pv
widgets
popuptoolbutton.cpp
Generated on Sat Jan 30 2016 00:46:41 for PulseView by
1.8.9.1