annotate libgui/languages/build_ts/octave-qsci/Qsci/qsciapis.h @ 31537:5ceb4bfcdb0f stable

add tools and files for updating the gui's language files for translation * libgui/languages/build_ts/README.md: readme for updating language files * libgui/languages/build_ts/octave-qsci: QScintilla source files for languages without translation provided by QScintilla * libgui/languages/build_ts/octave-qt: Qt source files for languages without translation provided by Qt
author Torsten Lilge <ttl-octave@mailbox.org>
date Thu, 24 Nov 2022 06:48:25 +0100
parents
children dd5ece3664ed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31537
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
1 // This module defines interface to the QsciAPIs class.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
2 //
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
3 // Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
4 //
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
5 // This file is part of QScintilla.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
6 //
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
7 // This file may be used under the terms of the GNU General Public License
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
8 // version 3.0 as published by the Free Software Foundation and appearing in
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
9 // the file LICENSE included in the packaging of this file. Please review the
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
10 // following information to ensure the GNU General Public License version 3.0
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
11 // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
12 //
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
13 // If you do not wish to use this file under the terms of the GPL version 3.0
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
14 // then you may purchase a commercial license. For more information contact
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
15 // info@riverbankcomputing.com.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
16 //
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
17 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
18 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
19
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
20
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
21 #ifndef QSCIAPIS_H
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
22 #define QSCIAPIS_H
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
23
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
24 #include <QList>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
25 #include <QObject>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
26 #include <QPair>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
27 #include <QStringList>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
28
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
29 #include <Qsci/qsciabstractapis.h>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
30 #include <Qsci/qsciglobal.h>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
31 #include <Qsci/qsciscintilla.h>
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
32
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
33
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
34 class QsciAPIsPrepared;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
35 class QsciAPIsWorker;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
36 class QsciLexer;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
37
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
38
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
39 //! \brief The QsciAPIs class provies an implementation of the textual API
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
40 //! information used in call tips and for auto-completion.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
41 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
42 //! Raw API information is read from one or more files. Each API function is
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
43 //! described by a single line of text comprising the function's name, followed
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
44 //! by the function's optional comma separated parameters enclosed in
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
45 //! parenthesis, and finally followed by optional explanatory text.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
46 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
47 //! A function name may be followed by a `?' and a number. The number is used
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
48 //! by auto-completion to display a registered QPixmap with the function name.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
49 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
50 //! All function names are used by auto-completion, but only those that include
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
51 //! function parameters are used in call tips.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
52 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
53 //! QScintilla only deals with prepared API information and not the raw
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
54 //! information described above. This is done so that large APIs can be
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
55 //! handled while still being responsive to user input. The conversion of raw
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
56 //! information to prepared information is time consuming (think tens of
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
57 //! seconds) and implemented in a separate thread. Prepared information can
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
58 //! be quickly saved to and loaded from files. Such files are portable between
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
59 //! different architectures.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
60 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
61 //! QScintilla based applications that want to support large APIs would
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
62 //! normally provide the user with the ability to specify a set of, possibly
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
63 //! project specific, raw API files and convert them to prepared files that are
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
64 //! loaded quickly when the application is invoked.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
65 class QSCINTILLA_EXPORT QsciAPIs : public QsciAbstractAPIs
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
66 {
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
67 Q_OBJECT
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
68
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
69 public:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
70 //! Constructs a QsciAPIs instance attached to lexer \a lexer. \a lexer
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
71 //! becomes the instance's parent object although the instance can also be
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
72 //! subsequently attached to other lexers.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
73 QsciAPIs(QsciLexer *lexer);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
74
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
75 //! Destroy the QsciAPIs instance.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
76 virtual ~QsciAPIs();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
77
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
78 //! Add the single raw API entry \a entry to the current set.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
79 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
80 //! \sa clear(), load(), remove()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
81 void add(const QString &entry);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
82
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
83 //! Deletes all raw API information.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
84 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
85 //! \sa add(), load(), remove()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
86 void clear();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
87
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
88 //! Load the API information from the file named \a filename, adding it to
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
89 //! the current set. Returns true if successful, otherwise false.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
90 bool load(const QString &filename);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
91
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
92 //! Remove the single raw API entry \a entry from the current set.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
93 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
94 //! \sa add(), clear(), load()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
95 void remove(const QString &entry);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
96
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
97 //! Convert the current raw API information to prepared API information.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
98 //! This is implemented by a separate thread.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
99 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
100 //! \sa cancelPreparation()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
101 void prepare();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
102
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
103 //! Cancel the conversion of the current raw API information to prepared
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
104 //! API information.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
105 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
106 //! \sa prepare()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
107 void cancelPreparation();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
108
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
109 //! Return the default name of the prepared API information file. It is
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
110 //! based on the name of the associated lexer and in the directory defined
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
111 //! by the QSCIDIR environment variable. If the environment variable isn't
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
112 //! set then $HOME/.qsci is used.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
113 QString defaultPreparedName() const;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
114
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
115 //! Check to see is a prepared API information file named \a filename
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
116 //! exists. If \a filename is empty then the value returned by
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
117 //! defaultPreparedName() is used. Returns true if successful, otherwise
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
118 //! false.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
119 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
120 //! \sa defaultPreparedName()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
121 bool isPrepared(const QString &filename = QString()) const;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
122
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
123 //! Load the prepared API information from the file named \a filename. If
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
124 //! \a filename is empty then a name is constructed based on the name of
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
125 //! the associated lexer and saved in the directory defined by the QSCIDIR
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
126 //! environment variable. If the environment variable isn't set then
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
127 //! $HOME/.qsci is used. Returns true if successful, otherwise false.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
128 bool loadPrepared(const QString &filename = QString());
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
129
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
130 //! Save the prepared API information to the file named \a filename. If
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
131 //! \a filename is empty then a name is constructed based on the name of
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
132 //! the associated lexer and saved in the directory defined by the QSCIDIR
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
133 //! environment variable. If the environment variable isn't set then
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
134 //! $HOME/.qsci is used. Returns true if successful, otherwise false.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
135 bool savePrepared(const QString &filename = QString()) const;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
136
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
137 //! \reimp
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
138 virtual void updateAutoCompletionList(const QStringList &context,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
139 QStringList &list);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
140
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
141 //! \reimp
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
142 virtual void autoCompletionSelected(const QString &sel);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
143
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
144 //! \reimp
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
145 virtual QStringList callTips(const QStringList &context, int commas,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
146 QsciScintilla::CallTipsStyle style, QList<int> &shifts);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
147
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
148 //! \internal Reimplemented to receive termination events from the worker
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
149 //! thread.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
150 virtual bool event(QEvent *e);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
151
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
152 //! Return a list of the installed raw API file names for the associated
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
153 //! lexer.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
154 QStringList installedAPIFiles() const;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
155
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
156 signals:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
157 //! This signal is emitted when the conversion of raw API information to
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
158 //! prepared API information has been cancelled.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
159 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
160 //! \sa apiPreparationFinished(), apiPreparationStarted()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
161 void apiPreparationCancelled();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
162
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
163 //! This signal is emitted when the conversion of raw API information to
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
164 //! prepared API information starts and can be used to give some visual
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
165 //! feedback to the user.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
166 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
167 //! \sa apiPreparationCancelled(), apiPreparationFinished()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
168 void apiPreparationStarted();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
169
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
170 //! This signal is emitted when the conversion of raw API information to
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
171 //! prepared API information has finished.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
172 //!
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
173 //! \sa apiPreparationCancelled(), apiPreparationStarted()
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
174 void apiPreparationFinished();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
175
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
176 private:
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
177 friend class QsciAPIsPrepared;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
178 friend class QsciAPIsWorker;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
179
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
180 // This indexes a word in a set of raw APIs. The first part indexes the
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
181 // entry in the set, the second part indexes the word within the entry.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
182 typedef QPair<quint32, quint32> WordIndex;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
183
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
184 // This is a list of word indexes.
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
185 typedef QList<WordIndex> WordIndexList;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
186
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
187 QsciAPIsWorker *worker;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
188 QStringList old_context;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
189 QStringList::const_iterator origin;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
190 int origin_len;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
191 QString unambiguous_context;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
192 QStringList apis;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
193 QsciAPIsPrepared *prep;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
194
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
195 static bool enoughCommas(const QString &s, int commas);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
196
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
197 QStringList positionOrigin(const QStringList &context, QString &path);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
198 bool originStartsWith(const QString &path, const QString &wsep);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
199 const WordIndexList *wordIndexOf(const QString &word) const;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
200 void lastCompleteWord(const QString &word, QStringList &with_context,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
201 bool &unambig);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
202 void lastPartialWord(const QString &word, QStringList &with_context,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
203 bool &unambig);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
204 void addAPIEntries(const WordIndexList &wl, bool complete,
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
205 QStringList &with_context, bool &unambig);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
206 QString prepName(const QString &filename, bool mkpath = false) const;
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
207 void deleteWorker();
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
208
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
209 QsciAPIs(const QsciAPIs &);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
210 QsciAPIs &operator=(const QsciAPIs &);
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
211 };
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
212
5ceb4bfcdb0f add tools and files for updating the gui's language files for translation
Torsten Lilge <ttl-octave@mailbox.org>
parents:
diff changeset
213 #endif