forked from fdorg/flashdevelop
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInterfaces.cs
More file actions
306 lines (267 loc) · 10.4 KB
/
Interfaces.cs
File metadata and controls
306 lines (267 loc) · 10.4 KB
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using PluginCore.Localization;
using ScintillaNet;
using ScintillaNet.Configuration;
using ScintillaNet.Enums;
using WeifenLuo.WinFormsUI.Docking;
using Keys = System.Windows.Forms.Keys;
namespace PluginCore
{
public interface IPlugin : IEventHandler
{
#region IPlugin Methods
void Dispose();
void Initialize();
#endregion
#region IPlugin Properties
Int32 Api { get; }
String Name { get; }
String Guid { get; }
String Help { get; }
String Author { get; }
String Description { get; }
Object Settings { get; }
// List of valid API levels:
// FlashDevelop 4.0 = 1
#endregion
}
public interface IEventHandler
{
#region IEventHandler Methods
void HandleEvent(Object sender, NotifyEvent e, HandlingPriority priority);
#endregion
}
public interface ITabbedDocument : IDockContent
{
#region ITabbedDocument Properties
Icon Icon { get; set; }
String FileName { get; }
String Text { get; set; }
Boolean UseCustomIcon { get; set; }
Control.ControlCollection Controls { get; }
SplitContainer SplitContainer { get; }
ScintillaControl SciControl { get; }
ScintillaControl SplitSci1 { get; }
ScintillaControl SplitSci2 { get; }
Boolean IsModified { get; set; }
Boolean IsSplitted { get; set; }
Boolean IsBrowsable { get; }
Boolean IsUntitled { get; }
Boolean IsEditable { get; }
Boolean HasBookmarks { get; }
Boolean IsAloneInPane { get; }
#endregion
#region ITabbedDocument Methods
void Close();
void Activate();
void RefreshTexts();
void Reload(Boolean showQuestion);
void Revert(Boolean showQuestion);
void Save(String file);
void Save();
#endregion
}
public interface ICompletionListItem
{
#region ICompletionListItem Properties
String Label { get; }
String Value { get; }
String Description { get; }
Bitmap Icon { get; }
#endregion
}
public interface IMainForm : IContainerControl, IWin32Window
{
#region IMainForm Methods
void RefreshUI();
void KillProcess();
void RefreshSciConfig();
void ThemeControls(Object control);
void ClearTemporaryFiles(String file);
void ShowSettingsDialog(String itemName);
void ShowErrorDialog(Object sender, Exception ex);
void ShowSettingsDialog(String itemName, String filter);
void AutoUpdateMenuItem(ToolStripItem item, String action);
void RegisterShortcutItem(String id, Keys keys);
void RegisterShortcutItem(String id, ToolStripMenuItem item);
void RegisterSecondaryItem(String id, ToolStripItem item);
void ApplySecondaryShortcut(ToolStripItem item);
void FileFromTemplate(String templatePath, String newFilePath);
DockContent OpenEditableDocument(String file, Boolean restoreFileState);
DockContent OpenEditableDocument(String file);
DockContent CreateCustomDocument(Control ctrl);
DockContent CreateEditableDocument(String file, String text, Int32 codepage);
DockContent CreateDockablePanel(Control form, String guid, Image image, DockState defaultDockState);
Boolean CallCommand(String command, String arguments);
List<ToolStripItem> FindMenuItems(String name);
ToolStripItem FindMenuItem(String name);
String ProcessArgString(String args);
Keys GetShortcutItemKeys(String id);
String GetThemeValue(String id);
Color GetThemeColor(String id);
String GetThemeValue(String id, String fallback);
Color GetThemeColor(String id, Color fallback);
IPlugin FindPlugin(String guid);
Image ImageSetAdjust(Image image);
Image FindImage(String data);
#endregion
#region IMainFrom Properties
ISettings Settings { get; }
ToolStrip ToolStrip { get; }
MenuStrip MenuStrip { get; }
Scintilla SciConfig { get; }
DockPanel DockPanel { get; }
String[] StartArguments { get; }
List<Argument> CustomArguments { get; }
StatusStrip StatusStrip { get; }
String WorkingDirectory { get; set; }
ToolStripPanel ToolStripPanel { get; }
ToolStripStatusLabel StatusLabel { get; }
ToolStripStatusLabel ProgressLabel { get; }
ToolStripProgressBar ProgressBar { get; }
Control.ControlCollection Controls { get; }
ContextMenuStrip TabMenu { get; }
ContextMenuStrip EditorMenu { get; }
ITabbedDocument CurrentDocument { get; }
ITabbedDocument[] Documents { get; }
Boolean HasModifiedDocuments { get; }
Boolean ClosingEntirely { get; }
Boolean ProcessIsRunning { get; }
Boolean ReloadingDocument { get; }
Boolean ProcessingContents { get; }
Boolean RestoringContents { get; }
Boolean SavingMultiple { get; }
Boolean PanelIsActive { get; }
Boolean IsFullScreen { get; }
Boolean StandaloneMode { get; }
Boolean MultiInstanceMode { get; }
Boolean IsFirstInstance { get; }
Boolean RestartRequested { get; }
Boolean RefreshConfig { get; }
List<Keys> IgnoredKeys { get; }
String ProductVersion { get; }
String ProductName { get; }
#endregion
}
public interface IProject
{
#region IProject Methods
String[] GetHiddenPaths();
String GetRelativePath(String path);
String GetAbsolutePath(String path);
/// <summary>
/// When in Release configuration, remove 'debug' from the given path.
/// Pattern: ([a-zA-Z0-9])[-_.]debug([\\/.])
/// </summary>
String FixDebugReleasePath(String path);
#endregion
#region IProject Properties
String Name { get; }
String Language { get; }
String OutputPathAbsolute { get; }
String[] SourcePaths { get; }
Boolean TraceEnabled { get; }
Boolean EnableInteractiveDebugger { get; }
String ProjectPath { get; }
String PreferredSDK { get; }
String CurrentSDK { get; }
String DefaultSearchFilter { get; }
#endregion
}
public interface ISettings
{
#region ISettings Properties
Font DefaultFont { get; set; }
Font ConsoleFont { get; set; }
List<String> DisabledPlugins { get; set; }
List<String> PreviousDocuments { get; set; }
LocaleVersion LocaleVersion { get; set; }
UiRenderMode RenderMode { get; set; }
CodingStyle CodingStyle { get; set; }
CommentBlockStyle CommentBlockStyle { get; set; }
FlatStyle ComboBoxFlatStyle { get; set; }
String DefaultFileExtension { get; set; }
String LatestDialogPath { get; set; }
Boolean ConfirmOnExit { get; set; }
String CustomSnippetDir { get; set; }
String CustomTemplateDir { get; set; }
String CustomProjectsDir { get; set; }
Boolean DisableFindOptionSync { get; set; }
Boolean DisableSimpleQuickFind { get; set; }
Boolean DisableReplaceFilesConfirm { get; set; }
Boolean AutoReloadModifiedFiles { get; set; }
Boolean UseListViewGrouping { get; set; }
Boolean RedirectFilesResults { get; set; }
Boolean DisableFindTextUpdating { get; set; }
Boolean ApplyFileExtension { get; set; }
Boolean RestoreFileStates { get; set; }
Boolean RestoreFileSession { get; set; }
Boolean BackSpaceUnIndents { get; set; }
Boolean BraceMatchingEnabled { get; set; }
Boolean CaretLineVisible { get; set; }
Boolean EnsureConsistentLineEnds { get; set; }
Boolean EnsureLastLineEnd { get; set; }
Boolean UseSystemColors { get; set; }
Boolean FoldAtElse { get; set; }
Boolean FoldComment { get; set; }
Boolean FoldCompact { get; set; }
Boolean FoldHtml { get; set; }
Boolean FoldPreprocessor { get; set; }
Boolean HighlightGuide { get; set; }
Boolean LineCommentsAfterIndent { get; set; }
Boolean MoveCursorAfterComment { get; set; }
Boolean StripTrailingSpaces { get; set; }
Boolean SequentialTabbing { get; set; }
Boolean TabIndents { get; set; }
Boolean UseFolding { get; set; }
Boolean UseTabs { get; set; }
Boolean ViewEOL { get; set; }
Boolean ViewBookmarks { get; set; }
Boolean ViewLineNumbers { get; set; }
Boolean ViewIndentationGuides { get; set; }
Boolean ViewModifiedLines { get; set; }
Boolean ViewToolBar { get; set; }
Boolean ViewStatusBar { get; set; }
Boolean ViewWhitespace { get; set; }
Boolean ViewShortcuts { get; set; }
Boolean WrapText { get; set; }
EndOfLine EOLMode { get; set; }
FoldFlag FoldFlags { get; set; }
SmartIndent SmartIndentType { get; set; }
VirtualSpaceMode VirtualSpaceMode { get; set; }
IndentView IndentView { get; set; }
HighlightMatchingWordsMode HighlightMatchingWordsMode { get; set; }
Int32 HighlightMatchingWordsDelay { get; set; }
CodePage DefaultCodePage { get; set; }
Int32 TabWidth { get; set; }
Int32 IndentSize { get; set; }
Int32 CaretPeriod { get; set; }
Int32 CaretWidth { get; set; }
Int32 ScrollWidth { get; set; }
Int32 PrintMarginColumn { get; set; }
Size WindowSize { get; set; }
FormWindowState WindowState { get; set; }
Point WindowPosition { get; set; }
Int32 HoverDelay { get; set; }
Int32 DisplayDelay { get; set; }
Boolean ShowDetails { get; set; }
Boolean AutoFilterList { get; set; }
Boolean EnableAutoHide { get; set; }
Boolean WrapList { get; set; }
Boolean DisableSmartMatch { get; set; }
Boolean SaveUnicodeWithBOM { get; set; }
String InsertionTriggers { get; set; }
#endregion
}
public interface ISession
{
#region ISession Properties
Int32 Index { get; set; }
List<String> Files { get; set; }
SessionType Type { get; set; }
#endregion
}
}