public class MarkerFill extends AbstractTypeSymbolEditor implements ActionListener, ChangeListener
This functionality is carried out thanks to two tabs (marker fill and MarkerFillProperties) which are included in the panel to edit the properities of a symbol (SymbolEditor) how is explained in AbstractTypeSymbolEditor.
The first tab (marker fill)permits the user to select the marker for the padding and other options such as the color for the fill (btnChooseMarker),to select the ouline (btnOutline)and the distribution (grid or random) of the marker inside the padding (rdGrid,rdRandom).
The second tab is implementes as a MarkerFillProperties class and offers the possibilities to change the separtion and the offset.
MarkerFillProperties
,
AbstractTypeSymbolEditor
owner
Constructor and Description |
---|
MarkerFill(SymbolEditor owner)
constructor method
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(ActionEvent e) |
boolean |
canManageSymbol(ISymbol symbol) |
EditorTool[] |
getEditorTools()
Returns the editor tools that are handled by this configuration panel.
|
ISymbol |
getLayer()
Produces and returns the ISymbol according with the user settings.
|
String |
getName()
Returns the name of the config tabs that will be shown in the selector combo box.
|
JPanel[] |
getTabs()
Due to the complexity that many symbols settings can reach, the SymbolEditorPanel is
designed in a tabbed-based fashion.
|
void |
refreshControls(ISymbol layer)
Invoked when the user selects or adds a new layer.
|
void |
stateChanged(ChangeEvent e) |
fireSymbolChangedEvent, toString
public MarkerFill(SymbolEditor owner)
owner
- public void refreshControls(ISymbol layer)
TypeSymbolEditor
refreshControls
in interface TypeSymbolEditor
public String getName()
TypeSymbolEditor
Returns the name of the config tabs that will be shown in the selector combo box.
This is typically a human-readable (and also translatable) name for the symbol that
this TypeEditorPanel deals with, but maybe you prefer to use any other one.
The order of the entries in the combo is alphabetically-based. So you can force a position by defining a name that suits your needs.
getName
in interface TypeSymbolEditor
public JPanel[] getTabs()
TypeSymbolEditor
Due to the complexity that many symbols settings can reach, the SymbolEditorPanel is
designed in a tabbed-based fashion. So, you can use as many of pages you want to put
your components. This pages are regular JPanels that will be automatically added to
the SymbolEditor dialog.
In case you need only one page, just return a JPanel array with a length of 1.
getTabs
in interface TypeSymbolEditor
public void actionPerformed(ActionEvent e)
actionPerformed
in interface ActionListener
public ISymbol getLayer()
TypeSymbolEditor
getLayer
in interface TypeSymbolEditor
public EditorTool[] getEditorTools()
TypeSymbolEditor
getEditorTools
in interface TypeSymbolEditor
public void stateChanged(ChangeEvent e)
stateChanged
in interface ChangeListener
public boolean canManageSymbol(ISymbol symbol)
canManageSymbol
in interface TypeSymbolEditor