You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdewebdev/quanta/components/csseditor/csseditor.h

118 lines
4.0 KiB

/***************************************************************************
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