Skip to content

Commit a6ac4a3

Browse files
committed
0.9.2.0 updates
- GetCharacterPointer improved to return a Python str - Scintilla.iface updated to the about-to-be-released 2.25 - CreateWrapper run and new output created - New SCN_HOTSPOTRELEASECLICK Scintilla event handled - notepad.getPluginVersion() function added to get string version of PythonScript plugin
1 parent 47dc1f3 commit a6ac4a3

21 files changed

+315
-47
lines changed

NppPlugin/include/PluginInterface.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#define PLUGININTERFACE_H
2020

2121
struct SCNotification;
22+
2223
const int nbChar = 64;
2324

2425
typedef const TCHAR * (__cdecl * PFUNCGETNAME)();

PythonScript/res/PythonScript.rc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1
5757
BEGIN
5858
DEFPUSHBUTTON "OK",IDOK,143,168,50,14
5959
LTEXT "Python Script",IDC_STATIC,146,7,49,8
60-
LTEXT "(C) 2010 Dave Brotherstone",IDC_STATIC,120,30,92,8
60+
LTEXT "(C) 2010-2011 Dave Brotherstone",IDC_STATIC,115,30,110,8
6161
CONTROL 118,IDC_STATIC,"Static",SS_BITMAP | SS_REALSIZEIMAGE,118,42,93,34
6262
EDITTEXT IDC_COPYRIGHT,7,84,324,74,ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY | WS_VSCROLL
6363
CTEXT "1.0",IDC_VERSION,156,19,26,8
10 Bytes
Binary file not shown.

PythonScript/src/CreateWrapper.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
'textrange' : lambda name: 'start, end'
7070
}
7171

72-
exclusions = [ 'FormatRange' ]
72+
exclusions = [ 'FormatRange', 'GetCharacterPointer' ]
7373

7474
def Contains(s,sub):
7575
return s.find(sub) != -1
@@ -150,6 +150,11 @@ def findTextBody(v, out):
150150

151151
def getTextRangeBody(v, out):
152152
out.write('\tSci_TextRange src;\n')
153+
out.write('\tif (end == -1)\n')
154+
out.write('\t{\n')
155+
out.write('\t\tend = GetLength();\n')
156+
out.write('\t}\n')
157+
out.write('\n')
153158
out.write('\tif (end < start)\n')
154159
out.write('\t{\n')
155160
out.write('\t\tint temp = start;\n')

PythonScript/src/Enums.h

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,14 @@ enum VkKeys
206206

207207

208208
/* ++Autogenerated ---------------------------------------------- */
209+
enum Update
210+
{
211+
PYSCR_SC_UPDATE_CONTENT = SC_UPDATE_CONTENT,
212+
PYSCR_SC_UPDATE_SELECTION = SC_UPDATE_SELECTION,
213+
PYSCR_SC_UPDATE_V_SCROLL = SC_UPDATE_V_SCROLL,
214+
PYSCR_SC_UPDATE_H_SCROLL = SC_UPDATE_H_SCROLL
215+
};
216+
209217
enum CaretPolicy
210218
{
211219
PYSCR_CARET_SLOP = CARET_SLOP,
@@ -488,13 +496,17 @@ enum Lexer
488496
PYSCR_SCLEX_SML = SCLEX_SML,
489497
PYSCR_SCLEX_MARKDOWN = SCLEX_MARKDOWN,
490498
PYSCR_SCLEX_TXT2TAGS = SCLEX_TXT2TAGS,
499+
PYSCR_SCLEX_A68K = SCLEX_A68K,
500+
PYSCR_SCLEX_MODULA = SCLEX_MODULA,
491501
PYSCR_SCLEX_AUTOMATIC = SCLEX_AUTOMATIC
492502
};
493503

494504
enum CursorShape
495505
{
496506
PYSCR_SC_CURSORNORMAL = SC_CURSORNORMAL,
497-
PYSCR_SC_CURSORWAIT = SC_CURSORWAIT
507+
PYSCR_SC_CURSORARROW = SC_CURSORARROW,
508+
PYSCR_SC_CURSORWAIT = SC_CURSORWAIT,
509+
PYSCR_SC_CURSORREVERSEARROW = SC_CURSORREVERSEARROW
498510
};
499511

