GraphBuilder for Notepad++ 1.3.3
Seven points from the notes on the panel, and a parser defect that was hiding
behind one of them. The square and the root now mean what they look like.
Added
-
A button on the editor toolbar, and the keyboard shortcut spelled out in the
panel title. The editor wants three images for one icon - a bitmap and two
for the themes - and drops the button silently if any of them is missing, so
all three are drawn in code instead. The title asks the editor for the shortcut instead of
repeating what the plugin registered, so it shows the binding the editor
actually has rather than the one we asked for. -
A reference of the signs and functions of the parser behind its own button,
every entry with a description. The list of entries is generated from the name
table of the parser itself and checked against it, so the reference cannot
contain a name absent from the name table of the parser, or omit one present
there. It says
out loud the one thing people trip over -^is exclusive-or, not a power.
Writex ** 2for the square. -
Bookmarks became split buttons. The main part restores, the arrow offers
"write over" and "clear"; an empty cell has no arrow. Ctrl and Shift work as
before. -
Colour, width and dash per curve, set from a small window opened by the
circle in the formula row. The circle now shows what the curve is actually
drawn with rather than a shade picked by position. -
A formula can be edited in place by double-clicking it, undo included.
-
In polar mode the angle range is shown only there, with buttons for one, two,
three and five turns.
Fixed
-
Clicking the same line again built nothing. The panel skipped a rebuild when
the selected text matched what it had already shown - a check on the text
rather than on the intent. Reselecting the same formula is an ordinary thing
to do, and it works now. -
Pasting a table read ONE table while a selection could hold several, and the
point sets silently merged into one. A blank line between tables now starts a
new row, columns past the second are ignored, and selecting a table in the
editor does what pasting does. -
Sin(2) ** 3was evaluated asSin(8)andLn(100) // 2asLn(10): the
power and root signs after a function call were moved inside its brackets.
The answer was wrong rather than refused, which is the harder case to notice- a refusal you see, a wrong number you do not. This is what stood behind the
report about "the square and the root".
- a refusal you see, a wrong number you do not. This is what stood behind the
-
An exponent with a sign did not read at all:
2.5E-2and3E+2were
refused, and a variable namedEcut1E3in half. A number is now
indivisible to the tokeniser - sign, separator and exponent are taken whole. -
Names that read as numbers -
E3,X1,$FF,&17,%1010- were
silently swallowed by number reading, and differently on FPC and on Delphi.
They are refused at registration now. -
The sign of a number did not reach the key of the template cache.
X + 400
andX - 400shared one key, and the second was evaluated by the script of
the first: afterX - 400the expressionX + 400answered -398.5 instead
of 401.5. -
A per cent sign in text written by a person turned an ordinary parse error
into a conversion error:%s + 1raisedEConvertError. -
Thirty five English messages of the parser were rewritten and one was added.
-
Extremum marks are thinned so that neighbours do not merge - a minimum
number of pixels between the ones shown. They were thinned for the zoom they
were computed at, though, and they are kept in graph coordinates. Zoom out and
marks that stood fourteen pixels apart end up in one: the arrows overlap and
fuse into a solid block - a square instead of an arrow, standing alone because
the curve for the new view is still being computed. The same rule now applies
when drawing, not only when computing.
Download
GraphBuilder-npp-1.3.3-win64.zip - 1 460 394 bytes, sha256
1c143f67fbbb47d52b53b9d5da45dad3d9823a4776a6e9e4b2f9440e4be4a7d0
The archive holds the library, the WebView2 loader, the page and the
reference of signs.
Close Notepad++, unpack the archive into a folder named GraphBuilderLaz
inside the editor's plugins folder, and start it again. The folder has to
carry that name: Notepad++ looks for a plugin only in a folder named after the
library itself, and the library here is GraphBuilderLaz.dll. Then press
Alt+G.
Checked
Twenty four test sets on Linux, twenty one under FPC on Windows, nine hundred
and fifteen checks under Delphi - no failures in any of them. Generated runs
6400, 2400 and 3000 expressions report nothing. Two of those three were also
made against the code before these fixes: they report 3436 and 997 divergences.