JMenuItem menuItemAdd = createMenuItem("channelGroupNew",
"Add channel group", null, true);
menuItemAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
EditFilterComponentDlg dlg = new EditFilterComponentDlg(null, null,
ChannelFilterComponent.class);
FilterComponent rule = dlg.getFilterComponent();
if ((rule != null) && (rule instanceof ChannelFilterComponent)) {
FilterComponentList.getInstance().add(rule);
FilterComponentList.getInstance().store();
MainFrame.getInstance()
.setChannelGroup((ChannelFilterComponent) rule);
}
}
});
menu.add(menuItemAdd);
// edit channel group
JMenuItem menuItemEdit = createMenuItem("channelGroupEdit",
"Edit current channel group", null, true);
menuItemEdit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
FilterComponent rule = MainFrame.getInstance().getChannelGroup();
if (rule != null) {
// rule must be removed before editing it, otherwise the dialog doesn't save it
FilterComponentList.getInstance().remove(rule.getName());
EditFilterComponentDlg dlg = new EditFilterComponentDlg(null, rule);
FilterComponent newRule = dlg.getFilterComponent();
if (newRule == null) { // restore original rule
newRule = rule;
}
FilterComponentList.getInstance().add(newRule);
FilterComponentList.getInstance().store();