20 package net.sf.gridarta.gui.filter;
22 import javax.swing.JMenu;
23 import javax.swing.JMenuItem;
39 import net.
sf.japi.swing.action.ActionBuilder;
40 import net.
sf.japi.swing.action.ActionBuilderFactory;
41 import org.apache.log4j.Category;
42 import org.apache.log4j.Logger;
43 import org.jetbrains.annotations.NotNull;
44 import org.jetbrains.annotations.Nullable;
75 private static final ActionBuilder
ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder(
"net.sf.gridarta");
110 valueFilterConfig = highlightConfig[0];
113 valueFilterConfig = highlightConfig[1];
116 valueFilterConfig = highlightConfig[2];
118 LOG.warn(
"filter config " + filterConfig +
" not found");
120 valueFilterConfig = null;
122 if (key != null && valueFilterConfig != null) {
126 listener.configChanged(filterConfigChangeType, filterConfig);
140 filterOutConfig = filterList.createConfig();
144 highlightConfig[i] = filterList.createConfig();
160 configListeners.
add(listener);
165 configListeners.
remove(listener);
184 if (highlightConfig[i].isEnabled()) {
185 filterList.
reset(highlightConfig[i]);
193 return highlightConfig[path].
isEnabled() && filterState.isHighlightedSquare(path);
199 if (highlightConfig[i].isEnabled()) {
200 if (!filterState.isHighlightedSquare(i)) {
201 filterState.setHighlightedSquare(i, filterList.
match(highlightConfig[i], gameObject));
208 public boolean canShow(@NotNull
final G gameObject) {
209 return !filterOutConfig.
isEnabled() || filterList.
canShow(gameObject, filterOutConfig);
230 if (filterConfig == expectedFilterConfig) {
233 for (
final FilterConfig<?, ?> subFilterConfig : expectedFilterConfig.getEntries().values()) {
234 if (filterConfig == subFilterConfig) {
A Filter that aggregates named filters.
final EventListenerList2< FilterConfigListener > configListeners
The FilterConfigListeners to notify.
T [] getListeners()
Returns an array of all the listeners.
final NamedFilterConfig [] highlightConfig
final EditorSettings editorSettings
The global EditorSettings instance.
void removeFilter(@NotNull final String name)
Removes a sub-filter.
boolean reset(@NotNull final NamedFilterConfig config)
boolean decode(@NotNull final String string, @NotNull final FilterConfig<?, ?> filterConfig)
Import the filter configuration settings.
void objectInSquare(@NotNull final FilterState filterState, @NotNull final G gameObject)
boolean canShow(@NotNull final G gameObject)
void addFilter(@NotNull final String name, @NotNull final Filter<?, ?> filter)
Adds a sub-Filter.
static boolean isFilterConfig(@NotNull final FilterConfig<?, ?> filterConfig, @NotNull final NamedFilterConfig expectedFilterConfig)
Returns whether a given FilterConfig is part another filter config.
void removeConfigListener(@NotNull final FilterConfigListener listener)
void addConfigChangeListener(@NotNull final FilterConfigListener listener)
Converts FilterConfig into string representation.
static String getString(@NotNull final ActionBuilder actionBuilder, @NotNull final String key, @NotNull final String defaultValue)
Returns the value of a key.
Base package of all Gridarta classes.
Reflects a game object (object on a map).
boolean match(@NotNull final NamedFilterConfig config, @NotNull final GameObject<?, ?, ?> gameObject)
boolean isHighlightedSquare(@NotNull final FilterState filterState, final int path)
void remove(@NotNull final T listener)
Removes a listener.
static final Category LOG
The Logger for printing log messages.
Types of FilterConfig change types.
GameObjects are the objects based on Archetypes found on maps.
ANALYZE_HIGHLIGHT1
The key for saving the menu state "Analyze|Highlight 0".
void add(@NotNull final T listener)
Adds a listener.
void newSquare(@NotNull final FilterState filterState)
ANALYZE_FILTER_OUT
The key for saving the menu state "Analyze|Highlight 2".
Utility class for ActionBuilder related functions.
Type-safe version of EventListenerList.
void addFilter(@NotNull final String name, @NotNull final Filter<?, ?> filter)
ANALYZE_HIGHLIGHT2
The key for saving the menu state "Analyze|Highlight 1".
final NamedFilterConfig filterOutConfig
ANALYZE_HIGHLIGHT0
The key for saving the menu state "Analyze|Filter view".
DefaultFilterControl(@NotNull final NamedFilter filterList, @NotNull final EditorSettings editorSettings)
Create a new FilterControl.
Possible keys for saving values in the EditorSettings.
void addConfigListener(@NotNull final FilterConfigListener listener)
boolean canShow(@NotNull final GameObject<?, ?, ?> gameObject, @NotNull final NamedFilterConfig filterOutConfig)
Returns whether this filter matches a GameObject.
void setKey(@NotNull EditorSettingsKey key, @NotNull String value)
Saves a settings value.
final FilterConfigListener filterConfigListener
static String format(@NotNull final ActionBuilder actionBuilder, @NotNull final String key, @NotNull final Object... args)
Returns the value of a key.
Settings that apply to the editor.
static final ActionBuilder ACTION_BUILDER
The action builder.
Converts a string into a FilterConfig.
final NamedFilter filterList
Interface for filter configurations.
Interface for MapArchObjects.
void createMenuEntries(@NotNull final JMenu menu)
void removeFilter(@NotNull final String name)
A FilterConfig that has a name.
Interface for listeners interested in FilterConfig related changes.
The highlighted state while using a FilterControl instance.