#ifndef IRCCLIENT_H
#define IRCCLIENT_H
#include <QSplitter>
#include <QHash>
QT_FORWARD_DECLARE_CLASS(QLineEdit)
QT_FORWARD_DECLARE_CLASS(QListView)
QT_FORWARD_DECLARE_CLASS(QTextEdit)
QT_FORWARD_DECLARE_CLASS(QTextDocument)
class IrcClient : public QSplitter
{
    Q_OBJECT
public:
    IrcClient(QWidget* parent = 0);
    ~IrcClient();
private slots:
    void onConnected();
    void onConnecting();
    void onDisconnected();
    void onTextEdited();
    void onTextEntered();
    void onCompletion();
    void onCompleted(
const QString& text, 
int cursor);
 private:
    void createLayout();
    void createCompleter();
    void createParser();
    void createUserList();
    void createBufferList();
    void createConnection();
    QLineEdit* lineEdit;
    QTextEdit* textEdit;
    QListView* userList;
    QListView* bufferList;
};
#endif // IRCCLIENT_H