Reviewing the filter viewer work on the provided branch :-)

It is going well I have updated the extension point description with examples 
as shown below.

FilterViewer

Identifier:
net.refractions.udig.ui.filterViewer

Since:
1.3.2

Description:
Extension Point for creating a custom Filter or Expression viewer

Configuration Markup:

<!ELEMENT extension 
(expressionViewer<file:///var/folders/y2/jwxj1gv110b374wwpd_4_n580000gn/T/1585435088/eclipse/.update/1333499676781/1333499676782/pde_schema_net-refractions-udig-ui-filterViewer_preview.html#e.expressionViewer>
 | 
filterViewer<file:///var/folders/y2/jwxj1gv110b374wwpd_4_n580000gn/T/1585435088/eclipse/.update/1333499676781/1333499676782/pde_schema_net-refractions-udig-ui-filterViewer_preview.html#e.filterViewer>)*>
<!ATTLIST extension
point CDATA #REQUIRED
id    CDATA #IMPLIED
name  CDATA #IMPLIED
>


Used to contribute additional viewers for use with the OGC Filter 
specification. Filter Viewers are avaialble in two flacours: FilterViewers used 
to select content (for use or display) ExpressionViewers used to generate a 
value on demand (for use when defining a Filter, or defining a Color when used 
in rendering).


<!ELEMENT filterViewer EMPTY>
<!ATTLIST filterViewer
id          CDATA #IMPLIED
name        CDATA #REQUIRED
class       CDATA #IMPLIED
description CDATA #IMPLIED
>



 *   id -
 *   name - Display name shown to users allowing them to select this filter 
viewer. Example: CQL or Include
 *   class -
 *   description - Quick description of this viewer allowing the user to choose.

<!ELEMENT expressionViewer EMPTY>
<!ATTLIST expressionViewer
id          CDATA #IMPLIED
name        CDATA #REQUIRED
class       CDATA #IMPLIED
description CDATA #IMPLIED
>



 *   id -
 *   name - Display name shown to users allowing them to select this expression 
viewer. Example: CQL or Crayons
 *   class -
 *   description - Quick description of this viewer allowing the user to choose.

Examples:
To contribute additional viewers into your application use the extension point 
as shown below:


<extension id="net.refractions.udig.tutorial.viewers"
           point="net.refractions.udig.ui.filterViewer"
           name="Custom Filter Viewers">
    <filterViewer
        id="roadCondition"
        name="Road Condition"
        
class="net.refractions.udig.tutorial.viewer.RoadConditionFilterViewerFactory"
        description="Filter sample road dataset using a graphical display of 
road condition"/>
    <expressionViewer
        id="crayons"
        name="Crayons"
        
class="net.refractions.udig.tutorial.viewer.CrayonExpressionViewerFactory"
        description="Define color using all the crayons in the box"/>
</extension>


API Information:
To contribute a filter viewer you will need to provide an implementation of 
IFilterViewer (used to edit a provided Filter) and FilterViewerFactory used to 
determine when your FilterViewer can be succcessfully applied. Several 
FilterViewers are available out of the box. You may use these as a starting 
poitn for your own implementation. IncludeFilterViewer is an easy to follow 
example offering two toggle buttons allowing users to enable or disable 
content. To contribute an expression viewer you will need to implement 
IExpressionViewer and ExpressionViewerFactory. RGBExpressionViewer is an easy 
to follow example allowing the user to edit a Color using red, green and blue 
values.

Supplied Implementation:
To use a FilterViewer in your own code you can either use the implementation 
directly; or offer the user a choice by dropping in the general purpose 
DefaultFilterViewer (which allows the user to switch between the avaialle 
implementations using a combo box).
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel

Reply via email to