Skip to end of metadata
Go to start of metadata

Team

Johann Sorel (AlterSIG Project)

Quick presentation

This module is the integration of project AlterSIG Toolbox.
Every component is cleanup and once ready will move to the "extension/swing-widgets" module.

This module offers several Swing components like :

  • A tree to manage MapContext
  • A dialog to quickly open datas
  • Some property edition panels
  • A small JMappane control bar
    To be honest they are not all fully functionnal but they work.

Help needed !

Many things have to be done before we have a correct swing widget library.
This module is getting really too big for a single developer. there is now
more then 150 classes. Thoses classes spike through the GeoTools other modules
so there is a heavy maintain job to keep everything working.

Here is a list of things to do, but I dont have time to :

  • Updated/fixed/enrich the property panels
  • Create a complete SLD editor, for now it's basic style edition. Stefan Krüger should work on this on february 2008. Feel free to contact him if you have any questions, comments, ideas: sld@wikisquare.de .
  • Improve Map drawing speed, this should be done at the beginning of the year with the Java2DRenderer.
  • Create a ToolBox/Tool structure (Interfaces and tree widget)
  • Create widgets for preview/print, this is a hard one that could be a training periode project for a student.
  • Create a raster referencing widget.
  • Improve Context Tree to handle subnodes under layer nodes

UseCase/Tutorial

Widgets

Widget-tools list

Demo

First you need the latest geotools source.
See 2.3 Source Code to have it.

Make a fresh build using maven :

Go it the module folder :
~\modules\unsupported\widgets-swing-pending

Compile the module and start the demo :

Structure

Information

Icon

Making graphical user interface is not hard work, but it needs time.
And more important, to make clean widgets you need clean components and layouts.

That's why i also use those libraries :

Map components
  • (info) <STATIC> MapConstants
  • (tick) JMap2DConfigPanel*
  • (tick) JMap2DControlBar*
  • (info) JMap2DEditBar
  • (info) JMap2DInfoBar
  • (error) JQuickSearchBar
  • (info) <INTERFACE>Map
    • (tick) <INTERFACE>Map2D* (extends Map)
      • (tick) JDefaultMap2D*
      • (tick) - StrategyListener
      • (tick) - Map2DListener
      • (tick) - Map2DMapAreaEvent
      • (tick) - Map2DContextEvent
      • (tick) <INTERFACE> NavigableMap2D* (extends Map2D)
        • (tick) JDefaultNavigableMap2D*
        • (tick) - NavigableMap2DListener
        • (tick) - Map2DActionStateEvent
      • (tick) <INTERFACE> SelectableMap2D* (extends NavigableMap2D)
        • (info) JDefaultSelectableMap2D
        • (info) - SelectableMap2DListener
        • (info) - Map2DSelectionEvent
      • (info) <INTERFACE> EditableMap2D* (extends SelectableMap2D)
        • (info) JDefaultEditableMap2D
        • (info) - EditableMap2DListener
        • (info) - Map2DEditStateEvent
        • (info) - Map2DEditLayerEvent
      • (tick) <INTERFACE> MapDecoration*
        • (tick) <ABSTRACT> AbstractMapDecoration
        • (tick) ZoomPanDecoration (used by JDefaultNavigableMap2D)
        • (tick) SelectionDecoration (used by JDefaultSelectableMap2D)
        • (tick) EditionDecoration (used by JDefaultEditableMap2D)
        • (info) InformationDecoration (top JDefaultMap2D decoration)
        • (tick) ColorDecoration
        • (tick) ImageDecoration
        • (tick) NavigationDecoration
        • (info) MiniMapDecoration
        • (error) ZoomDecoration
        • (error) NorthArrowDecoration
    • (tick) <INTERFACE>RenderingStrategy*
      • (tick) <ABSTRACT> AbstractRenderingStrategy*
      • (tick) SingleVolatileImageStrategy*
      • (tick) SingleBufferedImageStrategy*
      • (tick) MergeBufferedImageStrategy*
    • (error) <INTERFACE>Map3D
    • (error) <INTERFACE>MapPrint
Style edition

Ready to use Components

  • (tick) <INTERFACE>SymbolizerPanel
    • (tick) JPointSymbolizerPanel*
    • (tick) JLineSymbolizerPanel
    • (tick) JPolygonSymbolizerPanel*
    • (warning) JRasterSymbolizerPanel

SLD specific Components

Other classes
  • (tick) IconBundle
  • (tick) TextBundle
  • (tick) GridCoverageFinder*
  • (tick) RandomStyleFactory*
  • (tick) FacilitiesFactory*
Context tree
  • (tick) JContextTree
    • (tick) <INTERFACE>TreeTableColumn
      • (tick) VisibleTreeTableColumn
      • (tick) StyleTreeTableColumn
      • (tick) OpacityTreeTableColumn
  • (tick) JContextTreePopup
    • (tick) <INTERFACE>TreePopupItem
      • (tick) ContextActiveItem
      • (tick) ContextPropertyItem
      • (tick) CopyItem
      • (tick) CutItem
      • (tick) DeleteItem
      • (tick) DuplicateItem
      • (tick) LayerFeatureItem
      • (tick) LayerOpacityItem
      • (tick) LayerPropertyItem
      • (tick) LayerVisibilityItem
      • (tick) LayerVisibleItem
      • (tick) PasteItem
      • (tick) SeparatorItem
      • (tick) TitledSeparatorItem
    • (tick) <INTERFACE>MapRelatedTreePopupItem (extends TreePopupItem)
      • (tick) LayerZoomItem
Tool box
  • (tick) JToolTree
  • (tick) WidgetTool / WidgetToolDescriptor
    • (info) ClippingTool
    • (tick) ClippingTTDescriptor
    • (tick) ShapeCreationTool
    • (tick) ShapeCreationTTDescriptor
    • (tick) SVG2MIFTool
    • (tick) SVG2MIFTTDescriptor
    • (tick) VDem2CSVTool
    • (tick) VDem2CSVTTDescriptor
Properties Panels
  • (tick) JPropertyDialog
    • (tick) <INTERFACE>PropertyPanel
      • (warning) ContextCRSPropertyPanel
      • (info) LayerFeaturePropertyPanel
      • (error) JScaleStylePanel
      • (tick) JSimpleStylePanel
      • (error) JUniqueStylePanel
      • (info) JXMLStylePanel
      • (tick) JCQLPropertyPanel
    • (tick) <ABSTRACT>MultiPropertyPanel (implements PropertyPanel)
      • (tick) LayerFilterPropertyPanel
      • (tick) LayerStylePropertyPanel
Data access
  • (tick) JDataChooser
    • (tick) <INTERFACE>DataPanel
      • (tick) JFileDataPanel*
      • (tick) JDatabaseDataPanel*
      • (error) JServerDataPanel

(tick) = Works (error) = Not started (info) = In progress (warning) = Waiting for help *= must be improved

ScreenShots

  • No labels