//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

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

// PyKDE4 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 program.  If not, see <http://www.gnu.org/licenses/>.


class KLineEdit : QLineEdit, KCompletionBase
{
%TypeHeaderCode
#include <klineedit.h>
%End


public:
    explicit                KLineEdit (const QString& string, QWidget* parent /TransferThis/ = 0);
    explicit                KLineEdit (QWidget* parent /TransferThis/ = 0);
    void                    setUrl (const KUrl& url);
    virtual void            setCompletionMode (KGlobalSettings::Completion mode);
    void                    setCompletionModeDisabled (KGlobalSettings::Completion mode, bool disable = 1);
    virtual void            setContextMenuEnabled (bool showMenu);
    bool                    isContextMenuEnabled () const;
    void                    setUrlDropsEnabled (bool enable);
    bool                    urlDropsEnabled () const;
    void                    setTrapReturnKey (bool trap);
    bool                    trapReturnKey () const;
    KCompletionBox*         completionBox (bool create = 1);
    virtual void            setCompletionObject (KCompletion*, bool hsig = 1);
    virtual void            copy () const;
    void                    setSqueezedTextEnabled (bool enable);
    bool                    isSqueezedTextEnabled () const;
    QString                 originalText () const;
    QString                 userText () const;
    void                    setCompletionBox (KCompletionBox* box);
    void                    setClickMessage (const QString& msg);
    QString                 clickMessage () const;
    void                    setClearButtonShown (bool show);
    bool                    isClearButtonShown () const;
    QSize                   clearButtonUsedSize () const;
    void                    doCompletion (const QString& txt);

signals:
    void                    completionBoxActivated (const QString&);
    void                    returnPressed (const QString&);
    void                    completion (const QString&);
    void                    substringCompletion (const QString&);
    void                    userTextChanged (const QString&);
    void                    textRotation (KCompletionBase::KeyBindingType);
    void                    completionModeChanged (KGlobalSettings::Completion);
    void                    aboutToShowContextMenu (QMenu* p);
    void                    clearButtonClicked ();

public:
    virtual void            setReadOnly (bool);
    void                    rotateText (KCompletionBase::KeyBindingType type);
    virtual void            setCompletedText (const QString&);
    void                    setCompletedItems (const QStringList& items, bool autoSuggest = 1);
    virtual void            clear ();
    void                    setSqueezedText (const QString& text);
    virtual void            setText (const QString&);
    void                    setPasswordMode (bool b = 1);
    bool                    passwordMode () const;

protected:
    virtual void            makeCompletion (const QString&);
    void                    userCancelled (const QString& cancelText);
    virtual bool            event (QEvent*);
    virtual void            resizeEvent (QResizeEvent*);
    virtual void            keyPressEvent (QKeyEvent*);
    virtual void            mousePressEvent (QMouseEvent*);
    virtual void            mouseReleaseEvent (QMouseEvent*);
    virtual void            mouseDoubleClickEvent (QMouseEvent*);
    virtual void            contextMenuEvent (QContextMenuEvent*);
    QMenu*                  createStandardContextMenu ();
    virtual void            dropEvent (QDropEvent*);
    virtual void            setCompletedText (const QString&, bool);
    void                    setUserSelection (bool userSelection);
    virtual void            create (WId = 0, bool initializeWindow = 1, bool destroyOldWindow = 1);
    bool                    autoSuggest () const;
    virtual void            paintEvent (QPaintEvent* ev);
    virtual void            focusInEvent (QFocusEvent* ev);
    virtual void            focusOutEvent (QFocusEvent* ev);
};   // KLineEdit


