Draw2D touch version 2.1.2 released

We’re proud to announce the latest release of the Draw2D touch framework. The Christmas edition :-)

+ Different selection policies like MultipleSelection, SingleSelection, ReadOnly or panning of the canvas
+ Plugable selection feedback implementations for figures
+ Canvas decorations for hiding ports, growing responsive ports during drag&connect..

rename Graphiti to "Draw2D touch"

I decided to rename the library graphite to „Draw2D touch“. This also has its impact on the development of the veteran „Draw2D“. I decided to support just bugfixing and no further development.

The „draw2D“ is still part of the delivered package, but keep in mind - no further development or support anymore for this good old veteran.

Graphiti 1.2.0 released

+ new callback method: Figure.onContextMenu
+ new example "connection_with_conextmenu"
+ improved documentation for graphiti.decoration.connection.Decorator and inherit classes
+ Better documentation for Connection
+ fixing some JS-Doc

Graphiti 1.1.0 released

+ fixing bug for SetFigure.setVisible(). Not all elements of the figure are hidden if setVisible(false) is called.
+ new method Canvas.clear() to reset the current canvas

Graphiti 1.0.0 released

+ new method: Figure.setVisible
+ ATTENTION: drop single file include and replace with package loader.
+ fixing the connection decoration. In the past the decoration hasn't been remove of the connection deleted.
+ Add new package "graphiti.shape.icon" with 225 icons
+ new demo page with the new 225 icons
+ new shape "graphiti.shape.basic.Image"
+ new shape "graphiti.shape.node.Hub"
+ new shape "graphiti.shape.node.HorizontalBus"
+ new shape "graphiti.shape.node.VerticalBus"
+ new connection decoration "graphiti.decoration.connection.BarDecorator"
+ ATTENTION: changed the load and init of the graphiti lib. Inspect the examples how to load and init the graphiti.
+ ATTENTION: switch to jQuery 1.8.1 and jQueryUI 1.8.23
+ change method VectorFigure.getLineWidth => VectorFigure.getStroke
+ new method Port.setMaxFanOut/Port.getMaxFanOut to limit the numbers of connections for ports.
+ ATTENTION: change signature of the method Figure.onDragEnter. This method didn't return true/false anymore. Return null/graphiti.Figure instead

Graphiti 0.9.39 released

+ fixing missing render context in InternetExplorer (patching canvg.js)
+ New concept for connection decorations (Diamond, Arrow, Circle,...)
+ Demo for connection decoration (Connection Examples -> Decoration )

Graphiti 0.9.38 released

+ fixing NullPointerException after delete a connected node and reconnect them with Drag&Drop. Reported on StackOverflow.com

Graphiti 0.9.37 released

+ resizeable SVG shapes. It is now possible to resize the native "SVG" shapes as well
+ remove double call of the commit callback in the LabelInplaceEditor
+ enable InplaceEdit for labels attached to normals shapes
+ Unbind the click callback of the element after the inline editor dies
+ redirect the "OpAmp.setBackgroundColor" call to the OpAmp triangle and not to the complete boundingBox of shape. Provide example in the galerie_shape_analog example.
+ Change the Locator calculation from absolute to relative coordinates (related to the parent)
+ new method "Figure.resetChildren" to remove all child decorations of a shape.
+ extended JSON read/write demo "io_json_extended" to support multiple Labels.

Graphiti 0.9.36 released

+ rename class graphiti.EditPolcy to graphiti.command.CommandType
+ concept for drag&drop and other edit constraint handling: graphiti.policy.EditPolicy
+ new class DragDropEditPolicy
+ new class RegioEditPolicy
+ new class HorizontalEditPolicy
+ new class VerticalEditPolicy
+ new example for EditConstraint usage "edit_policy_constraint"

Graphiti 0.9.35 released

+ new Locator for shape decorations. LeftLocator, RightLocator and CenterLocator.
+ Provide the onClick and onDoubleCLick events for the children/decoration of a shape as well. Children can now handle this events in its own callback method.
+ buildin editor for Labels. see package graphiti.ui.LabelEditor and the examples connection_labeledit_dialog and connection_label_edit_inplace
+ fix bug in the JSON serialization. Use good defaults if some attributes are missing
+ new example connection_label_edit_inplace
+ drop code for unfinished MVC pattern. Not good enough for production. Rewrite if required.
+ avoid DivionByZero in Sparkline if the widget contains no data

Draw2D and Graphiti are now a download bundle

Graphiti is a complete rewrite of the previous versions of Draw2D, using raphaelJS as base. It makes the library much more robust, flexible and customizable. If you purchase Draw2D, graphiti is part of the download package.

Graphiti 0.9.34 release

+ new example 'shape_add_port_via_api' to show the handling of a 'Locator' and
+ handling of dynamic ports.
+ new shape "graphiti.shape.basic.Diamond"
+ consider the z-order of the shapes in the hitTest for drag/drop operation
+ new method Figure.getZOrder.
+ fixing broken reference in jsDoc

Draw2D 0.9.31 released

Feature added: New demo with a form InputField in a figure

New examples for graphiti

Very hot examples available for the building UI widget Slider, Sparkline and a PieChart

Awesome demo of graphiti

The next generation of Draw2D, called graphiti, is available for a sneak preview. Inspect the PNG-Export or the simple JSON Import/Export

Draw2D 0.9.30 released

Bug fixed: wrong z-index calculation within CompartmentFigure and children
Type error. Didn’t convert „string“ to „number“.

YouTube demo of iPad version

This is an experiment design of the current architecture and used libraries. It is more a feasibility study than a final design. But I’m pleased with the result.


Draw2D for iPad?

The time is ripe to start a new project for the iPad, Chrome, FF, and of course IE.

+ working on iPad
+ working on iPad
+ working on iPad ;-)
+ same type of API as the „old“ draw2D library
+ MORE performance on rendering
+ support for auto layout

Based on the Internet Explorer 6-9 it is not possible to use canvas ( or excanavs) with a good performance. So I’m using VML/SVG.
Related to this decision it is not possible to export a PNG without any detour. There is a lib to render SVG into a Canvas:

it is possible to create a PNG in this way.
SVG -> CANVG -> Canvas -> PNG.

But keep in mind: The new lib is not API compatible with the old Draw2D!

Draw2D 0.9.29 released

Bug fixed: Wrong hitTest during Drag&Drop of InputPort and OutputPort. Wrong corona calculation (to big)

Exciting new project on track

Verside is a very popular and mature Open Source HTML5 and PHP application which allows you to easily create a highly customizable database front-end/application without coding.

You can use it to create in a few minutes a very basic CRUD (create, read, update, delete) database front-end or to develop a more sophisticated database application. No programming skills are needed to use it; if however you are a PHP programmer with
Verside you can save tens of hours of work.

+ for iPad, Chrome, FireFox, Safari
+ build with PHP, jQuery, CodeIgniter, Doctrine
+ just drag-and-drop customizable (on iPad too)
+ new and more elegant
+ Sourcecode on Github
+ hassle-free installation on your WebSite
+ PHP App Installer on Github

See more on Github ( GPL license, free and source code available )

Draw2D 0.9.28 released

Bug fixed: JS-Doc is missing.
I didn’t notice that my perl installation has been broken after the upgrade of my OSX from 10.6 to 10.7. So the build of the Draw2D didn’t generate the HTML documentation.

Draw2D 0.9.27 released

Bug fixed: Broken XML file load/save demo.
The Demo loads and save a XML file with the graph representation. It is a very big demo with all aspect of the Draw2D demo. MVC, XML load/save, own Figures, undo/redo, ...