use of com.ramussoft.report.editor.ScriptReportEditorView in project ramus by Vitaliy-Yakovchuk.
the class ReportViewPlugin method addOpenReportEditorListener.
private void addOpenReportEditorListener() {
framework.addActionListener(OPEN_SCRIPT_REPORT, new ActionListener() {
@Override
public void onAction(final ActionEvent event) {
if (framework.openView(event))
return;
final Data data = new Data();
data.element = (Element) event.getValue();
data.attributeListener = new ElementAttributeListener() {
@Override
public void attributeChanged(AttributeEvent event) {
Object value = event.getNewValue();
if ((value instanceof String) && (event.getElement().equals(data.element))) {
ViewTitleEvent e = new ViewTitleEvent(data.view, value.toString());
data.view.titleChanged(e);
}
}
};
data.elementListener = new ElementAdapter() {
@Override
public void elementDeleted(ElementEvent event) {
if (event.getOldElement().equals(data.element)) {
data.view.close();
}
}
};
engine.addElementListener(ReportPlugin.getReportsQualifier(engine), data.elementListener);
engine.addElementAttributeListener(ReportPlugin.getReportsQualifier(engine), data.attributeListener);
String type = (String) engine.getAttribute(data.element, ReportPlugin.getReportTypeAttribute(engine));
if (ReportPlugin.TYPE_JSSP.equals(type))
data.view = new ScriptReportEditorView(framework, data.element) {
@Override
public void close() {
super.close();
engine.removeElementListener(ReportPlugin.getReportsQualifier(engine), data.elementListener);
engine.removeElementAttributeListener(ReportPlugin.getReportsQualifier(engine), data.attributeListener);
TabbedEvent tEvent = new TabbedEvent("TabbedTableView", this);
tabRemoved(tEvent);
}
@Override
public String getTitle() {
return data.element.getName();
}
};
else if (ReportPlugin.TYPE_JSSP_DOC_BOOK.equals(type))
data.view = new DocBookScriptReportEditorView(framework, data.element) {
@Override
public void close() {
super.close();
engine.removeElementListener(ReportPlugin.getReportsQualifier(engine), data.elementListener);
engine.removeElementAttributeListener(ReportPlugin.getReportsQualifier(engine), data.attributeListener);
TabbedEvent tEvent = new TabbedEvent("TabbedTableView", this);
tabRemoved(tEvent);
}
@Override
public String getTitle() {
return data.element.getName();
}
};
else
data.view = new XMLReportEditorView(framework, data.element) {
@Override
public void close() {
super.close();
engine.removeElementListener(ReportPlugin.getReportsQualifier(engine), data.elementListener);
engine.removeElementAttributeListener(ReportPlugin.getReportsQualifier(engine), data.attributeListener);
TabbedEvent tEvent = new TabbedEvent("TabbedTableView", this);
tabRemoved(tEvent);
}
@Override
public String getTitle() {
return data.element.getName();
}
};
TabbedEvent tEvent = new TabbedEvent(REPORTS_TAB_VIEW, data.view);
tabCreated(tEvent);
}
});
}
Aggregations