It is just about 40 lines of server side code to connect draw2d with node.js and load/save JSON files or have access to the RaspberryPI GIO ports. Just checkkout the sample application on GitHub: https://github.com/freegroup/draw2d_js.app.digital_training_studio or install this application with npm if you have already installed node.js
bash: npm install -g digitaltrainingstudio
you can now start the server with
digitaltrainingstudio. This works well even on you RaspberryPi. You have full access to your GPIO pins fro the circuit simulator in your browser!
With the release of 6.1.27 a new implementation of an draw2d.layout.locator.Locator is part of Draw2d. You can now add smart draggable decorations to any kind of shapes. This feature is seen in several desktop apps and is now part of Draw2D as well.
show case available on Github
- Design circuits quickly and easily with a modern and intuitive user interface with drag-and-drop, copy/paste, zoom & more
- Take control of debugging by pausing the simulation and watching the signal propagate as you advance step-by-step.
- Don't worry about multiple platforms on student computers. DigitalTrainingStudio runs within Draw2D
Figures have optimal legibility ranges—just like typefaces. Meaning a shape designed for 32 pixels will often be illegible at 50% and appear chunky at 300%. That’s why Iconic is being designed at three sizes for desktop applications.
You can now design your own shapes in Draw2D optimized for different zoom level. Either you use different SVG code or you can implement it as draw2d.StackFigure. Below you see a vey simple example how the figure behaves during zoomIn / zoomOut.
With the release of 6.0.0 a new implementation of an draw2d.layout.locator.Locator is part of Draw2d. You can now add draggable decorations to any kind of shapes. This feature is seen in several desktop apps and is now part of Draw2D as well.
+ changing the "on("select",function)" event signature. "figure" is now part of an event parameter instead of a single callback argument. Incompatible changes to version 5.x.x
+ all "changes:
+ fixing typo in "InteractiveManhattanConnectionRouter". "undefinied" -> "undefined"
+ fixing "jitter" zoom in/out with mouse wheel
+ fixing several JSDoc issues
+ new demo for changing figure representation during zoom in/out
+ fixing broken InteractiveManhattanRouter. Broken start/end if shape is moved
+ new method required callback method Locator.bind/Locator.unbind
+ changing "zoom" and "zoomed" event parameter from factor -> value
+ new Layout figure "StackLayout".
+ fadeOut/fadeIN option in the "setVisible" method of all shapes
+ fixing broken toBack method for sets in the raphael implementation
+ new sample for StackLayout. Click and show the next fixure within the stack
+ add getter/setter for SVGFigure. Now you can change the SVG during figure live time
+ canvas fires new events: zoom, zoomed, removed
+ new zoom implementation with MouseWheel support
+ fixing background gradient error if transparency is set to <1 for ports
+ fix broken MySlider implementation in the samples
+ don't force redraw or call of "attr" if the attributes are empty
+ remove deprecated currentHoverElement variable in ports
Mouse Wheel Zoom: New for this release is a mouse wheel zoom. This tool requires you to press the [Shift] key to activate the mouse wheel zoom function. Holding [Shift] and rolling the mouse wheel forward zooms in, while rolling it backwards zooms out. Draw2D will shift the center of the zoom focus to where your cursor is on the screen, allowing you to zoom in and out from one area of a presentation to another smoothly.
+ source and target decoration of an connection isn't handle correct with the toFront and toBack operation - fixed.
+ fix broken serialization of "Line" if the vertices in the JSON document contains less than 2 vertex. This will break the complete reading of the document.
+ fixing wrong icon size of collapsible figure
+ respect the "visible" flag of a child by calling the method "add"
+ fixing wrong width calculation of verticalLayout
+ fixing that ports are not moved when a figure is moved.
+ new class draw2d.command.CommandAttr to support any kind of attribute undo/redo
+ adding Polygon.setDashArray
+ enable selection of connections within Composites
+ fix broken drag/drop of lines. Line didn'T update end/start after drag&drop end points
+ add the start/end point of a draw2d.shape.basic.Line to the JSON document. Lines can now read/write to JSON too.
+ extend constructor of ShowGridPolicy that the policy can listen to the "zoom" event of the canvas and apply them to the grid size.
+ support Layout.clone()
+ fix grouping error of connections with a label as a child. Label pushed into the background after grouping