kate Library API Documentation

katedialogs.h

00001 /* This file is part of the KDE libraries
00002    Copyright (C) 2002, 2003 Anders Lund <anders.lund@lund.tdcadsl.dk>
00003    Copyright (C) 2003 Christoph Cullmann <cullmann@kde.org>
00004    Copyright (C) 2001 Joseph Wenninger <jowenn@kde.org>
00005 
00006    Based on work of:
00007      Copyright (C) 1999 Jochen Wilhelmy <digisnap@cs.tu-berlin.de>
00008 
00009    This library is free software; you can redistribute it and/or
00010    modify it under the terms of the GNU Library General Public
00011    License version 2 as published by the Free Software Foundation.
00012 
00013    This library is distributed in the hope that it will be useful,
00014    but WITHOUT ANY WARRANTY; without even the implied warranty of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016    Library General Public License for more details.
00017 
00018    You should have received a copy of the GNU Library General Public License
00019    along with this library; see the file COPYING.LIB.  If not, write to
00020    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00021    Boston, MA 02111-1307, USA.
00022 */
00023 
00024 #ifndef __KATE_DIALOGS_H__
00025 #define __KATE_DIALOGS_H__
00026 
00027 #include "katehighlight.h"
00028 #include "kateattribute.h"
00029 
00030 #include "../interfaces/document.h"
00031 
00032 #include <klistview.h>
00033 #include <kdialogbase.h>
00034 #include <kmimetype.h>
00035 
00036 #include <qstringlist.h>
00037 #include <qcolor.h>
00038 #include <qintdict.h>
00039 #include <qvbox.h>
00040 #include <qtabwidget.h>
00041 
00042 class KatePartPluginListItem;
00043 
00044 struct syntaxContextData;
00045 
00046 class KateDocument;
00047 class KateView;
00048 
00049 namespace KIO { class Job; }
00050 
00051 class KAccel;
00052 class KColorButton;
00053 class KComboBox;
00054 class KIntNumInput;
00055 class KKeyButton;
00056 class KKeyChooser;
00057 class KMainWindow;
00058 class KPushButton;
00059 class KRegExpDialog;
00060 class KIntNumInput;
00061 class KSpellConfig;
00062 
00063 class QButtonGroup;
00064 class QCheckBox;
00065 class QHBoxLayout;
00066 class QLabel;
00067 class QLineEdit;
00068 class QPushButton;
00069 class QRadioButton;
00070 class QSpinBox;
00071 class QListBoxItem;
00072 class QWidgetStack;
00073 class QVBox;
00074 class QListViewItem;
00075 class QCheckBox;
00076 
00077 class KateConfigPage : public Kate::ConfigPage
00078 {
00079   Q_OBJECT
00080 
00081   public:
00082     KateConfigPage ( QWidget *parent=0, const char *name=0 );
00083     virtual ~KateConfigPage ();
00084 
00085   public:
00086     bool changed () { return m_changed; }
00087 
00088   private slots:
00089     void somethingHasChanged ();
00090 
00091   private:
00092     bool m_changed;
00093 };
00094 
00095 class KateSpellConfigPage : public KateConfigPage
00096 {
00097   Q_OBJECT
00098 
00099   public:
00100     KateSpellConfigPage( QWidget* parent );
00101     ~KateSpellConfigPage() {};
00102 
00103     void apply();
00104     void reset () { ; };
00105     void defaults () { ; };
00106 
00107   private:
00108     KSpellConfig *cPage;
00109 };
00110 
00111 class KateGotoLineDialog : public KDialogBase
00112 {
00113   Q_OBJECT
00114 
00115   public:
00116 
00117     KateGotoLineDialog(QWidget *parent, int line, int max);
00118     int getLine();
00119 
00120   protected:
00121 
00122     KIntNumInput *e1;
00123     QPushButton *btnOK;
00124 };
00125 
00126 class KateIndentConfigTab : public KateConfigPage
00127 {
00128   Q_OBJECT
00129 
00130   public:
00131     KateIndentConfigTab(QWidget *parent);
00132 
00133   protected slots:
00134     void somethingToggled();
00135     void indenterSelected (int);
00136 
00137   protected:
00138     enum { numFlags = 7 };
00139     static const int flags[numFlags];
00140     QCheckBox *opt[numFlags];
00141     KIntNumInput *indentationWidth;
00142     QButtonGroup *m_tabs;
00143     KComboBox *m_indentMode;
00144 
00145   public slots:
00146     void apply ();
00147     void reload ();
00148     void reset () {};
00149     void defaults () {};
00150 };
00151 
00152 class KateSelectConfigTab : public KateConfigPage
00153 {
00154   Q_OBJECT
00155 
00156   public:
00157     KateSelectConfigTab(QWidget *parent);
00158 
00159   protected:
00160     QButtonGroup *m_tabs;
00161 
00162   public slots:
00163     void apply ();
00164     void reload ();
00165     void reset () {};
00166     void defaults () {};
00167 };
00168 
00169 class KateEditConfigTab : public KateConfigPage
00170 {
00171     Q_OBJECT
00172 
00173   public:
00174     KateEditConfigTab(QWidget *parent);
00175 
00176   protected:
00177     enum { numFlags = 7 };
00178     static const int flags[numFlags];
00179     QCheckBox *opt[numFlags];
00180 
00181     KIntNumInput *e1;
00182     KIntNumInput *e2;
00183     KIntNumInput *e3;
00184     KIntNumInput *e4;
00185     KComboBox *e5;
00186     QCheckBox *e6;
00187 
00188   public slots:
00189     void apply ();
00190     void reload ();
00191     void reset () {};
00192     void defaults () {};
00193 };
00194 
00195 class KateViewDefaultsConfig : public KateConfigPage
00196 {
00197   Q_OBJECT
00198 
00199   public:
00200     KateViewDefaultsConfig( QWidget *parent );
00201     ~KateViewDefaultsConfig();
00202 
00203   private:
00204     QCheckBox *m_line;
00205     QCheckBox *m_folding;
00206     QCheckBox *m_collapseTopLevel;
00207     QCheckBox *m_icons;
00208     QCheckBox *m_scrollBarMarks;
00209     QCheckBox *m_dynwrap;
00210     KIntNumInput *m_dynwrapAlignLevel;
00211     QCheckBox *m_wwmarker;
00212     QLabel *m_dynwrapIndicatorsLabel;
00213     KComboBox *m_dynwrapIndicatorsCombo;
00214     QButtonGroup *m_bmSort;
00215 
00216   public slots:
00217   void apply ();
00218   void reload ();
00219   void reset ();
00220   void defaults ();
00221 };
00222 
00223 class KateEditKeyConfiguration: public KateConfigPage
00224 {
00225   Q_OBJECT
00226 
00227   public:
00228     KateEditKeyConfiguration( QWidget* parent, KateDocument* doc );
00229 
00230   public slots:
00231     void apply();
00232     void reload()   {};
00233     void reset()    {};
00234     void defaults() {};
00235 
00236   protected:
00237     void showEvent ( QShowEvent * );
00238 
00239   private:
00240     bool m_ready;
00241     class KateDocument *m_doc;
00242     KKeyChooser* m_keyChooser;
00243     class KActionCollection *m_ac;
00244 };
00245 
00246 class KateSaveConfigTab : public KateConfigPage
00247 {
00248   Q_OBJECT
00249   public:
00250   KateSaveConfigTab( QWidget *parent );
00251 
00252   public slots:
00253   void apply();
00254   void reload();
00255   void reset();
00256   void defaults();
00257   
00258   private slots:
00259     void blockCountChanged (int value);
00260 
00261   protected:
00262   KComboBox *m_encoding, *m_eol;
00263   QCheckBox *cbLocalFiles, *cbRemoteFiles;
00264   QCheckBox *replaceTabs, *removeSpaces;
00265   QLineEdit *leBuPrefix;
00266   QLineEdit *leBuSuffix;
00267   class QSlider *blockCount;
00268   class QLabel *blockCountLabel;
00269 };
00270 
00271 class KatePartPluginListItem;
00272 
00273 class KatePartPluginListView : public KListView
00274 {
00275   Q_OBJECT
00276 
00277   friend class KatePartPluginListItem;
00278 
00279   public:
00280     KatePartPluginListView (QWidget *parent = 0, const char *name = 0);
00281 
00282   signals:
00283     void stateChange(KatePartPluginListItem *, bool);
00284 
00285   private:
00286     void stateChanged(KatePartPluginListItem *, bool);
00287 };
00288 
00289 class QListViewItem;
00290 class KatePartPluginConfigPage : public KateConfigPage
00291 {
00292   Q_OBJECT
00293 
00294   public:
00295     KatePartPluginConfigPage (QWidget *parent);
00296     ~KatePartPluginConfigPage ();
00297 
00298   public slots:
00299     void apply ();
00300     void reload () {};
00301     void reset () {};
00302     void defaults () {};
00303 
00304   private slots:
00305     void slotCurrentChanged( QListViewItem * );
00306     void slotConfigure();
00307     void slotStateChanged( KatePartPluginListItem *, bool );
00308 
00309   private:
00310     KatePartPluginListView *listView;
00311     QPtrList<KatePartPluginListItem> m_items;
00312     class QPushButton *btnConfigure;
00313 };
00314 
00315 class KateHlConfigPage : public KateConfigPage
00316 {
00317   Q_OBJECT
00318 
00319   public:
00320     KateHlConfigPage (QWidget *parent);
00321     ~KateHlConfigPage ();
00322 
00323   public slots:
00324     void apply ();
00325     void reload ();
00326     void reset () {};
00327     void defaults () {};
00328 
00329   protected slots:
00330     void hlChanged(int);
00331     void hlDownload();
00332     void showMTDlg();
00333 
00334   private:
00335     void writeback ();
00336 
00337     QComboBox *hlCombo;
00338     QLineEdit *wildcards;
00339     QLineEdit *mimetypes;
00340     class KIntNumInput *priority;
00341     class QLabel *author, *license;
00342 
00343     QIntDict<KateHlData> hlDataDict;
00344     KateHlData *hlData;
00345 };
00346 
00347 class KateHlDownloadDialog: public KDialogBase
00348 {
00349   Q_OBJECT
00350 
00351   public:
00352     KateHlDownloadDialog(QWidget *parent, const char *name, bool modal);
00353     ~KateHlDownloadDialog();
00354 
00355   private:
00356     class QListView  *list;
00357     class QString listData;
00358 
00359   private slots:
00360     void listDataReceived(KIO::Job *, const QByteArray &data);
00361 
00362   public slots:
00363     void slotUser1();
00364 };
00365 
00366 #endif
KDE Logo
This file is part of the documentation for kate Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Nov 27 13:52:35 2004 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003