///////////////////////////////////////////////////////////////
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
///////////////////////////////////////////////////////////////

[[tools-envisage,Envisage Tool]]
= Envisage =

Envisage is a Swing based visualization tool for the Polygene™ Application model.
Visualizations can be printed to PDFs.

include::../../build/docs/buildinfo/artifact.txt[]

It can be handy to run Envisage in development <<def-application-mode, Mode>> while working on assemblies.

== Usage ==

Envisage can be easily used directly and prior your Application activation:

[snippet,java]
----
source=tools/envisage/src/test/java/org/apache/polygene/envisage/school/EnvisageSchoolSample.java
tag=envisage
----

As you can see, Envisage operates on the ApplicationDescriptor, this means that you
can easily embed it in your own Applications too.

From the sources you can run the `runEnvisageSample` or `runEnvisageSchoolSample` Gradle tasks
to run interactive examples. See <<build-system>> if you need some guidance.

== Screenshots ==

image:tools-envisage-structure.png[width="800px"]

image:tools-envisage-stacked-collapsed.png[width="800px"]

image:tools-envisage-stacked.png[width="800px"]

image:tools-envisage-type.png[width="800px"]
