source: josm/trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/CheckGroup.java@ 12042

Last change on this file since 12042 was 9665, checked in by stoecker, 8 years ago

fix eol-style issues and similar formating stuff, see #12410

File size: 1.7 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.tagging.presets.items;
3
4import java.awt.GridLayout;
5import java.util.Collection;
6import java.util.LinkedList;
7import java.util.List;
8import java.util.Map;
9
10import javax.swing.JPanel;
11
12import org.openstreetmap.josm.data.osm.OsmPrimitive;
13import org.openstreetmap.josm.data.osm.Tag;
14import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItem;
15import org.openstreetmap.josm.tools.GBC;
16
17/**
18 * A group of {@link Check}s.
19 * @since 6114
20 */
21public class CheckGroup extends TaggingPresetItem {
22
23 /**
24 * Number of columns (positive integer)
25 */
26 public String columns; // NOSONAR
27
28 /**
29 * List of checkboxes
30 */
31 public final List<Check> checks = new LinkedList<>();
32
33 @Override
34 public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel, boolean presetInitiallyMatches) {
35 Integer cols = Integer.valueOf(columns);
36 int rows = (int) Math.ceil(checks.size()/cols.doubleValue());
37 JPanel panel = new JPanel(new GridLayout(rows, cols));
38
39 for (Check check : checks) {
40 check.addToPanel(panel, sel, presetInitiallyMatches);
41 }
42
43 p.add(panel, GBC.eol());
44 return false;
45 }
46
47 @Override
48 public void addCommands(List<Tag> changedTags) {
49 for (Check check : checks) {
50 check.addCommands(changedTags);
51 }
52 }
53
54 @Override
55 protected Boolean matches(Map<String, String> tags) {
56 for (Check check : checks) {
57 if (Boolean.TRUE.equals(check.matches(tags))) {
58 return Boolean.TRUE;
59 }
60 }
61 return null;
62 }
63
64 @Override
65 public String toString() {
66 return "CheckGroup [columns=" + columns + ']';
67 }
68}
Note: See TracBrowser for help on using the repository browser.