forked from mook/komodo-schemes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
koIScintillaSchemeService.idl
165 lines (151 loc) · 7.47 KB
/
koIScintillaSchemeService.idl
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Komodo code.
*
* The Initial Developer of the Original Code is ActiveState Software Inc.
* Portions created by ActiveState Software Inc are Copyright (C) 2000-2007
* ActiveState Software Inc. All Rights Reserved.
*
* Contributor(s):
* ActiveState Software Inc
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsISupports.idl"
#include "ISciMoz.idl"
#include "koILanguage.idl"
interface ISciMoz;
[scriptable, uuid(E116A318-F894-42C5-A7D5-1F37171832AD)]
interface koIScintillaScheme : nsISupports {
attribute boolean writeable;
attribute boolean unsaved;
attribute wstring name;
attribute wstring fname;
attribute boolean preferFixed;
attribute boolean caretLineVisible;
attribute boolean useSelFore;
attribute boolean isDirty;
/**
* The isDarkBackground attribute returns whether the default background
* color is dark or light.
*/
attribute boolean isDarkBackground;
koIScintillaScheme clone(in wstring newname);
/*
* @param fname Either the full path to a scheme file, or a scheme name (see unsaved)
* @param userDefined False if it's a Komodo-defined scheme
* @param unsaved True: fname is the name of a scheme, False: fname is a full path
* @returns True iff the object initialized successfully
*/
void init(in wstring fname, in boolean userDefined, in boolean unsaved);
void saveAs(in wstring newname);
void save();
void revert();
void remove();
string getColor(in string colorname);
void setColor(in string colorname, in string colorvalue);
void setFore(in string language, /* null means common styles */
in string styleId,
in string color);
void setBack(in string language, /* null means common styles */
in string styleId,
in string color);
void setBold(in string language, /* null means common styles */
in string styleId,
in boolean bold);
void setItalic(in string language, /* null means common styles */
in string styleId,
in boolean italic);
void setFont(in string styleId, in string face);
void setFaceType(in string language, in string styleId, in boolean useFixed);
void setSize(in string language, /* null means common styles */
in string styleId, /* null means default */
in long size);
void setIndicator(in wstring name, in long style, in string color,
in long alpha, in boolean draw_underneath);
string getFore(in string language, /* null means common styles */
in string styleId);
string getBack(in string language, /* null means common styles */
in string styleId);
boolean getBold(in string language, /* null means common styles */
in string styleId);
boolean getItalic(in string language, /* null means common styles */
in string styleId);
string getFont(in string styleId); /* encoding_fixed|proportional */
boolean getFaceType(in string language, /* null means common styles */
in string styleId); /* null means default */
long getSize(in string language, /* null means common styles */
in string styleId); /* null means default */
void getIndicator(in wstring name, out long style, out string color,
out long alpha, out boolean draw_underneath);
void resetStyle(in string language, /* null means common styles */
in string styleId);
// Similar methods, but for handling UDL sublanguages.
void setSubLanguageDefaultBackgroundColor(in string language, in string color);
string getSubLanguageDefaultBackgroundColor(in string language);
void setGlobalSubLanguageBackgroundEnabled(in string language, in boolean allow);
boolean getGlobalSubLanguageBackgroundEnabled(in string language);
void applyScheme(in ISciMoz scintilla,
in string language,
in string encoding,
in boolean useFixed);
string getCommonName(in string language,
in long scimozStyleNo);
string getSpecificName(in string language,
in long scimozStyleNo);
void getHighlightColorInfo(in koILanguage languageObj,
[array, size_is(count)] out wstring colorInfo,
out unsigned long count);
};
[scriptable, uuid(D116A318-F894-42C5-A7D5-1F37171832AC)]
interface koIScintillaSchemeService : nsISupports {
void reloadAvailableSchemes();
void addScheme(in koIScintillaScheme scheme);
void removeScheme(in koIScintillaScheme scheme);
void getSchemeNames([array, size_is(count)] out wstring schemes,
out unsigned long count);
koIScintillaScheme getScheme(in wstring name);
void getCommonStyles([array, size_is(count)] out string styleLabels,
out unsigned long count);
void getLanguageStyles(in string language,
[array, size_is(count)] out string styleLabels,
out unsigned long count);
// Return the list of indicator names in alphabetically sorted order.
void getIndicatorNames([array, size_is(count)] out string names,
out unsigned long count);
// Return the scimoz indicator number for the given indicator name.
long getIndicatorNoForName(in wstring indic_name);
void purgeUnsavedSchemes();
void convertToHTMLFile(in ISciMoz scimoz, in wstring title,
in wstring language, in long style_bits,
in string encoding_name, in wstring fname,
in boolean selectionOnly,
in boolean forceColor);
// returns new scheme name on success, throws an exception on failiure
wstring loadSchemeFromURI(in wstring uri, in wstring schemeName);
boolean schemeNameIsValid(in wstring schemeName);
// returns previous active scheme.
wstring activateScheme(in wstring schemeName);
};