kwave  18.07.70
Drag.h
Go to the documentation of this file.
1 /***************************************************************************
2  Drag.h - Drag&Drop container for Kwave's audio data
3  -------------------
4  begin : Jan 24 2002
5  copyright : (C) 2002 by Thomas Eschenbacher
6  email : Thomas Eschenbacher <thomas.eschenbacher@gmx.de>
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef DRAG_H
19 #define DRAG_H
20 
21 #include "config.h"
22 
23 #include <QtGlobal>
24 #include <QByteArray>
25 #include <QDrag>
26 #include <QObject>
27 #include <QString>
28 
29 #include "libkwave/Sample.h"
30 
31 class QMimeData;
32 class QWidget;
33 
34 namespace Kwave
35 {
36 
37  class MetaDataList;
38  class MultiTrackReader;
39  class SignalManager;
40 
46  class Q_DECL_EXPORT Drag: public QDrag
47  {
48  Q_OBJECT
49 
50  public:
55  explicit Drag(QWidget *dragSource = Q_NULLPTR);
56 
58  virtual ~Drag();
59 
69  bool encode(QWidget *widget, Kwave::MultiTrackReader &src,
70  const Kwave::MetaDataList &meta_data);
71 
73  static bool canDecode(const QMimeData *data);
74 
84  static sample_index_t decode(QWidget *widget, const QMimeData *e,
86  sample_index_t pos);
87 
88  };
89 }
90 
91 #endif /* DRAG_H */
92 
93 //***************************************************************************
94 //***************************************************************************
Definition: App.h:33
quint64 sample_index_t
Definition: Sample.h:28
static bool canDecode(const QMimeData *source)
Definition: FileDrag.h:34