summaryrefslogtreecommitdiffstats
path: root/quanta/dialogs/tagdialogs/tagdialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'quanta/dialogs/tagdialogs/tagdialog.h')
-rw-r--r--quanta/dialogs/tagdialogs/tagdialog.h102
1 files changed, 102 insertions, 0 deletions
diff --git a/quanta/dialogs/tagdialogs/tagdialog.h b/quanta/dialogs/tagdialogs/tagdialog.h
new file mode 100644
index 00000000..67809bb0
--- /dev/null
+++ b/quanta/dialogs/tagdialogs/tagdialog.h
@@ -0,0 +1,102 @@
+/***************************************************************************
+ tagdialog.h - description
+ -------------------
+ begin : Sat Apr 1 2000
+ copyright : (C) 2000 by Yacovlev Alexander & Dmitry Poplavsky <pdima@mail.univ.kiev.ua>
+ (C) 2002-2003 by Andras Mantia <amantia@kde.org>
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program 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. *
+ * *
+ ***************************************************************************/
+
+#ifndef TAGDIALOG_H
+#define TAGDIALOG_H
+
+#include <qwidget.h>
+#include <qtabdialog.h>
+#include <qdict.h>
+#include <qstrlist.h>
+
+#include "resource.h"
+
+/**class for insert/edit tags
+ *@author Yacovlev Alexander & Dmitry Poplavsky & Andras Mantia
+ */
+
+class Document;
+class TagWidget;
+class Tagxml;
+class QTag;
+class Tag;
+class KURL;
+class QShowEvent;
+
+class TagDialog : public QTabDialog {
+ Q_OBJECT
+
+public:
+ /**
+ constructor: edit tag if "tag" == 0L or insert new tag if tag != 0L
+ attr format: "attr1='value1' attr2='value2'..."
+ insertInLine :
+ true : <a></a>
+ false: <a>
+ </a>
+
+ */
+ TagDialog(QTag* dtdTag, Tag* tag, KURL a_baseURL = KURL());
+ TagDialog(QTag* dtdTag, Tag* tag, const QString& selection, KURL a_baseURL = KURL());
+ TagDialog(QTag* dtdTag, QString attrs=QString::null, KURL a_baseURL = KURL());
+ TagDialog(QTag* dtdTag, const QString& selection, QString attrs=QString::null, KURL a_baseURL = KURL());
+ ~TagDialog();
+ /** Insert an attribute to dict*/
+ void insertAttribute(QString *attr, QString *value);
+ /** */
+ void parseTag();
+ /** returen doc path */
+ KURL baseURL();
+
+
+ /** Return the attributes in QDict<QString> format*/
+ QDict<QString> * getAttributes();
+ /** Return all the attributes in one string*/
+ QString getAttributeString();
+ /**Return the value of the attribute specified by attr. */
+ QString getAttribute(const QString& attr);
+ /** Insert the new tag into the Document*/
+ void insertTag(Document *w, bool insertInLine = true);
+ /** build and return the new Node.*/
+ Node *buildNode(Document *w);
+
+public:
+
+ QWidget *mainDlg;
+
+ QDict<QString> *dict;
+ KURL m_baseURL;
+
+public slots: // Public slots
+ void slotAccept();
+
+protected slots:
+ virtual void showEvent(QShowEvent *ev);
+
+private:
+ bool deleteTag;
+ Tag *m_tag;
+ QTag* dtdTag;
+ QString m_selection;
+
+ QPtrList<Tagxml> *extraPageList;
+
+ void init(QTag* dtdTag, KURL a_baseURL);
+ void parseAttributes(const QString &attrs);
+};
+
+#endif