List<ComparisonPairFilterSet> list = new ArrayList<ComparisonPairFilterSet>();\r
if(parent != null){\r
for(ComparisonPairFilterSet fs: parent.getFilterSets()){\r
- list.add(fs);\r
+ if(filters.get(fs.getName()) == null){\r
+ list.add(fs);\r
+ }\r
}\r
}\r
list.addAll(filters.values());\r
import javax.swing.JButton;\r
import javax.swing.JComboBox;\r
import javax.swing.JComponent;\r
+import javax.swing.JOptionPane;\r
import javax.swing.JPanel;\r
import javax.swing.JTabbedPane;\r
import javax.swing.border.TitledBorder;\r
filters = new FilterManagementPane(stigmata);\r
\r
Utility.addNewTab("targets", controlTab, control);\r
- Utility.addNewTab("filter", controlTab, filters);\r
+ Utility.addNewTab("filter", controlTab, filters);\r
Utility.addNewTab("wellknown", controlTab, wellknownClassses);\r
Utility.addNewTab("classpath", controlTab, classpath);\r
reset();\r
filters.reset();\r
updateEnable();\r
\r
- int index1 = controlTab.indexOfTab(Messages.getString("definition.tab.label"));\r
+ int index1 = controlTab.indexOfTab(Messages\r
+ .getString("definition.tab.label"));\r
if(index1 >= 0){\r
controlTab.removeTabAt(index1);\r
}\r
- int index2 = controlTab.indexOfTab(Messages.getString("property.tab.label"));\r
+ int index2 = controlTab.indexOfTab(Messages\r
+ .getString("property.tab.label"));\r
if(index2 >= 0){\r
controlTab.removeTabAt(index2);\r
}\r
}\r
\r
public void exportSettings(){\r
- File file = stigmata.getSaveFile(Messages.getStringArray("export.extensions"),\r
- Messages.getString("export.description"));\r
+ File file = stigmata.getSaveFile(Messages\r
+ .getStringArray("export.extensions"), Messages\r
+ .getString("export.description"));\r
if(file != null){\r
if(!file.getName().endsWith(".xml")){\r
file = new File(file.getParent(), file.getName() + ".xml");\r
properties.exportSettings(out);\r
out.println("</stigmata>");\r
out.close();\r
- } catch(IOException e){\r
+ }catch(IOException e){\r
}\r
}\r
}\r
targetX = new TargetSelectionPane(stigmata);\r
targetY = new TargetSelectionPane(stigmata);\r
\r
- birthmarks.setBorder(new TitledBorder(Messages.getString("birthmarkspane.border")));\r
+ birthmarks.setBorder(new TitledBorder(Messages\r
+ .getString("birthmarkspane.border")));\r
\r
- targetX.addTargetExtensions(Messages.getStringArray("targets.extensions"));\r
+ targetX.addTargetExtensions(Messages\r
+ .getStringArray("targets.extensions"));\r
targetX.setDescription(Messages.getString("targets.description"));\r
- targetX.setBorder(new TitledBorder(Messages.getString("targetx.border")));\r
+ targetX\r
+ .setBorder(new TitledBorder(Messages\r
+ .getString("targetx.border")));\r
\r
- targetY.addTargetExtensions(Messages.getStringArray("targets.extensions"));\r
+ targetY.addTargetExtensions(Messages\r
+ .getStringArray("targets.extensions"));\r
targetY.setDescription(Messages.getString("targets.description"));\r
- targetY.setBorder(new TitledBorder(Messages.getString("targety.border")));\r
+ targetY\r
+ .setBorder(new TitledBorder(Messages\r
+ .getString("targety.border")));\r
\r
center.add(mainPane, BorderLayout.CENTER);\r
center.add(birthmarks, BorderLayout.SOUTH);\r
String[] valueY = targetY.getValues();\r
String[] targets = birthmarks.getSelectedServices();\r
\r
- extractButton.setEnabled(((valueX != null && valueX.length > 0)\r
- || (valueY != null && valueY.length > 0))\r
- && (targets != null && targets.length > 0));\r
+ extractButton\r
+ .setEnabled(((valueX != null && valueX.length > 0) || (valueY != null && valueY.length > 0))\r
+ && (targets != null && targets.length > 0));\r
\r
compareButton.setEnabled((valueX != null && valueX.length > 0)\r
- && (valueY != null && valueY.length > 0)\r
- && (targets != null && targets.length > 0));\r
+ && (valueY != null && valueY.length > 0)\r
+ && (targets != null && targets.length > 0));\r
}\r
\r
private void extractButtonActionPerformed(ActionEvent e){\r
}\r
}\r
\r
- stigmata.extract(birthmarks.getSelectedServices(),\r
- targets.toArray(new String[targets.size()]), context);\r
+ stigmata.extract(birthmarks.getSelectedServices(), targets\r
+ .toArray(new String[targets.size()]), context);\r
}\r
\r
private void compareRoundRobinWithFiltering(){\r
BirthmarkContext context = initAction();\r
- String[] filterSetList = filters.getSelectedFilterNames();\r
-\r
- stigmata.compareRoundRobin(birthmarks.getSelectedServices(), targetX.getValues(), \r
- targetY.getValues(), filterSetList, context);\r
+ FilterSelectionPane pane = new FilterSelectionPane(\r
+ context.getFilterManager()\r
+ );\r
+ int returnValue = JOptionPane.showConfirmDialog(\r
+ stigmata, pane, Messages.getString("filterselection.dialog.title"),\r
+ JOptionPane.OK_CANCEL_OPTION,\r
+ JOptionPane.QUESTION_MESSAGE\r
+ );\r
+ if(returnValue == JOptionPane.OK_OPTION){\r
+ String[] filterSetList = pane.getSelectedFilters();\r
+\r
+ stigmata.compareRoundRobin(\r
+ birthmarks.getSelectedServices(), targetX.getValues(),\r
+ targetY.getValues(), filterSetList, context\r
+ );\r
+ }\r
}\r
\r
private void compareRoundRobin(){\r
BirthmarkContext context = initAction();\r
\r
- stigmata.compareRoundRobin(birthmarks.getSelectedServices(),\r
- targetX.getValues(), targetY.getValues(), context);\r
+ stigmata.compareRoundRobin(birthmarks.getSelectedServices(), targetX\r
+ .getValues(), targetY.getValues(), context);\r
}\r
\r
private void compareSpecifiedPair(){\r
BirthmarkContext context = initAction();\r
String[] fileX = targetX.getValues();\r
String[] fileY = targetY.getValues();\r
- stigmata.compareSpecifiedPair(birthmarks.getSelectedServices(), fileX, fileY, context);\r
+ stigmata.compareSpecifiedPair(birthmarks.getSelectedServices(), fileX,\r
+ fileY, context);\r
}\r
\r
private void compareGuessedPair(){\r
String[] fileX = targetX.getValues();\r
String[] fileY = targetY.getValues();\r
\r
- stigmata.compareGuessedPair(birthmarks.getSelectedServices(), fileX, fileY, context);\r
+ stigmata.compareGuessedPair(birthmarks.getSelectedServices(), fileX,\r
+ fileY, context);\r
}\r
\r
private BirthmarkContext initAction(){\r
else if(item.equals(Messages.getString("specifiedpair.label"))){\r
compareSpecifiedPair();\r
}\r
- else if(item.equals(Messages.getString("roundrobin.filtering.label"))){\r
+ else if(item.equals(Messages\r
+ .getString("roundrobin.filtering.label"))){\r
compareRoundRobinWithFiltering();\r
}\r
}\r
*/\r
\r
import java.awt.BorderLayout;\r
-import java.awt.Component;\r
import java.awt.GridLayout;\r
import java.awt.event.ActionEvent;\r
import java.awt.event.ActionListener;\r
import java.awt.event.MouseEvent;\r
import java.io.IOException;\r
import java.io.PrintWriter;\r
-import java.util.ArrayList;\r
import java.util.HashMap;\r
-import java.util.List;\r
import java.util.Map;\r
\r
import javax.swing.Box;\r
import javax.swing.DefaultListModel;\r
import javax.swing.JButton;\r
-import javax.swing.JCheckBox;\r
import javax.swing.JComponent;\r
-import javax.swing.JLabel;\r
import javax.swing.JList;\r
import javax.swing.JPanel;\r
import javax.swing.JScrollPane;\r
-import javax.swing.ListCellRenderer;\r
-import javax.swing.UIManager;\r
-import javax.swing.border.Border;\r
-import javax.swing.border.EmptyBorder;\r
import javax.swing.event.ListSelectionEvent;\r
import javax.swing.event.ListSelectionListener;\r
\r
import jp.naist.se.stigmata.ComparisonPairFilter;\r
import jp.naist.se.stigmata.ComparisonPairFilterSet;\r
import jp.naist.se.stigmata.filter.ComparisonPairFilterManager;\r
+import jp.naist.se.stigmata.ui.swing.filter.ComparisonPairFilterRetainable;\r
import jp.naist.se.stigmata.ui.swing.filter.FilterEditingPane;\r
import jp.naist.se.stigmata.ui.swing.filter.FilterSetDefinitionPane;\r
\r
* @author Haruaki TAMADA\r
* @version $Revision$ $Date$\r
*/\r
-public class FilterManagementPane extends JPanel implements SettingsExportable{\r
+public class FilterManagementPane extends JPanel implements SettingsExportable, ComparisonPairFilterRetainable{\r
private static final long serialVersionUID = 972135792354L;\r
- private static final Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);\r
\r
private StigmataFrame stigmata;\r
private FilterSetDefinitionPane definition;\r
private JList list;\r
private DefaultListModel model;\r
private Map<String, ComparisonPairFilterSet> filters = new HashMap<String, ComparisonPairFilterSet>();\r
- private Map<String, Boolean> enableMap = new HashMap<String, Boolean>();\r
\r
public FilterManagementPane(StigmataFrame stigmata){\r
this.stigmata = stigmata;\r
}\r
}\r
\r
- public synchronized String[] getSelectedFilterNames(){\r
- List<String> list = new ArrayList<String>();\r
- for(String key: enableMap.keySet()){\r
- if(enableMap.get(key)){\r
- list.add(key);\r
- }\r
- }\r
- return list.toArray(new String[list.size()]);\r
- }\r
-\r
public void addFilterSet(ComparisonPairFilterSet filterset){\r
filters.put(filterset.getName(), filterset);\r
- enableMap.put(filterset.getName(), Boolean.TRUE);\r
\r
model.addElement(filterset.getName());\r
list.setSelectedIndex(model.getSize() - 1);\r
\r
public void removeFilterSet(String name){\r
filters.remove(name);\r
- enableMap.remove(name);\r
model.removeElement(name);\r
\r
list.clearSelection();\r
}\r
}\r
filters.remove(oldName);\r
- Boolean flag = enableMap.remove(oldName);\r
filters.put(newfilter.getName(), newfilter);\r
- enableMap.put(newfilter.getName(), flag);\r
- }\r
-\r
- public ComparisonPairFilterSet getEnableFilterSet(String name){\r
- if(enableMap.get(name)){\r
- return getFilterSet(name);\r
- }\r
- return null;\r
}\r
\r
public ComparisonPairFilterSet getFilterSet(String name){\r
private JComponent createFilterSetPane(){\r
model = new DefaultListModel();\r
list = new JList(model);\r
- list.setCellRenderer(new CheckedListCellRenderer());\r
\r
final JButton upButton = Utility.createButton("moveup");\r
final JButton downButton = Utility.createButton("movedown");\r
public void mouseClicked(MouseEvent e){\r
int index = list.locationToIndex(e.getPoint());\r
list.setSelectedIndex(index);\r
- String v = (String)model.getElementAt(index);\r
- enableMap.put(v, !enableMap.get(v));\r
updateUI();\r
}\r
});\r
\r
return panel;\r
}\r
-\r
- private class CheckedListCellRenderer extends JPanel implements ListCellRenderer{\r
- private static final long serialVersionUID = -8148037001055727351L;\r
-\r
- private JCheckBox check;\r
- private JLabel label;\r
-\r
- public CheckedListCellRenderer(){\r
- setOpaque(true);\r
- setLayout(new BorderLayout());\r
- add(check = new JCheckBox(), BorderLayout.WEST);\r
- add(label = new JLabel(), BorderLayout.CENTER);\r
- }\r
-\r
- public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus){\r
- label.setText(String.valueOf(value));\r
- check.setSelected(enableMap.get(value));\r
-\r
- setBackground(isSelected ? list.getSelectionBackground(): list.getBackground());\r
- check.setBackground(isSelected ? list.getSelectionBackground(): list.getBackground());\r
- check.setForeground(isSelected ? list.getSelectionForeground(): list.getForeground());\r
- label.setBackground(isSelected ? list.getSelectionBackground(): list.getBackground());\r
- label.setForeground(isSelected ? list.getSelectionForeground(): list.getForeground());\r
-\r
- Border border = null;\r
- if(cellHasFocus){\r
- if(isSelected){\r
- border = UIManager.getBorder("List.focusSelectedCellHighlightBorder");\r
- }\r
- if(border == null){\r
- border = UIManager.getBorder("List.focusCellHighlightBorder");\r
- }\r
- }\r
- else{\r
- border = noFocusBorder;\r
- }\r
- setBorder(border);\r
-\r
- return this;\r
- }\r
- }\r
}\r
--- /dev/null
+package jp.naist.se.stigmata.ui.swing;\r
+\r
+/*\r
+ * $Id$\r
+ */\r
+\r
+import java.awt.BorderLayout;\r
+import java.awt.Component;\r
+import java.awt.event.MouseAdapter;\r
+import java.awt.event.MouseEvent;\r
+import java.util.ArrayList;\r
+import java.util.HashMap;\r
+import java.util.List;\r
+import java.util.Map;\r
+\r
+import javax.swing.DefaultListModel;\r
+import javax.swing.JCheckBox;\r
+import javax.swing.JList;\r
+import javax.swing.JPanel;\r
+import javax.swing.JScrollPane;\r
+import javax.swing.ListCellRenderer;\r
+import javax.swing.ListSelectionModel;\r
+import javax.swing.UIManager;\r
+import javax.swing.border.Border;\r
+import javax.swing.border.EmptyBorder;\r
+import javax.swing.event.ListSelectionEvent;\r
+import javax.swing.event.ListSelectionListener;\r
+\r
+import jp.naist.se.stigmata.ComparisonPairFilter;\r
+import jp.naist.se.stigmata.ComparisonPairFilterSet;\r
+import jp.naist.se.stigmata.filter.ComparisonPairFilterManager;\r
+import jp.naist.se.stigmata.ui.swing.filter.ComparisonPairFilterRetainable;\r
+import jp.naist.se.stigmata.ui.swing.filter.FilterSetDefinitionPane;\r
+\r
+/**\r
+ * \r
+ * @author Haruaki TAMADA\r
+ * @version $Revision$ $Date$\r
+ */\r
+public class FilterSelectionPane extends JPanel implements ComparisonPairFilterRetainable{\r
+ private static final long serialVersionUID = 1825547576389498336L;\r
+ private static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);\r
+\r
+ private ComparisonPairFilterManager manager;\r
+ private FilterSetDefinitionPane filterDef;\r
+ private Map<String, Boolean> enableMap = new HashMap<String, Boolean>();\r
+ private Map<String, ComparisonPairFilterSet> filters = new HashMap<String, ComparisonPairFilterSet>(); \r
+ private DefaultListModel model;\r
+ private JList list;\r
+\r
+ public FilterSelectionPane(ComparisonPairFilterManager manager){\r
+ this.manager = manager;\r
+\r
+ initLayout();\r
+ }\r
+\r
+ public void addFilterSet(ComparisonPairFilterSet filter){\r
+ filters.put(filter.getName(), filter);\r
+ enableMap.put(filter.getName(), false);\r
+ model.addElement(filter.getName());\r
+ }\r
+\r
+ public void filterSelected(ComparisonPairFilter filter){\r
+ }\r
+\r
+ public ComparisonPairFilterSet getFilterSet(String name){\r
+ return filters.get(name);\r
+ }\r
+\r
+ public void removeFilterSet(String name){\r
+ filters.remove(name);\r
+ enableMap.remove(name);\r
+ model.removeElement(name);\r
+ }\r
+\r
+ public void updateFilterSet(String name, ComparisonPairFilterSet filter){\r
+ int index = model.indexOf(name);\r
+ model.set(index, filter.getName());\r
+ filters.put(filter.getName(), filter);\r
+ enableMap.put(filter.getName(), enableMap.get(name));\r
+\r
+ if(!name.equals(filter.getName())){\r
+ enableMap.remove(name);\r
+ filters.remove(name);\r
+ }\r
+ }\r
+\r
+ public String[] getSelectedFilters(){\r
+ List<String> list = new ArrayList<String>();\r
+ for(String key: enableMap.keySet()){\r
+ if(enableMap.get(key)){\r
+ list.add(key);\r
+ }\r
+ }\r
+ return list.toArray(new String[list.size()]);\r
+ }\r
+\r
+ private void initLayout(){\r
+ setLayout(new BorderLayout());\r
+ model = new DefaultListModel();\r
+ list = new JList(model);\r
+ list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+ list.setCellRenderer(new CheckableListCellRenderer());\r
+\r
+ JScrollPane scroll = new JScrollPane(list);\r
+ filterDef = new FilterSetDefinitionPane(this, false);\r
+\r
+ add(scroll, BorderLayout.WEST);\r
+ add(filterDef, BorderLayout.CENTER);\r
+\r
+ list.addListSelectionListener(new ListSelectionListener(){\r
+ public void valueChanged(ListSelectionEvent e){\r
+ String name = (String)list.getSelectedValue();\r
+ filterDef.setFilterSet(filters.get(name));\r
+ \r
+ updateUI();\r
+ }\r
+ });\r
+ list.addMouseListener(new MouseAdapter(){\r
+ @Override\r
+ public void mouseClicked(MouseEvent e){\r
+ int index = list.locationToIndex(e.getPoint());\r
+ String value = (String)model.getElementAt(index);\r
+ enableMap.put(value, !enableMap.get(value));\r
+ updateUI();\r
+ }\r
+ });\r
+\r
+ for(ComparisonPairFilterSet filterset: manager.getFilterSets()){\r
+ enableMap.put(filterset.getName(), false);\r
+ filters.put(filterset.getName(), filterset);\r
+ model.addElement(filterset.getName());\r
+ }\r
+ }\r
+\r
+ private class CheckableListCellRenderer extends JCheckBox implements ListCellRenderer{\r
+ private static final long serialVersionUID = 2120743754620361163L;\r
+\r
+ public CheckableListCellRenderer(){\r
+ setOpaque(true);\r
+ }\r
+\r
+ public Component getListCellRendererComponent(JList list, Object v, int index, boolean isSelected, boolean cellHasFocus){\r
+ String value = (String)v;\r
+ setText(value);\r
+ setSelected(enableMap.get(value));\r
+\r
+ if(isSelected){\r
+ setBackground(list.getSelectionBackground());\r
+ setForeground(list.getSelectionForeground());\r
+ }\r
+ else{\r
+ setBackground(list.getBackground());\r
+ setForeground(list.getForeground());\r
+ }\r
+ Border border = null;\r
+ if(cellHasFocus){\r
+ if(isSelected){\r
+ border = UIManager.getBorder("List.focusSelectedCellHighlightBorder");\r
+ }\r
+ if(border == null){\r
+ border = UIManager.getBorder("List.focusCellHighlightBorder");\r
+ }\r
+ }\r
+ else{\r
+ border = noFocusBorder;\r
+ }\r
+ setBorder(border); \r
+\r
+ return this;\r
+ }\r
+ \r
+ }\r
+}\r
--- /dev/null
+package jp.naist.se.stigmata.ui.swing.filter;\r
+\r
+import jp.naist.se.stigmata.ComparisonPairFilter;\r
+import jp.naist.se.stigmata.ComparisonPairFilterSet;\r
+\r
+public interface ComparisonPairFilterRetainable{\r
+ public void filterSelected(ComparisonPairFilter filter);\r
+\r
+ public void addFilterSet(ComparisonPairFilterSet filter);\r
+ public void removeFilterSet(String name);\r
+\r
+ public void updateFilterSet(String name, ComparisonPairFilterSet filter);\r
+\r
+ public ComparisonPairFilterSet getFilterSet(String name);\r
+}\r
\r
import jp.naist.se.stigmata.ComparisonPairFilter;\r
import jp.naist.se.stigmata.ComparisonPairFilterSet;\r
-import jp.naist.se.stigmata.ui.swing.FilterManagementPane;\r
import jp.naist.se.stigmata.ui.swing.Messages;\r
import jp.naist.se.stigmata.ui.swing.Utility;\r
\r
public class FilterSetDefinitionPane extends JPanel implements ComparisonPairFilterListener{\r
private static final long serialVersionUID = 7519306603672717119L;\r
\r
- private FilterManagementPane manager;\r
+ private ComparisonPairFilterRetainable manager;\r
\r
private JTextField name;\r
private JRadioButton matchall, matchany;\r
private JList list;\r
private DefaultListModel model;\r
private ComparisonPairFilterSet filterset;\r
+ private boolean buttonShown = true;\r
\r
private JButton addfilter;\r
private JButton updatefilter;\r
private JButton upButton;\r
private JButton downButton;\r
\r
- public FilterSetDefinitionPane(FilterManagementPane manager){\r
+ public FilterSetDefinitionPane(ComparisonPairFilterRetainable manager){\r
+ this(manager, true);\r
+ }\r
+\r
+ public FilterSetDefinitionPane(ComparisonPairFilterRetainable manager, boolean showButtons){\r
this.manager = manager;\r
\r
- initLayouts();\r
+ initLayouts(showButtons);\r
}\r
\r
public void reset(){\r
updateButtonEnabled();\r
}\r
\r
- private void initLayouts(){\r
+ public void setEnabled(boolean flag){\r
+ super.setEnabled(flag);\r
+\r
+ matchall.setEnabled(flag);\r
+ matchany.setEnabled(flag);\r
+ name.setEnabled(flag);\r
+ list.setEnabled(flag);\r
+ }\r
+\r
+ private void initLayouts(boolean showButtons){\r
+ this.buttonShown = showButtons;\r
+\r
ButtonGroup group = new ButtonGroup();\r
matchall = new JRadioButton(Messages.getString("matchall.button.label"), true);\r
matchall.setToolTipText(Messages.getString("matchall.button.tooltip"));\r
setLayout(new BorderLayout());\r
add(north, BorderLayout.NORTH);\r
add(listpane, BorderLayout.CENTER);\r
- add(south, BorderLayout.SOUTH);\r
+ if(showButtons){\r
+ add(south, BorderLayout.SOUTH);\r
+ }\r
\r
Utility.decorateJComponent(name, "filtername");\r
Utility.decorateJComponent(listpane, "filterorder");\r
\r
+ setEnabled(buttonShown);\r
+\r
updateButtonEnabled();\r
}\r
\r
private void updateButtonEnabled(){\r
- int index = list.getSelectedIndex();\r
- int size = model.getSize();\r
-\r
- upButton.setEnabled(size > 1 && index > 0);\r
- downButton.setEnabled(size > 1 && index < (size - 1));\r
- updatefilter.setEnabled(filterset != null);\r
- addfilter.setEnabled(size > 0 && name.getText().length() > 0 && manager.getFilterSet(name.getText()) == null);\r
- removefilter.setEnabled(filterset != null);\r
+ if(buttonShown){\r
+ int index = list.getSelectedIndex();\r
+ int size = model.getSize();\r
+\r
+ upButton.setEnabled(size > 1 && index > 0);\r
+ downButton.setEnabled(size > 1 && index < (size - 1));\r
+ updatefilter.setEnabled(filterset != null);\r
+ addfilter.setEnabled(size > 0 && name.getText().length() > 0 && manager.getFilterSet(name.getText()) == null);\r
+ removefilter.setEnabled(filterset != null);\r
+ }\r
}\r
\r
private ComparisonPairFilterSet createCurrentFilterSet(){\r
filter.tab.label=Comparison result filters\r
filter.tab.tooltip=View/Edit filters of comparison result\r
\r
+filterselection.dialog.title=Select filters\r
+\r
filtersetlist.pane.border=FilterSet list\r
filtersetlist.pane.tooltip=\r
filterdefinition.pane.border=FilterSet\r
############################################################\r
filter.tab.label=\83t\83B\83\8b\83^\r
filter.tab.tooltip=\83t\83B\83\8b\83^\r
+filterselection.dialog.title=\93K\97p\82·\82é\83t\83B\83\8b\83^\82Ì\91I\91ð\r
+\r
filtersetlist.pane.border=\92è\8b`\8dÏ\82Ý\83t\83B\83\8b\83^\83Z\83b\83g\r
filtersetlist.pane.tooltip=\92è\8b`\8dÏ\82Ý\82Ì\83t\83B\83\8b\83^\83Z\83b\83g\82Ì\8fW\8d\87\r
filterdefinition.pane.border=\83t\83B\83\8b\83^\83Z\83b\83g\82Ì\92è\8b`\r