//
//     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 KFileViewSignaler : QObject
{
%TypeHeaderCode
#include <kfileview.h>
%End


public:
    void                 activate (const KFileItem*);
    void                 highlightFile (const KFileItem*);
    void                 activateMenu (const KFileItem*, const QPoint&);
    void                 changeSorting (QDir::SortSpec);

%If ( KDE_3_2_0 -  )
    void                 dropURLs (const KFileItem*, QDropEvent*, const KURL::List&);
%End


signals:
    void                 dirActivated (const KFileItem*);
    void                 sortingChanged (QDir::SortSpec);
    void                 fileHighlighted (const KFileItem*);
    void                 fileSelected (const KFileItem*);
    void                 activatedMenu (const KFileItem*, const QPoint&);

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


};  // class KFileViewSignaler


class KFileView
{
%TypeHeaderCode
#include <kfileview.h>
%End


public:
                         KFileView ();
    void                 addItemList (const KFileItemList&);
    virtual QWidget*     widget ()  = 0;
//ig     QWidget*             widget () const;
    void                 setCurrentItem (const QString&);
    virtual void         setCurrentItem (const KFileItem*)  = 0;
    virtual KFileItem*   currentFileItem () const = 0;
    virtual void         clear ();
    virtual void         updateView (bool = 1);
    virtual void         updateView (const KFileItem*);
    virtual void         removeItem (const KFileItem*);
    virtual void         listingCompleted ();
    QDir::SortSpec       sorting () const;
    virtual void         setSorting (QDir::SortSpec);
    bool                 isReversed () const;
    void                 sortReversed ();
    uint                 count () const;
    uint                 numFiles () const;
    uint                 numDirs () const;
    virtual void         setSelectionMode (KFile::SelectionMode);
    virtual KFile::SelectionMode selectionMode () const;

    enum ViewMode
    {
        Files, 
        Directories, 
        All
    };

    virtual void         setViewMode (KFileView::ViewMode);
    virtual ViewMode     viewMode () const;
    QString              viewName ();
    void                 setViewName (const QString&);
    virtual void         setParentView (KFileView* /Transfer/);
    virtual void         insertItem (KFileItem*);
    virtual void         clearView ()  = 0;
    virtual void         ensureItemVisible (const KFileItem*)  = 0;
    virtual void         clearSelection ()  = 0;
    virtual void         selectAll ();
    virtual void         invertSelection ();
    virtual void         setSelected (const KFileItem*, bool)  = 0;
    virtual bool         isSelected (const KFileItem*) const = 0;
    const KFileItemList* selectedItems () const;
    const KFileItemList* items () const;
    virtual KFileItem*   firstFileItem () const = 0;
    virtual KFileItem*   nextItem (const KFileItem*) const = 0;
    virtual KFileItem*   prevItem (const KFileItem*) const = 0;
    void                 setOnlyDoubleClickSelectsFiles (bool);
    bool                 onlyDoubleClickSelectsFiles () const;
    bool                 updateNumbers (const KFileItem*);
    virtual KActionCollection* actionCollection () const;
    KFileViewSignaler*   signaler () const;
    virtual void         readConfig (KConfig*, const QString& = QString ::null );
    virtual void         writeConfig (KConfig*, const QString& = QString ::null );

%If ( KDE_3_2_0 -  )

    enum DropOptions
    {
        AutoOpenDirs
    };

    void                 setDropOptions (int);
    int                  dropOptions ();
%End

    static QString       sortingKey (const QString&, bool, int);
    static QString       sortingKey (KIO::filesize_t, bool, int);

%If ( KDE_3_2_0 -  )
    static int           autoOpenDelay ();
%End


protected:

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

%If ( KDE_3_2_0 -  )
    void                 setDropOptions_impl (int);
%End


};  // class KFileView