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