Source Code (Use browser search to find items of interest.)

Class Index

khexedit'CHexDrag (./kdeutils/khexedit/hexdrag.h:28)

class CHexDrag : public QDragObject
{
  Q_OBJECT

  public:
    CHexDrag( const QByteArray &data, QWidget *dragSource = 0, 
	      const char *name = 0 );
    CHexDrag( QWidget *dragSource = 0, const char *name = 0 );

    void setData( const QByteArray &data );
    const char* format ( int i ) const; 
    QByteArray encodedData( const char *fmt ) const;


    static bool canDecode( const QMimeSource *e );  
    static bool decode( const QMimeSource *e, QByteArray &dest );  

  private:
    void prepPixmap( void );

  private:
    QByteArray mData;

};


khexedit'CHexDrag::CHexDrag() (./kdeutils/khexedit/hexdrag.cc:28)

CHexDrag::CHexDrag( const QByteArray &data, QWidget *dragSource,
		    const char *name )
  :QDragObject(dragSource,name)
{
  setData( data );
  prepPixmap();
}



khexedit'CHexDrag::CHexDrag() (./kdeutils/khexedit/hexdrag.cc:37)

CHexDrag::CHexDrag( QWidget *dragSource, const char *name )
  :QDragObject(dragSource,name)
{
  prepPixmap();
}



khexedit'CHexDrag::setData() (./kdeutils/khexedit/hexdrag.cc:44)

void CHexDrag::setData( const QByteArray &data )
{
  mData = data;
}




khexedit'CHexDrag::prepPixmap() (./kdeutils/khexedit/hexdrag.cc:51)

void CHexDrag::prepPixmap(void)
{
  //
  // Wont use it yet,
  //
  /*
  KIconLoader &loader = *KGlobal::iconLoader();
  QPixmap pix = loader.loadIcon( "binary.xpm" );

  QPoint hotspot( pix.width()-20,pix.height()/2 );
  setPixmap( pix, hotspot ); 
  */
}



khexedit'CHexDrag::format() (./kdeutils/khexedit/hexdrag.cc:66)

const char *CHexDrag::format( int i ) const
{
  if( i == 0 )
  {
    return( mediaString );
  }
  else
  {
    return( 0 );
  }
  return( i == 0 ? mediaString : 0 );
}



khexedit'CHexDrag::encodedData() (./kdeutils/khexedit/hexdrag.cc:80)

QByteArray CHexDrag::encodedData( const char *fmt ) const
{
  if( fmt != 0 )
  {
    if( strcmp( fmt, mediaString) == 0 )
    {
      return( mData );
    }
  }

  QByteArray buf;
  return( buf );
}



khexedit'CHexDrag::canDecode() (./kdeutils/khexedit/hexdrag.cc:95)

bool CHexDrag::canDecode( const QMimeSource *e )
{
  return( e->provides(mediaString) );
}



khexedit'CHexDrag::decode() (./kdeutils/khexedit/hexdrag.cc:101)

bool CHexDrag::decode( const QMimeSource *e, QByteArray &dest )
{
  dest = e->encodedData(mediaString);
  return( dest.size() == 0 ? false : true );

  //
  // I get an 
  // "X Error: BadAtom (invalid Atom parameter) 5
  //   Major opcode:  17"
  //
  // if I try to use the code below on a source that has been 
  // collected from QClipboard. It is the e->provides(mediaString)
  // that fail (Qt-2.0). Sometimes it works :(
  //
  // printf("0: %s\n", e->format(0) ); No problem. 
  // printf("1: %s\n", e->format(1) ); Crash. 
  //
  #if 0
  if( e->provides(mediaString) == true )
  {
    dest = e->encodedData(mediaString);
    return( true );
  }
  else
  {
    return( false );
  }
  #endif
}