use of org.eclipse.e4.ui.model.application.ui.basic.MPart in project portfolio by buchen.
the class OpenRecentFileHandler method execute.
@Execute
public void execute(@Named(IServiceConstants.ACTIVE_SHELL) Shell shell, //
@Optional @Named(IServiceConstants.ACTIVE_PART) MPart activePart, MApplication app, EPartService partService, EModelService modelService, @Named("name.abuchen.portfolio.ui.param.file") String file) {
MPart part = partService.createPart(UIConstants.Part.PORTFOLIO);
part.setLabel(new File(file).getName());
part.setTooltip(file);
part.getPersistedState().put(UIConstants.File.PERSISTED_STATE_KEY, file);
if (activePart != null)
activePart.getParent().getChildren().add(part);
else
((MPartStack) modelService.find(UIConstants.PartStack.MAIN, app)).getChildren().add(part);
part.setVisible(true);
part.getParent().setVisible(true);
partService.showPart(part, PartState.ACTIVATE);
}
use of org.eclipse.e4.ui.model.application.ui.basic.MPart in project portfolio by buchen.
the class OpenSampleHandler method execute.
@Execute
public void execute(//
@Named(IServiceConstants.ACTIVE_SHELL) Shell shell, //
final MApplication app, final EPartService partService, final EModelService modelService, @Named(UIConstants.Parameter.SAMPLE_FILE) final String sampleFile) {
try {
IRunnableWithProgress loadResourceOperation = new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
try (InputStream in = this.getClass().getResourceAsStream(sampleFile)) {
InputStream inputStream = new ProgressMonitorInputStream(in, monitor);
Reader replacingReader = new TokenReplacingReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8), buildResourcesTokenResolver());
final Client client = ClientFactory.load(replacingReader);
fixTaxonomyLabels(client);
sync.asyncExec(() -> {
MPart part = partService.createPart(UIConstants.Part.PORTFOLIO);
part.setLabel(sampleFile.substring(sampleFile.lastIndexOf('/') + 1));
part.getTransientData().put(Client.class.getName(), client);
MPartStack stack = (MPartStack) modelService.find(UIConstants.PartStack.MAIN, app);
stack.getChildren().add(part);
partService.showPart(part, PartState.ACTIVATE);
});
} catch (IOException ignore) {
PortfolioPlugin.log(ignore);
}
}
};
new ProgressMonitorDialog(shell).run(true, true, loadResourceOperation);
} catch (InvocationTargetException | InterruptedException e) {
PortfolioPlugin.log(e);
}
}
use of org.eclipse.e4.ui.model.application.ui.basic.MPart in project portfolio by buchen.
the class SaveFileHandler method execute.
@Execute
public void execute(@Named(IServiceConstants.ACTIVE_PART) MPart part, @Named(IServiceConstants.ACTIVE_SHELL) Shell shell) {
Client client = MenuHelper.getActiveClient(part);
if (client == null)
return;
// trigger part to save file
((PortfolioPart) part.getObject()).save(part, shell);
}
use of org.eclipse.e4.ui.model.application.ui.basic.MPart in project portfolio by buchen.
the class UpdateCPIHandler method execute.
@Execute
public void execute(@Named(IServiceConstants.ACTIVE_PART) MPart part, @Named(IServiceConstants.ACTIVE_SHELL) Shell shell) {
Client client = MenuHelper.getActiveClient(part);
if (client == null)
return;
new UpdateCPIJob(client).schedule();
}
use of org.eclipse.e4.ui.model.application.ui.basic.MPart in project portfolio by buchen.
the class CreateTextFromPDFHandler method execute.
@Execute
public void execute(@Named(IServiceConstants.ACTIVE_PART) MPart part, @Named(IServiceConstants.ACTIVE_SHELL) Shell shell) throws IOException {
FileDialog fileDialog = new FileDialog(shell, SWT.OPEN | SWT.SINGLE);
fileDialog.setText(Messages.PDFImportDebugTextExtraction);
fileDialog.setFilterNames(new String[] { Messages.PDFImportFilterName });
// $NON-NLS-1$
fileDialog.setFilterExtensions(new String[] { "*.pdf" });
fileDialog.open();
String fileName = fileDialog.getFileName();
if (fileName == null || fileName.isEmpty())
return;
try {
PDFInputFile inputFile = new PDFInputFile(new File(fileDialog.getFilterPath(), fileName));
inputFile.parse();
String text = MessageFormat.format(Messages.PDFImportDebugAuthor, inputFile.getAuthor());
// $NON-NLS-1$
text += "\nPDFBox Version: " + inputFile.getPDFBoxVersion().toString();
// $NON-NLS-1$
text += "\n-----------------------------------------\n";
// CRLF to spac; //$NON-NLS-1$ //$NON-NLS-2$
text += inputFile.getText().replace("\r", "");
new DisplayTextDialog(shell, text).open();
} catch (IOException e) {
PortfolioPlugin.log(e);
MessageDialog.openError(shell, Messages.LabelError, e.getMessage());
}
}
Aggregations