summaryrefslogtreecommitdiffstats
path: root/quanta/components/csseditor/csseditor.h
diff options
context:
space:
mode:
Diffstat (limited to 'quanta/components/csseditor/csseditor.h')
-rw-r--r--quanta/components/csseditor/csseditor.h117
1 files changed, 117 insertions, 0 deletions
diff --git a/quanta/components/csseditor/csseditor.h b/quanta/components/csseditor/csseditor.h
new file mode 100644
index 00000000..6994a686
--- /dev/null
+++ b/quanta/components/csseditor/csseditor.h
@@ -0,0 +1,117 @@
+/***************************************************************************
+ csseditor.h - description
+ -------------------
+ begin : mer lug 23 11:20:17 CEST 2003
+ copyright : (C) 2003 by gulmini luciano
+ email : gulmini.luciano@student.unife.it
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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 CSSEDITOR_H
+#define CSSEDITOR_H
+
+#include <qwidget.h>
+#include "csseditors.h"
+#include <qdom.h>
+#include <qmap.h>
+#include <qlistview.h>
+#include <qsignal.h>
+
+class propertySetter;
+class KConfig;
+class KHTMLPart;
+class QListViewItem;
+class QDomNodeList;
+class QVariant;
+class QMyHighlighter;
+
+
+class myCheckListItem : public QCheckListItem
+{
+ private:
+ QSignal *m_sig;
+ unsigned int m_checkedChildren;
+
+ public :
+ myCheckListItem(QCheckListItem * parent, const QString & text);
+ myCheckListItem(QListView * parent, const QString & text);
+ ~myCheckListItem();
+ void connect( QObject *receiver, const char *member );
+ void addCheckedChild();
+
+ protected :
+ virtual void activate();
+ virtual void stateChange (bool);
+};
+
+/** CSSEditor is the base class of the project */
+class CSSEditor : public CSSEditorS
+{
+ Q_OBJECT
+ private:
+ QMyHighlighter *m_myhi;
+ propertySetter *m_ps;
+ myCheckListItem *m_currentProp;
+ KHTMLPart *m_previewer;
+ QDomDocument m_doc;
+ QMap<QString,QString> m_properties;
+ QString m_selectorName,
+ m_initialProperties,
+ m_Selectors,
+ m_Header,
+ m_Footer,
+
+ m_InlineStyleContent,
+ m_externalStyleSheetDefinition,
+ m_fileToPreview;
+
+ bool m_isFileToPreviewExternal;
+ KConfig *m_config;
+
+ //sourceFileName;
+
+ void Connect();
+ void appendSub(QDomNodeList, myCheckListItem *);
+ void buildListView(QDomNodeList, QListView *);
+ void updateDisplay();
+ void activatePreview();
+ void setCurrentPropOn(const QString& s);
+ void addProperty(const QString& property, const QString& value) { m_properties[property] = value; }
+ void addAndSetPropertyOn(const QString& property, const QString& value);
+ void setSidesOfPropertyBorderOn(const QString& s);
+
+ private slots:
+ void checkProperty(const QString&);
+ void removeProperty(const QVariant&);
+ void updatePreview();
+ void setMiniEditors(QListViewItem*);
+ void toggleShortendForm();
+
+ public:
+
+ CSSEditor(QWidget* parent=0, const char *name=0): CSSEditorS(parent, name), m_config(0L){}
+ CSSEditor( QListViewItem * i, QWidget* parent=0, const char *name=0);
+ ~CSSEditor();
+ void initialize();
+ void setSelectors( const QString& s) { m_Selectors = s; }
+ void setHeader( const QString& s) { m_Header = s; }
+ void setFooter( const QString& s) { m_Footer = s;}
+ void setInlineStyleContent( const QString& s){ m_InlineStyleContent = s; }
+ QString generateProperties();
+ void hidePreviewer();
+ void setFileToPreview(const QString& s,bool b) { m_fileToPreview = s; m_isFileToPreviewExternal = b;}
+ void setExternalStyleSheetDefinition(const QString& s) { m_externalStyleSheetDefinition = s;}
+
+ signals:
+ void signalUpdatePreview();
+};
+
+#endif