Skip to content

GraphBuilder for Notepad++ 1.3.5

Choose a tag to compare

@pisarev pisarev released this 31 Aug 20:57
· 4 commits to main since this release

Curves that leave the window, and a panel that remembers what you did.
The parser computes what it did before: nothing in its semantics was
changed on purpose.

Added

  • Redo. Undo has been there for a while; what it undid was gone for good.
    Ctrl+Y or Ctrl+Shift+Z now puts it back, and the redo trail is dropped the
    moment you change something else - the same rule every editor follows.

  • A button that fits the graph to the screen. A function like 1/x or
    tan(x) has no finite largest value, so taking the lowest and the highest
    would set a view billions high with the curve lying flat on zero. The values
    are sorted instead and two per cent is dropped from each end: the asymptote
    goes into that discard, the hump stays. The height is what gets fitted - for
    y=f(x) the x range is yours to choose, and only in polar coordinates are
    both fitted.

  • A button that hides the list of functions and brings it back. Docked to the
    side the list takes most of the panel, and until now it could only be
    scrolled away, not put aside.

  • Bookmark cells can be copied and pasted one at a time. The ten cells inside
    the panel are unchanged; what is new is that a single cell can be taken out
    through the clipboard - into a mail, a file, another machine, another
    person - and put into any cell on the other end, not only the one it came
    from.

Changed

  • The panel opens on Alt+B. It used to be Alt+G, and where Chrome is installed
    with Gemini enabled that combination is taken system-wide: the plugin never
    sees the key, the panel does not open, and it looks as though the plugin is
    broken. Alt+B was free on every machine we checked. If you had rebound the key yourself,
    Notepad++ keeps your choice - a plugin default does not override it.

    Building the selection moved along with it, to Alt+Shift+B. The clash is at
    Alt+G alone, and for a while the capture was left where it was - but that
    left one plugin with two different letters, which is harder to remember than
    one. The plugin now has a single letter.

  • The panel title names both shortcuts, and shortens itself as the panel gets
    narrower rather than cutting the text off. When only one shortcut fits, the
    one that stays is the capture: the panel can be opened with the mouse and
    from the menu, the capture cannot.

  • The two clipboard buttons say what they do - "copy state to the clipboard"
    and "paste state from the clipboard". They were labelled as though they
    saved and restored the state inside the plugin, which is what the bookmarks
    do, and the two were easy to confuse.

Fixed

  • A curve that ran past the top or bottom of the window came apart into
    pieces. Every excursion past an edge started a new piece, so sin(x)*3 in a
    window one unit high arrived in seven pieces instead of one, and there was
    no telling those breaks from a real discontinuity. A break is now decided by
    the curve itself - a step that lands past the opposite edge, which is what a
    pole does - so 1/x still breaks at zero, and a curve that stays inside the
    window is no longer cut into pieces.

  • Editing a formula no longer loses what you typed. The list of curves was
    redrawn by whatever arrived on its own - the engine answering your previous
    action, a set of formulas coming in, a saved state returning - and the edit
    box went away with the row. A redraw that arrives while you are typing now
    leaves the rows alone and happens once the edit is over. Your own gesture -
    a bookmark, an undo, a clear - still ends the edit, as it did before.

  • A curve leaving the window stopped short of the edge instead of running into
    it. The point past the edge was thrown away, and with nothing to draw
    towards, the line ended early.

  • In the report, every formula's colour dot was drawn in the pen colour, so
    with multi-coloured curves the dots did not match the curves they stood for.

  • Extremes were marked at the nearest grid node rather than at the actual
    turning point. With x*x the minimum sits exactly on a node and the error
    was invisible; off a node the mark was visibly beside the peak.

  • The note under the reference list is no longer glued to the list, and reads
    the same way for a curve, a bar chart, an area and a boundary. Before, it
    read as though everything were a curve.

  • The Color property could be pushed off the bottom of the component's
    designer form at larger font sizes: the row count was already at its
    maximum, so the last property had nowhere to go.

  • Moved to another machine, the panel looked for its page in the wrong folder
    and fell back to the old window without saying so. It now writes down which
    file it looked for and did not find.

  • The library and the page check each other's version at startup. A build that
    pairs a new library with an old page is reported instead of running.

  • Measuring text width no longer shares one screen device context between
    threads. The functions used to hold that context in common; each call now
    takes its own, and the cost of that is paid where the measurement happens.

  • Under FPC, a guard on the angle before sin/cos stops the geometry from
    raising an invalid operation where Delphi returned a number.

  • Under FPC 3.2.2, clipping a segment could return the wrong points. The cause
    is a miscompilation of that expression under FPC 3.2.2 - a chain of array
    concatenations put the last element in the wrong place - and the fix splits
    the chain into two steps rather than waiting for the compiler.

Before you install by hand

The panel needs WebView2 runtime 150.0.4078.44 or newer. If the panel opens
empty, that is the first thing to check; INSTALL.txt says how to read the
installed version.

The page of the panel goes into a folder named ui, not web. Copying the
whole web folder leaves the plugin running with the old window in place of
the panel - it now says so in graphbuilder.log under %TEMP%, naming the
file it looked for.

Download

GraphBuilder-npp-1.3.5-win64.zip - 1 490 279 bytes, sha256
648e28d76c910e56a2278f5e8d4ce198cc7cbc82135c161fa9b864756fce891e

The archive holds the library, the WebView2 loader, the page, the reference of
signs and INSTALL.txt.

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+B.