README.md in wxruby3-shapes-0.9.0.pre.beta.3 vs README.md in wxruby3-shapes-0.9.5

- old
+ new

@@ -5,11 +5,11 @@ [![Documentation](https://img.shields.io/badge/docs-pages-blue.svg)](https://mcorino.github.io/wxRuby3-shapes) # wxRuby3/Shapes - A wxRuby3 2D shapes and diagramming framework -![wxRuby3/Shapes demo](assets/screenshot.png) +![Logo](assets/logo.svg) ## Introduction **wxRuby3/Shapes** (Wx::SF) is a pure Ruby software library/framework based on wxRuby3 which allows easy development of software applications manipulating graphical objects (shapes) like various CASE @@ -19,21 +19,22 @@ The library consists of several classes encapsulating a so called 'Shape canvas' (visual GUI control used for management of diagrams) providing the following features: - Create charts (diagrams) interactively in your wxRuby3 applications -- Serialize/deserialize charts to file or any io stream in multiple formats (currently supported formats are JSON and YAML) +- Serialize/deserialize charts to file or any io stream in multiple formats (currently supported formats are JSON, YAML and XML) - Support for Clipboard operations (Cut/Paste) and Drag&Drop of diagram components (shapes) - Support for Undo/Redo operations - Support for alignment of diagram components. - Support for printing of diagrams (including preview) - Support for diagram export to bitmap (any supported type) - Support for Thumbnail view of diagram - A standard collection of diagram components - - Shapes: basic rectangular, square, circle, ellipse, rounded rectangle, grid, flexible grid, text, editable text, polygonal, diamond, bitmap + - Shapes: basic rectangular, square, circle, ellipse, rounded rectangle, grid, flexible grid, horizontal box, + vertical box, text, editable text, polygonal, diamond, bitmap - Lines: straight, curved, orthogonal, rounded orthogonal - - Line arrows: solid, open, diamond, circle + - Line arrows: solid, open, diamond, circle, cup, prong, square, crossbar, etc. - Highly customizable and extendable The shape framework (and shape canvas) allows to define the relationship between various shape types (for example which shape can be a child of another one, which shape types can be connected together by which connection type, how do various connections look @@ -41,10 +42,41 @@ of diagrams. More over, the library source code is pure Ruby based on wxRuby3 GUI toolkit, so it will run on any platform that supports Ruby and wxRuby3. +![Screenshot](assets/screenshot.png) + +### To install + +The wxRuby3/Shapes project provides gems on [RubyGems](https://rubygems.org) which can be installed with the +standard `gem install` command line this: + +```shell +gem install wxruby3-shapes + ``` + +See [INSTALL](INSTALL.md) for more details. + +### To test + +After installation run this: + +```shell +wx-shapes test +``` + +### To run a demonstration application + +After installation run this: + +```shell +wx-shapes sampler +``` + +See the output of `wx-shapes --help` for more options. + ## wxRuby3/Shapes licence wxruby3/shapes is free and open-source. It is distributed under the liberal MIT licence which is compatible with both free and commercial development. See [LICENSE](LICENSE) for more details. @@ -100,16 +132,16 @@ **wxRuby3/Shapes** is not a straight port of wxShapeFramework although much of the structure is maintained with the following major implementation differences: - wxRuby3/Shapes implements a totally different serialization scheme in which none of the XML serializer -code has been ported. In fact wxRuby3/Shapes does not offer any XML serialization out of the box but instead -provides a more adaptable implementation with (for now) two supported output formats; JSON and YAML. +code has been ported but instead relies on the [FIRM](https://github.com/mcorino/firm) gem for serialization support. - Related to this the internal management of shape references has been changed as well as this was tightly linked to the serialization implementation. - The API has been Ruby-fied with respect to constant names, method names and argument passing and return values. - The ScaledDC class has been integrated with wxRuby3 and is not part of wxRuby3/Shapes. +- The implementation has been noticeably improved and extended compared to the wxShapeFramework implementation. In addition many small tweaks, improvements and also bugfixes have been implemented as part of the port. ### I am getting an error trying to install wxRuby3/Shapes