Lucy comes with a variety of customizable frontend implementations. This diverse offering ensures that you can integrate Lucy in different kinds of applications.
To help choose your frontend, first ask yourself these questions:
-
Do I want to use the hardware-accelerated 2D/3D Lightspeed map or the non-accelerated 2D GXY map? Choose your technology stack discusses these options.
-
Is the map the main focus of the application?
-
Is the application limited to a single map or should it show more than one map?
-
In what way does the end-user need to customize the frontend?
The dockable frontends of Lucy and Lucy GXY
The dockable frontend offers a flexible, dockable application pane configuration with these features:
-
The end-user can dock, undock, move, and resize panes.
-
You can save custom layouts into the workspace.
-
You can open many maps at the same time.
-
It supports 2D/3D Lightspeed maps, or 2D GXY maps in the case of Lucy GXY.
The frontend is suitable for applications where the map is just a part of a larger application that displays many extra user interface components to cover other requirements.
This frontend is the default frontend used by the TLcyMain
class. To start it from a LuciadLightspeed release, simply run Lucy.bat
or Lucy.sh
, depending on your operating system.
To start a dockable frontend configured with a 2D Lucy GXY map, run the appropriate GXY equivalent script: LucyGXY.bat
or LucyGXY.sh
.
In Lucy GXY, you can still start a 3D map alongside the initially launched 2D map.
The Lucy user guide offers a visual overview of the dockable frontend.
The map-centric frontend
The map-centric frontend gives the map a central role in the application. It has these features:
-
Most of the screen real estate is dedicated to the map.
-
It uses a dark look and feel, putting even more focus on the map.
-
It uses a single map that can easily switch between 2D and 3D visualization.
-
The toolbar and menu bar of the dockable frontend merge into just one bar in the map-centric frontend. It offers a smaller set of functions, focused on loading and exploring data.
-
Various tasks require less user interaction:
-
The table view and profile view are always available below the map. Users can expand them when necessary.
-
Auxiliary panels such as the Map layers and Object properties in the screenshot are overlaid on the map. Users can expand them when necessary.
-
Time controls automatically appear when time-related data is available.
-
Users can access an extra toolbar to draw annotations on the map.
-
-
These features are all available as sample code. As a result, you can use it as a starting point for your own application and fully customize it where necessary.
To launch a map-centric configuration of Lucy, you can start Lucy Map Centric from the LuciadLightspeed launcher, or you can start the LucyMapCentric
script.
The Lucy user guide offers a visual overview of the map centric frontend.
Other frontends
LuciadLightspeed comes with more sample frontends:
-
samples.lucy.frontend.tabbedpanes
: a simpler version of the dockable frontend based onJTabbedPane
, offering less complexity and less flexibility to the end-user -
samples.lucy.frontend.internalframes
: a multiple-document interface (MDI) frontend that models panes asJInternalFrame
instances -
samples.lucy.frontend.granteddockableframes
: a sample frontend implementation with the same features as the default dockable frontend
You can start all these frontends as samples from the LuciadLightspeed launcher.
Designing a custom frontend
You can also write a completely custom frontend with unlimited flexibility with respect to the user interface. See Creating a custom front-end application for an explanation. This article also discusses technical details of the available sample frontends.