500512
enum MarginType
@@ -704,6 +716,8 @@ enum ScintillaMessage
704716
PYSCR_SCI_GETMARGINMASKN = SCI_GETMARGINMASKN,
705717
PYSCR_SCI_SETMARGINSENSITIVEN = SCI_SETMARGINSENSITIVEN,
706718
PYSCR_SCI_GETMARGINSENSITIVEN = SCI_GETMARGINSENSITIVEN,
719+
PYSCR_SCI_SETMARGINCURSORN = SCI_SETMARGINCURSORN,
720+
PYSCR_SCI_GETMARGINCURSORN = SCI_GETMARGINCURSORN,
707721
PYSCR_SCI_STYLECLEARALL = SCI_STYLECLEARALL,
708722
PYSCR_SCI_STYLESETFORE = SCI_STYLESETFORE,
709723
PYSCR_SCI_STYLESETBACK = SCI_STYLESETBACK,
@@ -1203,6 +1217,8 @@ enum ScintillaMessage
12031217
PYSCR_SCI_ROTATESELECTION = SCI_ROTATESELECTION,
12041218
PYSCR_SCI_SWAPMAINANCHORCARET = SCI_SWAPMAINANCHORCARET,
12051219
PYSCR_SCI_CHANGELEXERSTATE = SCI_CHANGELEXERSTATE,
1220+
PYSCR_SCI_CONTRACTEDFOLDNEXT = SCI_CONTRACTEDFOLDNEXT,
1221+
PYSCR_SCI_VERTICALCENTRECARET = SCI_VERTICALCENTRECARET,
12061222
PYSCR_SCI_STARTRECORD = SCI_STARTRECORD,
12071223
PYSCR_SCI_STOPRECORD = SCI_STOPRECORD,
12081224
PYSCR_SCI_SETLEXER = SCI_SETLEXER,
@@ -1250,7 +1266,8 @@ enum ScintillaNotification
12501266
PYSCR_SCN_INDICATORCLICK = PYSCN_INDICATORCLICK,
12511267
PYSCR_SCN_INDICATORRELEASE = PYSCN_INDICATORRELEASE,
12521268
PYSCR_SCN_AUTOCCANCELLED = PYSCN_AUTOCCANCELLED,
1253-
PYSCR_SCN_AUTOCCHARDELETED = PYSCN_AUTOCCHARDELETED
1269+
PYSCR_SCN_AUTOCCHARDELETED = PYSCN_AUTOCCHARDELETED,
1270+
PYSCR_SCN_HOTSPOTRELEASECLICK = PYSCN_HOTSPOTRELEASECLICK
12541271
};
12551272
/* --Autogenerated ---------------------------------------------- */
12561273
#endif

PythonScript/src/EnumsWrapper.cpp

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,12 @@ void export_enums()
205205
*/
206206

207207
/* ++Autogenerated -------------------------------------------- */
208+
boost::python::enum_<Update>("UPDATE")
209+
.value("CONTENT", PYSCR_SC_UPDATE_CONTENT)
210+
.value("SELECTION", PYSCR_SC_UPDATE_SELECTION)
211+
.value("V_SCROLL", PYSCR_SC_UPDATE_V_SCROLL)
212+
.value("H_SCROLL", PYSCR_SC_UPDATE_H_SCROLL);
213+
208214
boost::python::enum_<CaretPolicy>("CARETPOLICY")
209215
.value("SLOP", PYSCR_CARET_SLOP)
210216
.value("STRICT", PYSCR_CARET_STRICT)
@@ -456,11 +462,15 @@ void export_enums()
456462
.value("SML", PYSCR_SCLEX_SML)
457463
.value("MARKDOWN", PYSCR_SCLEX_MARKDOWN)
458464
.value("TXT2TAGS", PYSCR_SCLEX_TXT2TAGS)
465+
.value("A68K", PYSCR_SCLEX_A68K)
466+
.value("MODULA", PYSCR_SCLEX_MODULA)
459467
.value("AUTOMATIC", PYSCR_SCLEX_AUTOMATIC);
460468

461469
boost::python::enum_<CursorShape>("CURSORSHAPE")
462470
.value("NORMAL", PYSCR_SC_CURSORNORMAL)
463-
.value("WAIT", PYSCR_SC_CURSORWAIT);
471+
.value("ARROW", PYSCR_SC_CURSORARROW)
472+
.value("WAIT", PYSCR_SC_CURSORWAIT)
473+
.value("REVERSEARROW", PYSCR_SC_CURSORREVERSEARROW);
464474

465475
boost::python::enum_<MarginType>("MARGINTYPE")
466476
.value("SYMBOL", PYSCR_SC_MARGIN_SYMBOL)
@@ -593,7 +603,8 @@ void export_enums()
593603
.value("INDICATORCLICK", PYSCR_SCN_INDICATORCLICK)
594604
.value("INDICATORRELEASE", PYSCR_SCN_INDICATORRELEASE)
595605
.value("AUTOCCANCELLED", PYSCR_SCN_AUTOCCANCELLED)
596-
.value("AUTOCCHARDELETED", PYSCR_SCN_AUTOCCHARDELETED);
606+
.value("AUTOCCHARDELETED", PYSCR_SCN_AUTOCCHARDELETED)
607+
.value("HOTSPOTRELEASECLICK", PYSCR_SCN_HOTSPOTRELEASECLICK);
597608

