// Copyright 2008 Simon Edwards <simon@simonzone.com>

//                 Generated by twine

// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU Library General Public License as
// published by the Free Software Foundation; either version 2, or
// (at your option) any later version.

// This program 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 Library General Public
// License along with this program; if not, write to the
// Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.


namespace Plasma
{

class QueryMatch
{
%TypeHeaderCode
#include <plasma/querymatch.h>
%End


public:

    enum Type
    {
        NoMatch,
        CompletionMatch,
        PossibleMatch,
        InformationalMatch,
        HelperMatch,
        ExactMatch
    };

    explicit                QueryMatch (Plasma::AbstractRunner* runner);
                            QueryMatch (const Plasma::QueryMatch& other);
    bool                    operator < (const Plasma::QueryMatch& other) const;
    Plasma::AbstractRunner*  runner () const;
    bool                    isValid () const;
    void                    setType (Plasma::QueryMatch::Type type);
    Plasma::QueryMatch::Type  type () const;
    void                    setRelevance (qreal relevance);
    qreal                   relevance () const;
    void                    run (const Plasma::RunnerContext& context) const;
    void                    setData (const QVariant& data);
    QVariant                data () const;
    void                    setId (const QString& id);
    QString                 id () const;
    void                    setText (const QString& text);
    QString                 text () const;
    void                    setSubtext (const QString& text);
    QString                 subtext () const;
    void                    setIcon (const QIcon& icon);
    QIcon                   icon () const;
    void                    setEnabled (bool enable);
    bool                    isEnabled () const;
    QAction*                selectedAction () const;
    void                    setSelectedAction (QAction* action);
    bool                    hasConfigurationInterface () const;
    void                    createConfigurationInterface (QWidget* parent /Transfer/);
};   // QueryMatch

};   // Plasma


