PulseView  unreleased development snapshot
A Qt-based sigrok GUI
exportmenu.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of the PulseView project.
3  *
4  * Copyright (C) 2015 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, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef PULSEVIEW_PV_WIDGETS_EXPORTMENU_HPP
21 #define PULSEVIEW_PV_WIDGETS_EXPORTMENU_HPP
22 
23 #include <memory>
24 
25 #include <QMenu>
26 #include <QSignalMapper>
27 
28 using std::shared_ptr;
29 using std::vector;
30 
31 namespace sigrok {
32 class Context;
33 class OutputFormat;
34 }
35 
36 namespace pv {
37 namespace widgets {
38 
39 class ExportMenu : public QMenu
40 {
41  Q_OBJECT;
42 
43 public:
44  ExportMenu(QWidget *parent, shared_ptr<sigrok::Context> context,
45  vector<QAction *>open_actions = vector<QAction *>());
46 
47 private Q_SLOTS:
48  void on_action(QObject *action);
49 
50 Q_SIGNALS:
51  void format_selected(shared_ptr<sigrok::OutputFormat> format);
52 
53 private:
54  shared_ptr<sigrok::Context> context_;
55  QSignalMapper mapper_;
56 };
57 
58 } // namespace widgets
59 } // namespace pv
60 
61 #endif // PULSEVIEW_PV_WIDGETS_EXPORTMENU_HPP
libsigrok allows users to import and export data from files in various formats some of them as generic as others very specific For a list and make sure to check not so common and outright exotic ways to represent data and sigrok tries to suit as many needs as it can To see which formats your version of PulseView just click on the small arrow next to the _Open_ PulseView will ask for the file name to open Once you picked the you may be asked to specify the details of the format
QSignalMapper mapper_
Definition: exportmenu.hpp:55
shared_ptr< sigrok::Context > context_
Definition: exportmenu.hpp:54