aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/eventeditor/EventEditorWindow.h
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2011-01-01 20:19:56 +0000
committerGravatar Szymon Tomasz Stefanek2011-01-01 20:19:56 +0000
commitc601b5a27f74b16158adafe429faefbe573e64a2 (patch)
treea3cde3206a45628f8ac86e8dfbdab70b20c3a831 /src/modules/eventeditor/EventEditorWindow.h
parentprobable compilation fix for rijndaled/crypto++ (diff)
downloadKVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.tar.gz
KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.tar.bz2
KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.zip
The big rename for modules. Still some details remaining.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5284 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/eventeditor/EventEditorWindow.h')
-rw-r--r--src/modules/eventeditor/EventEditorWindow.h136
1 files changed, 136 insertions, 0 deletions
diff --git a/src/modules/eventeditor/EventEditorWindow.h b/src/modules/eventeditor/EventEditorWindow.h
new file mode 100644
index 000000000..cd0b0f105
--- /dev/null
+++ b/src/modules/eventeditor/EventEditorWindow.h
@@ -0,0 +1,136 @@
+#ifndef _EVENTEDITOR_H_
+#define _EVENTEDITOR_H_
+//=============================================================================
+//
+// File : EventEditorWindow.h
+// Creation date : Mon Dec 23 2002 20:24:55 CEST by Szymon Stefanek
+//
+// This file is part of the KVIrc irc client distribution
+// Copyright (C) 2002-2010 Szymon Stefanek (pragma at kvirc dot net)
+//
+// This program is FREE software. You can redistribute it and/or
+// modify it under the linkss of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your opinion) 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 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.
+//
+//=============================================================================
+
+#include "KviWindow.h"
+#include "KviCString.h"
+#include "KviTalPopupMenu.h"
+
+#include <QWidget>
+#include <QLineEdit>
+#include <QTreeWidget>
+
+class KviScriptEditor;
+
+class EventEditorEventTreeWidgetItem : public QTreeWidgetItem
+{
+public:
+ unsigned int m_uEventIdx;
+ QString m_szName;
+ QString m_szParams;
+public:
+ EventEditorEventTreeWidgetItem(QTreeWidget * par,unsigned int uEvIdx,const QString &name,const QString &params);
+ ~EventEditorEventTreeWidgetItem() {};
+public:
+ void setName(const QString &szName);
+ QString name() const { return m_szName; };
+};
+
+class EventEditorHandlerTreeWidgetItem : public QTreeWidgetItem
+{
+public:
+ QString m_szName;
+ QString m_szBuffer;
+ bool m_bEnabled;
+ int m_cPos;
+public:
+ EventEditorHandlerTreeWidgetItem(QTreeWidgetItem * par,const QString &name,const QString &buffer,bool bEnabled);
+ ~EventEditorHandlerTreeWidgetItem() {};
+public:
+ const int & cursorPosition(){return m_cPos; };
+ void setCursorPosition(const int &cPos){qDebug("set cursor to %d",cPos); m_cPos = cPos; };
+
+ void setName(const QString &szName);
+ QString name() const { return m_szName; };
+ void setEnabled(const bool bEnabled);
+};
+
+class EventEditorTreeWidget : public QTreeWidget
+{
+ Q_OBJECT
+public:
+ EventEditorTreeWidget(QWidget*);
+ ~EventEditorTreeWidget(){};
+protected:
+
+ void mousePressEvent (QMouseEvent *e);
+signals:
+ void rightButtonPressed(QTreeWidgetItem *,QPoint);
+};
+
+class EventEditor : public QWidget
+{
+ Q_OBJECT
+public:
+ EventEditor(QWidget * par);
+ ~EventEditor();
+public:
+ KviScriptEditor * m_pEditor;
+ EventEditorTreeWidget * m_pTreeWidget;
+ QLineEdit * m_pNameEditor;
+ KviTalPopupMenu * m_pContextPopup;
+ EventEditorHandlerTreeWidgetItem * m_pLastEditedItem;
+ bool m_bOneTimeSetupDone;
+public:
+ void commit();
+ void saveLastEditedItem();
+ void getUniqueHandlerName(EventEditorEventTreeWidgetItem *it,QString &buffer);
+ void getExportEventBuffer(QString &szBuffer,EventEditorHandlerTreeWidgetItem * it);
+protected slots:
+ void currentItemChanged(QTreeWidgetItem *it,QTreeWidgetItem *);
+ void itemPressed(QTreeWidgetItem *it,const QPoint &pnt);
+ void toggleCurrentHandlerEnabled();
+ void removeCurrentHandler();
+ void addHandlerForCurrentEvent();
+ void exportAllEvents();
+ void exportCurrentHandler();
+ void eventHandlerDisabled(const QString &szName);
+protected:
+ void showEvent(QShowEvent *e);
+private:
+ void oneTimeSetup();
+};
+
+class EventEditorWindow : public KviWindow
+{
+ Q_OBJECT
+public:
+ EventEditorWindow(KviMainWindow * lpFrm);
+ ~EventEditorWindow();
+protected:
+ EventEditor * m_pEditor;
+protected:
+ virtual QPixmap * myIconPtr();
+ virtual void fillCaptionBuffers();
+ virtual void getConfigGroupName(QString &szName);
+ virtual void saveProperties(KviConfigurationFile *);
+ virtual void loadProperties(KviConfigurationFile *);
+protected slots:
+ void cancelClicked();
+ void okClicked();
+ void applyClicked();
+};
+
+#endif //_EVENTEDITOR_H_