//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module kfile  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


class KFileTreeViewToolTip : QToolTip
{
%TypeHeaderCode
#include <kfiletreeview.h>
%End


public:
                         KFileTreeViewToolTip (QListView*);

protected:
    virtual void         maybeTip (const QPoint&);

};  // class KFileTreeViewToolTip


class KFileTreeView : KListView
{
%TypeHeaderCode
#include <kfiletreeview.h>
%End


public:
                         KFileTreeView (QWidget* /TransferThis/, const char* = 0);
    KFileTreeViewItem*   currentKFileTreeViewItem () const;
    KURL                 currentURL () const;
    KFileTreeBranch*     addBranch (const KURL&, const QString&, bool = 0);
    virtual KFileTreeBranch* addBranch (const KURL&, const QString&, const QPixmap&, bool = 0);
    virtual KFileTreeBranch* addBranch (KFileTreeBranch*);
    virtual bool         removeBranch (KFileTreeBranch*);
    KFileTreeBranch*     branch (const QString&);
    KFileTreeBranchList& branches ();
    virtual void         setDirOnlyMode (KFileTreeBranch*, bool);
    KFileTreeViewItem*   findItem (KFileTreeBranch*, const QString&);
    KFileTreeViewItem*   findItem (const QString&, const QString&);
    bool                 showFolderOpenPixmap () const;

public slots:
    virtual void         setShowFolderOpenPixmap (bool = 1);

protected:
    virtual bool         acceptDrag (QDropEvent*) const;
    virtual QDragObject* dragObject ();
    virtual void         startAnimation (KFileTreeViewItem*, const char* = "kde", uint = 6);
    virtual void         stopAnimation (KFileTreeViewItem*);
    virtual void         contentsDragEnterEvent (QDragEnterEvent*);
    virtual void         contentsDragMoveEvent (QDragMoveEvent*);
    virtual void         contentsDragLeaveEvent (QDragLeaveEvent*);
    virtual void         contentsDropEvent (QDropEvent*);

protected slots:
    virtual void         slotNewTreeViewItems (KFileTreeBranch*, KFileTreeViewItemList&);
    virtual void         slotSetNextUrlToSelect (const KURL&);
    virtual QPixmap      itemIcon (KFileTreeViewItem*, int = 0) const;

signals:
    void                 onItem (const QString&);
    void                 dropped (QWidget*, QDropEvent*);
    void                 dropped (QWidget*, QDropEvent*, KURL::List&);
    void                 dropped (KURL::List&, KURL&);

%If ( KDE_3_2_0 -  )
    void                 dropped (QWidget*, QDropEvent*, KURL::List&, KURL&);
%End

    void                 dropped (QDropEvent*, QListViewItem*);
    void                 dropped (KFileTreeView*, QDropEvent*, QListViewItem*);
    void                 dropped (QDropEvent*, QListViewItem*, QListViewItem*);
    void                 dropped (KFileTreeView*, QDropEvent*, QListViewItem*, QListViewItem*);

protected:

protected:
//igx     virtual void         virtual_hook (int, void*);
//force

private:
    void                 slotOnItem (QListViewItem*);
//end

};  // class KFileTreeView