598609
boost::python::enum_<ScintillaMessage>("SCINTILLAMESSAGE")
599610
.value("SCI_ADDTEXT", PYSCR_SCI_ADDTEXT)
@@ -655,6 +666,8 @@ void export_enums()
655666
.value("SCI_GETMARGINMASKN", PYSCR_SCI_GETMARGINMASKN)
656667
.value("SCI_SETMARGINSENSITIVEN", PYSCR_SCI_SETMARGINSENSITIVEN)
657668
.value("SCI_GETMARGINSENSITIVEN", PYSCR_SCI_GETMARGINSENSITIVEN)
669+
.value("SCI_SETMARGINCURSORN", PYSCR_SCI_SETMARGINCURSORN)
670+
.value("SCI_GETMARGINCURSORN", PYSCR_SCI_GETMARGINCURSORN)
658671
.value("SCI_STYLECLEARALL", PYSCR_SCI_STYLECLEARALL)
659672
.value("SCI_STYLESETFORE", PYSCR_SCI_STYLESETFORE)
660673
.value("SCI_STYLESETBACK", PYSCR_SCI_STYLESETBACK)
@@ -1154,6 +1167,8 @@ void export_enums()
11541167
.value("SCI_ROTATESELECTION", PYSCR_SCI_ROTATESELECTION)
11551168
.value("SCI_SWAPMAINANCHORCARET", PYSCR_SCI_SWAPMAINANCHORCARET)
11561169
.value("SCI_CHANGELEXERSTATE", PYSCR_SCI_CHANGELEXERSTATE)
1170+
.value("SCI_CONTRACTEDFOLDNEXT", PYSCR_SCI_CONTRACTEDFOLDNEXT)
1171+
.value("SCI_VERTICALCENTRECARET", PYSCR_SCI_VERTICALCENTRECARET)
11571172
.value("SCI_STARTRECORD", PYSCR_SCI_STARTRECORD)
11581173
.value("SCI_STOPRECORD", PYSCR_SCI_STOPRECORD)
11591174
.value("SCI_SETLEXER", PYSCR_SCI_SETLEXER)

PythonScript/src/NotepadPlusWrapper.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include "MenuManager.h"
88
#include "PluginInterface.h"
99
#include "ScintillaWrapper.h"
10+
#include "PythonScriptVersion.h"
1011

1112
bool NotepadPlusWrapper::s_inEvent;
1213

@@ -230,6 +231,11 @@ void NotepadPlusWrapper::setCurrentLangType(LangType lang)
230231
Py_END_ALLOW_THREADS
231232
}
232233

234+
boost::python::str NotepadPlusWrapper::getPluginVersion()
235+
{
236+
return boost::python::str(PYSCR_VERSION_STRING);
237+
}
238+
233239
boost::python::list NotepadPlusWrapper::getFiles()
234240
{
235241
idx_t count;

PythonScript/src/NotepadPlusWrapper.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,8 @@ class NotepadPlusWrapper
561561

562562
typedef std::multimap<idx_t, PyObject*> callbackT;
563563

564+
boost::python::str getPluginVersion();
565+
564566
protected:
565567
LRESULT callNotepad(UINT message, WPARAM wParam = 0, LPARAM lParam = 0)
566568
{

PythonScript/src/NotepadPython.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ void export_notepad()
8585
.def("getCommandLine", &NotepadPlusWrapper::getCommandLine, "Gets the command line used to start Notepad++")
8686
.def("allocateSupported", &NotepadPlusWrapper::allocateSupported, "Returns TRUE if the Command ID allocation API is supported in this version of Notepad++")
8787
.def("allocateCmdID", &NotepadPlusWrapper::allocateCmdID, "allocateCmdID(numberRequested) -> int\nAllocates a Command ID for use in WM_COMMAND. Mainly used internally by plugins.")
88-
.def("allocateMarker", &NotepadPlusWrapper::allocateMarker, "allocateMarker(numberRequested) -> int\nAllocates a marker number for Scintilla. Use this to stop marker number collisions with other plugins / scripts.");
88+
.def("allocateMarker", &NotepadPlusWrapper::allocateMarker, "allocateMarker(numberRequested) -> int\nAllocates a marker number for Scintilla. Use this to stop marker number collisions with other plugins / scripts.")
89+
.def("getPluginVersion", &NotepadPlusWrapper::getPluginVersion, "getPluginVersion() -> str\nGets the version number of the PythonScript plugin, in the format '0.9.0.1'");
8990

9091

9192

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef _PYTHONSCRIPTVERSION_H
22
#define _PYTHONSCRIPTVERSION_H
33

4-
#define PYSCR_VERSION_NUMERIC 0,9,0,2
5-
#define PYSCR_VERSION_STRING "0.9.0.2"
4+
#define PYSCR_VERSION_NUMERIC 0,9,2,0
5+
#define PYSCR_VERSION_STRING "0.9.2.0"
66

77
#endif

0 commit comments

Comments
 (0)