21#include "kexidragobjects.h"
24#include <tqdatastream.h>
30 const TQString& field, TQWidget *parent, const char *name)
31 : TQStoredDrag( "kexi/field", parent, name)
34 TQDataStream stream1(data,IO_WriteOnly);
35 stream1 << sourceMimeType << sourceName << field;
40 const TQStringList& fields, TQWidget *parent, const char *name)
41 : TQStoredDrag((fields.count() > 1) ? "kexi/fields" : "kexi/field", parent, name)
44 TQDataStream stream1(data,IO_WriteOnly);
45 if (fields.count() > 1)
46 stream1 << sourceMimeType << sourceName << fields;
49 if (fields.count() == 1)
50 field = fields.first();
52 kexidbg << "KexiFieldDrag::KexiFieldDrag(): fields list is empty!" << endl;
53 stream1 << sourceMimeType << sourceName << field;
58KexiFieldDrag::~KexiFieldDrag()
65 return e->provides( "kexi/field");
71 return e->provides( "kexi/field") || e->provides( "kexi/fields");
76 TQString& sourceName, TQString& field )
78 TQByteArray payload( e->data( "kexi/field") );
79 if (payload.isEmpty())
82 TQDataStream stream1(payload, IO_ReadOnly);
83 stream1 >> sourceMimeType;
84 stream1 >> sourceName;
92 TQString& sourceName, TQStringList& fields )
94 TQByteArray payload( e->data( "kexi/fields") );
95 if (payload.isEmpty()) {
100 fields.append(field);
104 TQDataStream stream1(payload, IO_ReadOnly);
105 stream1 >> sourceMimeType;
106 stream1 >> sourceName;
114KexiDataProviderDrag::KexiDataProviderDrag( const TQString& sourceMimeType, const TQString& sourceName,
115 TQWidget *parent, const char *name)
116 : TQStoredDrag( "kexi/dataprovider", parent, name)
119 TQDataStream stream1(data,IO_WriteOnly);
120 stream1 << sourceMimeType << sourceName;
121 setEncodedData(data);
126KexiDataProviderDrag::canDecode(TQDragMoveEvent *e)
128 return e->provides( "kexi/dataprovider");
132KexiDataProviderDrag::decode( TQDropEvent* e, TQString& sourceMimeType, TQString& sourceName)
135 TQByteArray payload = e->data( "kexidataprovider");
139 TQDataStream stream1(payload, IO_ReadOnly);
140 stream1 >> sourceMimeType;
141 stream1 >> sourceName;
static bool canDecodeMultiple(TQMimeSource *e)
static bool canDecodeSingle(TQMimeSource *e)
KexiFieldDrag(const TQString &sourceMimeType, const TQString &sourceName, const TQString &field, TQWidget *parent, const char *name) implementation of KexiFieldDrag
static bool decodeSingle(TQDropEvent *e, TQString &sourceMimeType, TQString &sourceName, TQString &field)
static bool decodeMultiple(TQDropEvent *e, TQString &sourceMimeType, TQString &sourceName, TQStringList &fields)
|