summaryrefslogtreecommitdiffstats
path: root/parts/astyle/astyle_part.h
blob: bf572dcc8f45b36f666a826c950a9da663e91467 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
 *  Copyright (C) 2001 Matthias H�zer-Klpfel <mhk@caldera.de>
 */


#ifndef __KDEVPART_ASTYLE_H__
#define __KDEVPART_ASTYLE_H__

class KDialogBase;
#include <kdevsourceformatter.h>
#include <kaction.h>
#include <kparts/part.h>
#include <kdevplugin.h>
#include <kdebug.h>
#include <qmap.h>
#include <qvariant.h>

class AStyleWidget;
class QPopupMenu;
class Context;
class ConfigWidgetProxy;

class AStylePart : public KDevSourceFormatter
{
  Q_OBJECT

public:

  AStylePart(QObject *parent, const char *name, const QStringList &);
  ~AStylePart();

  QString formatSource(const QString text, AStyleWidget * widget, const QMap<QString, QVariant>& options);
  virtual QString formatSource(const QString text);
  QString indentString() const;
  void saveGlobal();
  void setExtensions(QString ext, bool global);
  QString getProjectExtensions();
  QString getGlobalExtensions();
  void restorePartialProjectSession(const QDomElement * el);
  void savePartialProjectSession(QDomElement * el);

  QMap<QString, QVariant>& getProjectOptions(){return m_project;}
  QMap<QString, QVariant>& getGlobalOptions(){return m_global;}


private slots:

  void activePartChanged(KParts::Part *part);
  void beautifySource();
  void formatFiles();
  void formatFilesSelect();
  void insertConfigWidget(const KDialogBase *dlg, QWidget *page, unsigned int pageNo);
  void contextMenu(QPopupMenu *popup, const Context *context);

private:

  void cursorPos( KParts::Part *part, uint * col, uint * line );
  void setCursorPos( KParts::Part *part, uint col, uint line );

  void loadGlobal();

  ConfigWidgetProxy *m_configProxy;
  KAction *formatTextAction;
  KAction *formatFileAction;

  // the configurable options.
  QMap<QString, QVariant>  m_project;
  QMap<QString, QVariant> m_global;
  QStringList m_projectExtensions;
  QStringList m_globalExtensions;
  QMap<QString, QString> m_searchExtensions;
  KURL::List m_urls;
};


#endif