kate Library: katedialogs.h Source File (kate Library)

| # kate Library API Documentation
Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# 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
    00050 {
    00051   class Job;
    00052   class TransferJob;
    00053 }
    00054
    00055 class KAccel;
    00056 class KColorButton;
    00057 class KComboBox;
    00058 class KIntNumInput;
    00059 class KKeyButton;
    00060 class KKeyChooser;
    00061 class KMainWindow;
    00062 class KPushButton;
    00063 class KRegExpDialog;
    00064 class KIntNumInput;
    00065 class KSpellConfig;
    00066
    00067 class QButtonGroup;
    00068 class QCheckBox;
    00069 class QHBoxLayout;
    00070 class QLabel;
    00071 class QLineEdit;
    00072 class QPushButton;
    00073 class QRadioButton;
    00074 class QSpinBox;
    00075 class QListBoxItem;
    00076 class QWidgetStack;
    00077 class QVBox;
    00078 class QListViewItem;
    00079 class QCheckBox;
    00080
    00081 class KateConfigPage : public Kate::ConfigPage
    00082 {
    00083   Q_OBJECT
    00084
    00085   public:
    00086     KateConfigPage ( QWidget *parent=0, const char *name=0 );
    00087     virtual ~KateConfigPage ();
    00088
    00089   public:
    00090     bool changed () { return m_changed; }
    00091
    00092   private slots:
    00093     void somethingHasChanged ();
    00094
    00095   protected:
    00096     bool m_changed;
    00097 };
    00098
    00099 class KateSpellConfigPage : public KateConfigPage
    00100 {
    00101   Q_OBJECT
    00102
    00103   public:
    00104     KateSpellConfigPage( QWidget* parent );
    00105     ~KateSpellConfigPage() {};
    00106
    00107     void apply();
    00108     void reset () { ; };
    00109     void defaults () { ; };
    00110
    00111   private:
    00112     KSpellConfig *cPage;
    00113 };
    00114
    00115 class KateGotoLineDialog : public KDialogBase
    00116 {
    00117   Q_OBJECT
    00118
    00119   public:
    00120
    00121     KateGotoLineDialog(QWidget *parent, int line, int max);
    00122     int getLine();
    00123
    00124   protected:
    00125
    00126     KIntNumInput *e1;
    00127     QPushButton *btnOK;
    00128 };
    00129
    00130 class KateIndentConfigTab : public KateConfigPage
    00131 {
    00132   Q_OBJECT
    00133
    00134   public:
    00135     KateIndentConfigTab(QWidget *parent);
    00136
    00137   protected slots:
    00138     void somethingToggled();
    00139     void indenterSelected (int);
    00140
    00141   protected:
    00142     enum { numFlags = 7 };
    00143     static const int flags[numFlags];
    00144     QCheckBox *opt[numFlags];
    00145     KIntNumInput *indentationWidth;
    00146     QButtonGroup *m_tabs;
    00147     KComboBox *m_indentMode;
    00148
    00149   public slots:
    00150     void apply ();
    00151     void reload ();
    00152     void reset () {};
    00153     void defaults () {};
    00154 };
    00155
    00156 class KateSelectConfigTab : public KateConfigPage
    00157 {
    00158   Q_OBJECT
    00159
    00160   public:
    00161     KateSelectConfigTab(QWidget *parent);
    00162
    00163   protected:
    00164     QButtonGroup *m_tabs;
    00165
    00166   public slots:
    00167     void apply ();
    00168     void reload ();
    00169     void reset () {};
    00170     void defaults () {};
    00171 };
    00172
    00173 class KateEditConfigTab : public KateConfigPage
    00174 {
    00175     Q_OBJECT
    00176
    00177   public:
    00178     KateEditConfigTab(QWidget *parent);
    00179
    00180   protected:
    00181     enum { numFlags = 7 };
    00182     static const int flags[numFlags];
    00183     QCheckBox *opt[numFlags];
    00184
    00185     KIntNumInput *e1;
    00186     KIntNumInput *e2;
    00187     KIntNumInput *e3;
    00188     KIntNumInput *e4;
    00189     KComboBox *e5;
    00190     QCheckBox *e6;
    00191
    00192   public slots:
    00193     void apply ();
    00194     void reload ();
    00195     void reset () {};
    00196     void defaults () {};
    00197 };
    00198
    00199 class KateViewDefaultsConfig : public KateConfigPage
    00200 {
    00201   Q_OBJECT
    00202
    00203   public:
    00204     KateViewDefaultsConfig( QWidget *parent );
    00205     ~KateViewDefaultsConfig();
    00206
    00207   private:
    00208     QCheckBox *m_line;
    00209     QCheckBox *m_folding;
    00210     QCheckBox *m_collapseTopLevel;
    00211     QCheckBox *m_icons;
    00212     QCheckBox *m_scrollBarMarks;
    00213     QCheckBox *m_dynwrap;
    00214     KIntNumInput *m_dynwrapAlignLevel;
    00215     QCheckBox *m_wwmarker;
    00216     QLabel *m_dynwrapIndicatorsLabel;
    00217     KComboBox *m_dynwrapIndicatorsCombo;
    00218     QButtonGroup *m_bmSort;
    00219
    00220   public slots:
    00221   void apply ();
    00222   void reload ();
    00223   void reset ();
    00224   void defaults ();
    00225 };
    00226
    00227 class KateEditKeyConfiguration: public KateConfigPage
    00228 {
    00229   Q_OBJECT
    00230
    00231   public:
    00232     KateEditKeyConfiguration( QWidget* parent, KateDocument* doc );
    00233
    00234   public slots:
    00235     void apply();
    00236     void reload()   {};
    00237     void reset()    {};
    00238     void defaults() {};
    00239
    00240   protected:
    00241     void showEvent ( QShowEvent * );
    00242
    00243   private:
    00244     bool m_ready;
    00245     class KateDocument *m_doc;
    00246     KKeyChooser* m_keyChooser;
    00247     class KActionCollection *m_ac;
    00248 };
    00249
    00250 class KateSaveConfigTab : public KateConfigPage
    00251 {
    00252   Q_OBJECT
    00253   public:
    00254   KateSaveConfigTab( QWidget *parent );
    00255
    00256   public slots:
    00257   void apply();
    00258   void reload();
    00259   void reset();
    00260   void defaults();
    00261
    00262   protected:
    00263   KComboBox *m_encoding, *m_eol;
    00264   QCheckBox *cbLocalFiles, *cbRemoteFiles;
    00265   QCheckBox *replaceTabs, *removeSpaces;
    00266   QLineEdit *leBuPrefix;
    00267   QLineEdit *leBuSuffix;
    00268   KIntNumInput *dirSearchDepth;
    00269   class QSpinBox *blockCount;
    00270   class QLabel *blockCountLabel;
    00271 };
    00272
    00273 class KatePartPluginListItem;
    00274
    00275 class KatePartPluginListView : public KListView
    00276 {
    00277   Q_OBJECT
    00278
    00279   friend class KatePartPluginListItem;
    00280
    00281   public:
    00282     KatePartPluginListView (QWidget *parent = 0, const char *name = 0);
    00283
    00284   signals:
    00285     void stateChange(KatePartPluginListItem *, bool);
    00286
    00287   private:
    00288     void stateChanged(KatePartPluginListItem *, bool);
    00289 };
    00290
    00291 class QListViewItem;
    00292 class KatePartPluginConfigPage : public KateConfigPage
    00293 {
    00294   Q_OBJECT
    00295
    00296   public:
    00297     KatePartPluginConfigPage (QWidget *parent);
    00298     ~KatePartPluginConfigPage ();
    00299
    00300   public slots:
    00301     void apply ();
    00302     void reload () {};
    00303     void reset () {};
    00304     void defaults () {};
    00305
    00306   private slots:
    00307     void slotCurrentChanged( QListViewItem * );
    00308     void slotConfigure();
    00309     void slotStateChanged( KatePartPluginListItem *, bool );
    00310
    00311   private:
    00312     KatePartPluginListView *listView;
    00313     QPtrList<KatePartPluginListItem> m_items;
    00314     class QPushButton *btnConfigure;
    00315 };
    00316
    00317 class KateHlConfigPage : public KateConfigPage
    00318 {
    00319   Q_OBJECT
    00320
    00321   public:
    00322     KateHlConfigPage (QWidget *parent);
    00323     ~KateHlConfigPage ();
    00324
    00325   public slots:
    00326     void apply ();
    00327     void reload ();
    00328     void reset () {};
    00329     void defaults () {};
    00330
    00331   protected slots:
    00332     void hlChanged(int);
    00333     void hlDownload();
    00334     void showMTDlg();
    00335
    00336   private:
    00337     void writeback ();
    00338
    00339     QComboBox *hlCombo;
    00340     QLineEdit *wildcards;
    00341     QLineEdit *mimetypes;
    00342     class KIntNumInput *priority;
    00343     class QLabel *author, *license;
    00344
    00345     QIntDict<KateHlData> hlDataDict;
    00346     KateHlData *hlData;
    00347 };
    00348
    00349 class KateHlDownloadDialog: public KDialogBase
    00350 {
    00351   Q_OBJECT
    00352
    00353   public:
    00354     KateHlDownloadDialog(QWidget *parent, const char *name, bool modal);
    00355     ~KateHlDownloadDialog();
    00356
    00357   private:
    00358     class QListView  *list;
    00359     class QString listData;
    00360     KIO::TransferJob *transferJob;
    00361
    00362   private slots:
    00363     void listDataReceived(KIO::Job *, const QByteArray &data);
    00364
    00365   public slots:
    00366     void slotUser1();
    00367 };
    00368
    00369 class KProcIO;
    00370 class KProcess;
    00377 class KateModOnHdPrompt : public KDialogBase
    00378 {
    00379   Q_OBJECT
    00380   public:
    00381     enum Status {
    00382       Reload=1, // 0 is KDialogBase::Cancel
    00383       Save,
    00384       Overwrite,
    00385       Ignore
    00386     };
    00387     KateModOnHdPrompt( KateDocument *doc, int modtype, const QString &reason, QWidget *parent  );
    00388     ~KateModOnHdPrompt();
    00389
    00390   public slots:
    00396     void slotDiff();
    00397
    00398     void slotOk();
    00399     void slotApply();
    00400     void slotUser1();
    00401
    00402   private slots:
    00403     void slotPRead(KProcIO*);
    00404     void slotPDone(KProcess*);
    00405
    00406   private:
    00407     KateDocument *m_doc;
    00408     int m_modtype;
    00409     class KTempFile *m_tmpfile;
    00410
    00411 };
    00412
    00413 #endif

This file is part of the documentation for kate Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:36:32 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003