Search in sources :

Example 16 with MPart

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);
}
Also used : MPart(org.eclipse.e4.ui.model.application.ui.basic.MPart) MPartStack(org.eclipse.e4.ui.model.application.ui.basic.MPartStack) File(java.io.File) Execute(org.eclipse.e4.core.di.annotations.Execute)

Example 17 with MPart

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);
    }
}
Also used : ProgressMonitorInputStream(name.abuchen.portfolio.util.ProgressMonitorInputStream) MPart(org.eclipse.e4.ui.model.application.ui.basic.MPart) InputStreamReader(java.io.InputStreamReader) MPartStack(org.eclipse.e4.ui.model.application.ui.basic.MPartStack) ProgressMonitorInputStream(name.abuchen.portfolio.util.ProgressMonitorInputStream) InputStream(java.io.InputStream) ProgressMonitorDialog(org.eclipse.jface.dialogs.ProgressMonitorDialog) TokenReplacingReader(name.abuchen.portfolio.util.TokenReplacingReader) Reader(java.io.Reader) InputStreamReader(java.io.InputStreamReader) IOException(java.io.IOException) InvocationTargetException(java.lang.reflect.InvocationTargetException) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) TokenReplacingReader(name.abuchen.portfolio.util.TokenReplacingReader) Client(name.abuchen.portfolio.model.Client) Execute(org.eclipse.e4.core.di.annotations.Execute)

Example 18 with MPart

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);
}
Also used : PortfolioPart(name.abuchen.portfolio.ui.PortfolioPart) Client(name.abuchen.portfolio.model.Client) CanExecute(org.eclipse.e4.core.di.annotations.CanExecute) Execute(org.eclipse.e4.core.di.annotations.Execute)

Example 19 with MPart

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();
}
Also used : Client(name.abuchen.portfolio.model.Client) UpdateCPIJob(name.abuchen.portfolio.ui.UpdateCPIJob) CanExecute(org.eclipse.e4.core.di.annotations.CanExecute) Execute(org.eclipse.e4.core.di.annotations.Execute)

Example 20 with MPart

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());
    }
}
Also used : DisplayTextDialog(name.abuchen.portfolio.ui.dialogs.DisplayTextDialog) PDFInputFile(name.abuchen.portfolio.datatransfer.pdf.PDFInputFile) IOException(java.io.IOException) FileDialog(org.eclipse.swt.widgets.FileDialog) PDFInputFile(name.abuchen.portfolio.datatransfer.pdf.PDFInputFile) File(java.io.File) Execute(org.eclipse.e4.core.di.annotations.Execute)

Aggregations

Execute (org.eclipse.e4.core.di.annotations.Execute)20 MPart (org.eclipse.e4.ui.model.application.ui.basic.MPart)19 Client (name.abuchen.portfolio.model.Client)12 CanExecute (org.eclipse.e4.core.di.annotations.CanExecute)11 File (java.io.File)7 MPartStack (org.eclipse.e4.ui.model.application.ui.basic.MPartStack)7 IEclipseContext (org.eclipse.e4.core.contexts.IEclipseContext)6 PortfolioPart (name.abuchen.portfolio.ui.PortfolioPart)5 WizardDialog (org.eclipse.jface.wizard.WizardDialog)5 FileDialog (org.eclipse.swt.widgets.FileDialog)5 Dialog (org.eclipse.jface.dialogs.Dialog)4 IOException (java.io.IOException)3 ArrayList (java.util.ArrayList)3 MUIElement (org.eclipse.e4.ui.model.application.ui.MUIElement)3 IPreferenceStore (org.eclipse.jface.preference.IPreferenceStore)3 StringWriter (java.io.StringWriter)2 InvocationTargetException (java.lang.reflect.InvocationTargetException)2 List (java.util.List)2 Named (javax.inject.Named)2 Extractor (name.abuchen.portfolio.datatransfer.Extractor)2