summaryrefslogtreecommitdiff
path: root/noncore/apps/tinykate/libkate/document/katedialogs.h
Side-by-side diff
Diffstat (limited to 'noncore/apps/tinykate/libkate/document/katedialogs.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/tinykate/libkate/document/katedialogs.h160
1 files changed, 160 insertions, 0 deletions
diff --git a/noncore/apps/tinykate/libkate/document/katedialogs.h b/noncore/apps/tinykate/libkate/document/katedialogs.h
new file mode 100644
index 0000000..f37f45a
--- a/dev/null
+++ b/noncore/apps/tinykate/libkate/document/katedialogs.h
@@ -0,0 +1,160 @@
+/***************************************************************************
+ katedialogs.h - description
+ -------------------
+ copyright : (C) 2001 by The Kate Team
+ (C) 2002 by Joseph Wenninger
+ email : kwrite-devel@kde.org
+ jowenn@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 KATEDIALOGS_H
+#define KATEDIALOGS_H
+#include <kdialog.h>
+#include <kdialogbase.h>
+#include "katesyntaxdocument.h"
+#include "katehighlight.h"
+#include <klistview.h>
+#include <qtabwidget.h>
+#include <kcolorbutton.h>
+
+class QWidgetStack;
+class QVBox;
+class KListView;
+class QListViewItem;
+struct syntaxContextData;
+class QCheckBox;
+//class ItemFont;
+#define HlEUnknown 0
+#define HlEContext 1
+#define HlEItem 2
+ //--------
+
+
+class StyleChanger : public QWidget {
+ Q_OBJECT
+ public:
+ StyleChanger(QWidget *parent );
+ void setRef(ItemStyle *);
+ void setEnabled(bool);
+ protected slots:
+ void changed();
+ protected:
+ ItemStyle *style;
+ KColorButton *col;
+ KColorButton *selCol;
+ QCheckBox *bold;
+ QCheckBox *italic;
+};
+
+class HighlightDialogPage : public QTabWidget
+{
+ Q_OBJECT
+ public:
+ HighlightDialogPage(HlManager *, ItemStyleList *, HlDataList *, int hlNumber,
+ QWidget *parent=0, const char *name=0);
+ void saveData();
+
+ protected slots:
+ void defaultChanged(int);
+
+ void hlChanged(int);
+ void itemChanged(int);
+ void changed();
+ void hlEdit();
+ void hlNew();
+ protected:
+ StyleChanger *defaultStyleChanger;
+ ItemStyleList *defaultItemStyleList;
+
+ void writeback();
+ QComboBox *itemCombo, *hlCombo;
+ QLineEdit *wildcards;
+ QLineEdit *mimetypes;
+ QCheckBox *styleDefault;
+ StyleChanger *styleChanger;
+
+ HlDataList *hlDataList;
+ HlData *hlData;
+ ItemData *itemData;
+};
+
+class ItemInfo
+{
+ public:
+ ItemInfo():trans_i18n(),length(0){};
+ ItemInfo(QString _trans,int _length):trans_i18n(_trans),length(_length){};
+ QString trans_i18n;
+ int length;
+};
+
+class HighlightDialog : public KDialogBase
+{
+ Q_OBJECT
+ public:
+ HighlightDialog( HlManager *hlManager, ItemStyleList *styleList,
+ HlDataList *highlightDataList,
+ int hlNumber, QWidget *parent,
+ const char *name=0, bool modal=true );
+ private:
+ HighlightDialogPage *content;
+ protected:
+ virtual void done(int r);
+};
+
+class HlEditDialog : public KDialogBase
+{
+ Q_OBJECT
+ public:
+ HlEditDialog(HlManager *,QWidget *parent=0, const char *name=0, bool modal=true, HlData *data=0);
+ private:
+ class QWidgetStack *stack;
+ class QVBox *contextOptions, *itemOptions;
+ class KListView *contextList;
+ class QListViewItem *currentItem;
+ void initContextOptions(class QVBox *co);
+ void initItemOptions(class QVBox *co);
+ void loadFromDocument(HlData *hl);
+ void showContext();
+ void showItem();
+
+ QListViewItem *addContextItem(QListViewItem *_parent,QListViewItem *prev,struct syntaxContextData *data);
+ void insertTranslationList(QString tag, QString trans,int length);
+ void newDocument();
+
+ class QLineEdit *ContextDescr;
+ class QComboBox *ContextAttribute;
+ class QComboBox *ContextLineEnd;
+
+ class QComboBox *ItemType;
+ class QComboBox *ItemContext;
+ class QLineEdit *ItemParameter;
+ class QComboBox *ItemAttribute;
+
+ class QMap<int,QString> id2tag;
+ class QMap<int,ItemInfo> id2info;
+ class QMap<QString,int> tag2id;
+ int transTableCnt;
+ protected slots:
+ void currentSelectionChanged ( QListViewItem * );
+ void contextDescrChanged(const QString&);
+ void contextLineEndChanged(int);
+ void contextAttributeChanged(int);
+ void contextAddNew();
+
+ void ItemTypeChanged(int id);
+ void ItemParameterChanged(const QString& name);
+ void ItemAttributeChanged(int attr);
+ void ItemContextChanged(int cont);
+ void ItemAddNew();
+};
+
+#endif