package com.tibco.as.spacebar.ui.editor.snapshot; import org.eclipse.jface.action.IStatusLineManager; import org.eclipse.jface.action.IToolBarManager; import org.eclipse.jface.action.Separator; import org.eclipse.jface.action.StatusLineContributionItem; import org.eclipse.ui.IEditorPart; import com.tibco.as.spacebar.ui.editor.AbstractActionBarContributor; import com.tibco.as.spacebar.ui.editor.action.CSVExportAction; import com.tibco.as.spacebar.ui.editor.action.DeleteAction; import com.tibco.as.spacebar.ui.editor.action.ExcelExportAction; import com.tibco.as.spacebar.ui.editor.action.InsertAction; import com.tibco.as.spacebar.ui.editor.action.TupleSizeAction; public class ActionBarContributor extends AbstractActionBarContributor { private InsertAction insertAction; private DeleteAction deleteAction; private CSVExportAction csvExportAction; private ExcelExportAction excelExportAction; private TupleSizeAction sizeAction; private StatusLineContributionItem sizeItem; private StatusLineContributionItem browseTimeItem; public ActionBarContributor() { this.insertAction = new InsertAction(); this.deleteAction = new DeleteAction(); this.csvExportAction = new CSVExportAction(); this.excelExportAction = new ExcelExportAction(); this.sizeAction = new TupleSizeAction(); sizeItem = new StatusLineContributionItem("size", 25); browseTimeItem = new StatusLineContributionItem("browseTime", 25); } @Override public void contributeToStatusLine(IStatusLineManager statusLineManager) { super.contributeToStatusLine(statusLineManager); statusLineManager.add(sizeItem); statusLineManager.add(new Separator()); statusLineManager.add(browseTimeItem); } @Override public void setActiveEditor(IEditorPart editor) { super.setActiveEditor(editor); SnapshotBrowser spaceEditor = (SnapshotBrowser) editor; insertAction.setEditor(spaceEditor); deleteAction.setEditor(spaceEditor); csvExportAction.setEditor(spaceEditor); excelExportAction.setEditor(spaceEditor); sizeAction.setEditor(spaceEditor); spaceEditor.setSizeItem(sizeItem); spaceEditor.setBrowseTimeItem(browseTimeItem); } @Override public void dispose() { insertAction.dispose(); insertAction = null; deleteAction.dispose(); deleteAction = null; csvExportAction.dispose(); csvExportAction = null; excelExportAction.dispose(); excelExportAction = null; sizeAction.dispose(); sizeAction = null; sizeItem.dispose(); sizeItem = null; browseTimeItem.dispose(); browseTimeItem = null; super.dispose(); } @Override public void contributeToToolBar(IToolBarManager toolBarManager) { toolBarManager.add(insertAction); toolBarManager.add(deleteAction); toolBarManager.add(new Separator()); super.contributeToToolBar(toolBarManager); toolBarManager.add(csvExportAction); toolBarManager.add(excelExportAction); toolBarManager.add(sizeAction); } }