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


//                 Generated by preSip
//            module kutils  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.


%If ( KDE_3_3_0 -  )

class KFind : QObject
{
%TypeHeaderCode
#include <kfind.h>
%End


public:
                         KFind (const QString&, long, QWidget*);
                         KFind (const QString&, long, QWidget*, QWidget*);

    enum Result
    {
        NoMatch, 
        Match
    };

    bool                 needData () const;
    void                 setData (const QString&, int = -1);
    void                 setData (int, const QString&, int = -1);
    KFind::Result        find ();
    long                 options () const;
    virtual void         setOptions (long);
    QString              pattern () const;
    void                 setPattern (const QString&);
    int                  numMatches () const;
    virtual void         resetCounts ();
    virtual bool         validateMatch (const QString&, int, int);
    virtual bool         shouldRestart (bool = 0, bool = 1) const;
    static int           find (const QString&, const QString&, int, long, int*);
    static int           find (const QString&, const QRegExp&, int, long, int*);
    virtual void         displayFinalDialog () const;
    KDialogBase*         findNextDialog (bool = 0);
    void                 closeFindNextDialog ();
    int                  index () const;

signals:
    void                 highlight (const QString&, int, int);
    void                 highlight (int, int, int);
    void                 findNext ();
    void                 optionsChanged ();
    void                 dialogClosed ();

protected:
    QWidget*             parentWidget () const;
    QWidget*             dialogsParent () const;

protected slots:
    void                 slotFindNext ();
    void                 slotDialogClosed ();

};  // class KFind

%End

