Skip to content

GraphBuilder for Notepad++ 1.3.7

Latest

Choose a tag to compare

@pisarev pisarev released this 08 Sep 18:45
· 1 commit to main since this release

Seven fixes in the panel. Four address points raised by one reader who tested
1.3.6. While investigating his fifth report, which we could not reproduce, we
found a separate state-handling case that needed correction. The remaining two
came out of our own review. No command or setting changes meaning. One toolbar
button is renamed.

Fixed

  • Axis label spacing now follows a 1-2-5 step sequence instead of the two fixed
    steps 2 and 4. With only two steps available there was a single density
    transition across the whole zoom range, and the spacing was off on both
    sides of it. On a wide view such as -1000 to +1000 the old algorithm produced
    hundreds of labels, far denser than intended; in a sub-unit view that
    contained no integer it produced no labels at all. The step is now taken from
    the 1-2-5 series and powers of ten in both directions, chosen so that
    neighbouring tick positions are nominally at least 56 pixels apart. The same
    series extends below 1, so fractional labels are used when the selected step
    is fractional.

  • The view-fitting button keeps the locked aspect ratio. It passed a
    data-derived height to the page, and that path stored the height without
    applying the ratio constraint. A circle therefore appeared as an ellipse
    until the window was resized: the resize handler recomputed the height with
    the constraint and removed the distortion. The button now applies the same
    calculation already used by size().

  • A cleared sheet stays cleared. The state flag that records an intentional
    clear was lost when a formula was picked up from the editor under the caret.
    If the plugin then inspected editor text containing no formula, the sheet
    stayed empty but was no longer marked as cleared on purpose, so switching the
    coordinate system and coming back restored the two built-in example formulas,
    Sin(X) and Cos(X) / 2. A sheet that has never been opened still shows the
    built-in examples; that behaviour is unchanged.

  • A curve keeps its source metadata across a change of coordinate system. We
    could not reproduce the reported case in which clearing the editor selection
    failed to remove a curve after switching: in our tests the curve was removed
    in both directions, including after restoring saved state. While tracing that
    path we found that the curve was transferred to the other sheet without the
    metadata recording that it came from the editor, so the curve could respond
    differently to clearing the editor selection after the switch than before.
    That metadata is now transferred with the curve and preserved in saved
    state. We
    have not established that this was the cause of the reported symptom, which
    remains unconfirmed.

  • The menu item and the panel title use the same words. The menu said Plot the selection while the panel title used grab for the same key combination.
    Both now say plot the selection.

  • The view-fitting button widens the view when the aspect ratio is locked. With
    the ratio locked, which is the default, the height of the view follows from
    its width and the shape of the canvas. That rule reached this path with the
    aspect-ratio fix listed above, and it had a side effect: the height picked
    for the data was replaced as soon as it arrived, and only the vertical centre
    of the picked view survived. On a symmetric pair such as
    Sqrt(1 - X*X) and -Sqrt(1 - X*X) that centre is zero, so the button
    appeared to do nothing but move the view to the middle.

    The width is now increased until the height that follows from it reaches the
    height picked for the data, and the cell stays square. The width is never
    made smaller: the horizontal range is the reader's to set. Where the height
    that follows from the current width already reaches the picked one, the width
    is left as it is; the view still moves to the vertical centre of the values,
    as it did before.

    With the ratio unlocked the button behaves as before: the picked height is
    applied directly.

  • Report mode uses the standard pointer. The plot normally shows an open-hand
    cursor because the graph can be dragged with the mouse; report mode disables
    dragging but previously left that cursor in place. Any active drag state is
    now cleared when report mode opens.

Changed

  • The toolbar button that adjusts the plot range is labelled Fit the view.
    In 1.3.6 it read Fit to screen. It uses the middle 96% of the sampled values
    rather than their full extent, dropping 2% at each end: curves such as 1/x
    or tan(x) have no finite maximum, and fitting to the full extent would give
    a view too tall to read. The earlier label promised to fit the whole curve on
    the screen, which is not what the button computes.

Download

GraphBuilder-npp-1.3.7-win64.zip - 1 493 287 bytes, sha256
54b62040c4b562180adfb4a67033be8502f6bf6a86ad5ba1e9173a0a9ae8d058

The archive contains GraphBuilderLaz.dll, WebView2Loader.dll,
ui/index.html and syntax.xml. Close Notepad++, unpack it into a folder named
GraphBuilderLaz inside the editor's plugins folder, and start it again. For
this package the folder name must match the DLL base name: GraphBuilderLaz.
Then press Alt+B.