~ubuntu-branches/ubuntu/vivid/kate/vivid-updates

« back to all changes in this revision

Viewing changes to addons/ktexteditor/lumen/lumen.h

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2014-12-04 16:49:41 UTC
  • mfrom: (1.6.6)
  • Revision ID: package-import@ubuntu.com-20141204164941-l3qbvsly83hhlw2v
Tags: 4:14.11.97-0ubuntu1
* New upstream release
* Update build-deps and use pkg-kde v3 for Qt 5 build
* kate-data now kate5-data for co-installability

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright 2014  David Herberth kde@dav1d.de
3
 
 *
4
 
 * This library is free software; you can redistribute it and/or
5
 
 * modify it under the terms of the GNU Lesser General Public
6
 
 * License as published by the Free Software Foundation; either
7
 
 * version 2.1 of the License, or (at your option) version 3, or any
8
 
 * later version accepted by the membership of KDE e.V. (or its
9
 
 * successor approved by the membership of KDE e.V.), which shall
10
 
 * act as a proxy defined in Section 6 of version 3 of the license.
11
 
 *
12
 
 * This library is distributed in the hope that it will be useful,
13
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15
 
 * Lesser General Public License for more details.
16
 
 *
17
 
 * You should have received a copy of the GNU Lesser General Public
18
 
 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
19
 
**/
20
 
 
21
 
#ifndef LUMEN_H
22
 
#define LUMEN_H
23
 
 
24
 
#include <ktexteditor/plugin.h>
25
 
#include <ktexteditor/range.h>
26
 
 
27
 
#include <kpluginfactory.h>
28
 
 
29
 
#include <QVariantList>
30
 
 
31
 
#include <kaction.h>
32
 
#include <kxmlguiclient.h>
33
 
#include "dcd.h"
34
 
#include "completion.h"
35
 
 
36
 
using namespace KTextEditor;
37
 
 
38
 
class LumenPlugin;
39
 
 
40
 
class LumenPluginView: public QObject, public KXMLGUIClient
41
 
{
42
 
    Q_OBJECT
43
 
    public:
44
 
        LumenPluginView(LumenPlugin *plugin, KTextEditor::View *view);
45
 
        virtual ~LumenPluginView();
46
 
        void registerCompletion();
47
 
        void registerTextHints();
48
 
    private slots:
49
 
        void urlChanged(KTextEditor::Document*);
50
 
        void getTextHint(const KTextEditor::Cursor&, QString&);
51
 
    private:
52
 
        LumenPlugin *m_plugin;
53
 
        QPointer<KTextEditor::View> m_view;
54
 
        LumenCompletionModel *m_model;
55
 
        bool m_registered;
56
 
};
57
 
 
58
 
class LumenPlugin: public Plugin
59
 
{
60
 
    Q_OBJECT
61
 
    public:
62
 
        LumenPlugin(QObject *parent, const QVariantList & = QVariantList());
63
 
        ~LumenPlugin();
64
 
        DCD* dcd();
65
 
        void addView(View *view);
66
 
        void removeView(View *view);
67
 
        virtual void readConfig(KConfig*) {}
68
 
        virtual void writeConfig(KConfig*) {}
69
 
    private:
70
 
        QMap<KTextEditor::View*,LumenPluginView*> m_views;
71
 
        DCD* m_dcd;
72
 
};
73
 
 
74
 
K_PLUGIN_FACTORY_DECLARATION(LumenPluginFactory)
75
 
 
76
 
#endif