20#include "karbon_drag.h"
24#include <tqtextstream.h>
28TQCString KarbonDrag::m_encodeFormats[NumEncodeFmts];
29TQCString KarbonDrag::m_decodeFormats[NumDecodeFmts];
31KarbonDrag::KarbonDrag( TQWidget *dragSource,
const char *name )
32 : TQDragObject( dragSource, name )
34 m_encodeFormats[0] =
"application/vnd.kde.karbon";
35 m_decodeFormats[0] =
"application/vnd.kde.karbon";
39KarbonDrag::format(
int i )
const
41 if( i < NumEncodeFmts ) {
42 return m_encodeFormats[i];
49KarbonDrag::encodedData(
const char* mimetype )
const
53 if( m_encodeFormats[0] == mimetype )
55 VObjectListIterator itr( m_objects );
57 TQDomDocument doc(
"clip" );
58 TQDomElement elem = doc.createElement(
"clip" );
59 TQTextStream ts( result, IO_WriteOnly );
61 for( ; itr.current() ; ++itr )
62 itr.current()->save( elem );
71KarbonDrag::canDecode( TQMimeSource* e)
73 for(
int i = 0; i < NumDecodeFmts; i++ )
75 if( e->provides( m_decodeFormats[i] ) )
83KarbonDrag::decode( TQMimeSource* e, VObjectList& sl,
VDocument& vdoc )
85 if( e->provides( m_decodeFormats[0] ) )
87 TQDomDocument doc(
"clip" );
88 TQByteArray data = e->encodedData( m_decodeFormats[0] );
89 doc.setContent( TQCString( data, data.size()+1 ) );
90 TQDomElement clip = doc.documentElement();
92 if( clip.tagName() ==
"clip" )
96 VObjectListIterator itr( grp.objects() );
97 for( ; itr.current() ; ++itr )
99 VObject *obj = itr.current()->clone();
112KarbonDrag::setObjectList( VObjectList l )
114 VObjectListIterator itr( l );
117 for( ; itr.current() ; ++itr )
118 m_objects.append( itr.current()->clone() );
121#include "karbon_drag.moc"
All non-visual, static doc info is in here.
void setParent(VObject *parent)
Sets a new parent object.