blob: 88c4b136413271056853434a50aec56f0f7f4aae [file] [log] [blame]
/**
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*
*
* This copyright notice shows up in the generated Java code
*/
package org.eclipse.osbp.xtext.datainterchange.ui.contentassist;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.xtext.ui.editor.contentassist.ConfigurableCompletionProposal;
import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
import org.eclipse.xtext.ui.editor.contentassist.ReplacementTextApplier;
@SuppressWarnings("all")
public class FileNameTextApplier extends ReplacementTextApplier {
private ContentAssistContext context;
private String[] extensions;
public ContentAssistContext setContext(final ContentAssistContext context) {
return this.context = context;
}
public String[] setExtensions(final String[] fileExtensions) {
return this.extensions = fileExtensions;
}
@Override
public String getActualReplacementString(final ConfigurableCompletionProposal proposal) {
Display display = this.context.getViewer().getTextWidget().getDisplay();
Shell _activeShell = display.getActiveShell();
FileDialog fileDialog = new FileDialog(_activeShell);
fileDialog.setFilterExtensions(this.extensions);
String fileName = fileDialog.open();
fileName = fileName.replace("\\", "/");
return "\"".concat(fileName).concat("\"");
}
}