use of com.twinsoft.convertigo.eclipse.editors.mobile.ComponentFileEditorInput in project convertigo by convertigo.
the class MobileApplicationComponentTreeObject method editAppComponentTsFile.
public void editAppComponentTsFile() {
final ApplicationComponent application = getObject();
try {
// Refresh project resource
String projectName = application.getProject().getName();
IProject project = ConvertigoPlugin.getDefault().getProjectPluginResource(projectName);
project.refreshLocal(IResource.DEPTH_INFINITE, null);
// Close editor
String filePath = application.getProject().getMobileBuilder().getTempTsRelativePath(application);
IFile file = project.getFile(filePath);
closeComponentFileEditor(file);
// Write temporary file
application.getProject().getMobileBuilder().writeAppComponentTempTs(application);
file.refreshLocal(IResource.DEPTH_ZERO, null);
// Open file in editor
if (file.exists()) {
IEditorInput input = new ComponentFileEditorInput(file, application);
if (input != null) {
IEditorDescriptor desc = PlatformUI.getWorkbench().getEditorRegistry().getDefaultEditor(file.getName());
IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
String editorId = desc.getId();
IEditorPart editorPart = activePage.openEditor(input, editorId);
addMarkers(file, editorPart);
editorPart.addPropertyListener(new IPropertyListener() {
boolean isFirstChange = false;
@Override
public void propertyChanged(Object source, int propId) {
if (source instanceof ITextEditor) {
if (propId == IEditorPart.PROP_DIRTY) {
if (!isFirstChange) {
isFirstChange = true;
return;
}
isFirstChange = false;
ITextEditor editor = (ITextEditor) source;
IDocumentProvider dp = editor.getDocumentProvider();
IDocument doc = dp.getDocument(editor.getEditorInput());
FormatedContent componentScriptContent = new FormatedContent(MobileBuilder.getMarkers(doc.get()));
MobileApplicationComponentTreeObject.this.setPropertyValue("componentScriptContent", componentScriptContent);
}
}
}
});
}
}
} catch (Exception e) {
ConvertigoPlugin.logException(e, "Unable to open typescript file for page '" + application.getName() + "'!");
}
}
use of com.twinsoft.convertigo.eclipse.editors.mobile.ComponentFileEditorInput in project convertigo by convertigo.
the class MobileComponentTreeObject method closeComponentFileEditor.
protected void closeComponentFileEditor(final IFile file) {
try {
IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IContainer parent = file.getParent();
String extension = file.getFileExtension();
for (IEditorReference editorReference : activePage.getEditorReferences()) {
IEditorInput editorInput = editorReference.getEditorInput();
if (editorInput instanceof ComponentFileEditorInput) {
ComponentFileEditorInput cfei = (ComponentFileEditorInput) editorInput;
IFile oldFile = cfei.getFile();
if (parent.equals(oldFile.getParent()) && extension.equals(oldFile.getFileExtension())) {
activePage.closeEditor(editorReference.getEditor(false), true);
return;
}
}
}
} catch (Exception e) {
}
}
use of com.twinsoft.convertigo.eclipse.editors.mobile.ComponentFileEditorInput in project convertigo by convertigo.
the class MobileUIComponentTreeObject method openCssFileEditor.
private void openCssFileEditor() {
final UIStyle ms = (UIStyle) getObject();
String filePath = "/_private/editor/" + StringUtils.hash(ms.getParent().getQName()) + "/" + ms.getName() + ".scss";
try {
// Refresh project resource
String projectName = ms.getProject().getName();
IProject project = ConvertigoPlugin.getDefault().getProjectPluginResource(projectName);
// Close editor
IFile file = project.getFile(filePath);
closeComponentFileEditor(file);
// Write css file
SwtUtils.fillFile(file, formatStyleContent(ms));
// Open file in editor
if (file.exists()) {
IEditorInput input = new ComponentFileEditorInput(file, ms);
if (input != null) {
String editorId = "org.eclipse.ui.genericeditor.GenericEditor";
IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IEditorPart editorPart = activePage.openEditor(input, editorId);
editorPart.addPropertyListener(new IPropertyListener() {
boolean isFirstChange = false;
@Override
public void propertyChanged(Object source, int propId) {
if (source instanceof ITextEditor) {
if (propId == IEditorPart.PROP_DIRTY) {
if (!isFirstChange) {
isFirstChange = true;
return;
}
isFirstChange = false;
ITextEditor editor = (ITextEditor) source;
IDocumentProvider dp = editor.getDocumentProvider();
IDocument doc = dp.getDocument(editor.getEditorInput());
String content = unformatStyleContent(ms, doc.get());
if (content != null) {
FormatedContent formatedContent = new FormatedContent(content);
MobileUIComponentTreeObject.this.setPropertyValue("styleContent", formatedContent);
}
}
}
}
});
}
}
} catch (CoreException e) {
ConvertigoPlugin.logException(e, "Unable to open file '" + filePath + "'!");
}
}
use of com.twinsoft.convertigo.eclipse.editors.mobile.ComponentFileEditorInput in project convertigo by convertigo.
the class MobileUIComponentTreeObject method openHtmlFileEditor.
private void openHtmlFileEditor() {
final UICustom mc = (UICustom) getObject();
String filePath = "/_private/" + mc.priority + ".html";
try {
// Refresh project resource
String projectName = mc.getProject().getName();
IProject project = ConvertigoPlugin.getDefault().getProjectPluginResource(projectName);
project.refreshLocal(IResource.DEPTH_INFINITE, null);
// Close editor
IFile file = project.getFile(filePath);
closeComponentFileEditor(file);
// Write html file
try {
InputStream is = new ByteArrayInputStream(mc.getCustomTemplate().getBytes("ISO-8859-1"));
file.create(is, true, null);
file.setCharset("ISO-8859-1", null);
} catch (UnsupportedEncodingException e) {
}
file.refreshLocal(IResource.DEPTH_ZERO, null);
// Open file in editor
if (file.exists()) {
IEditorInput input = new ComponentFileEditorInput(file, mc);
if (input != null) {
String editorId = "org.eclipse.ui.genericeditor.GenericEditor";
IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IEditorPart editorPart = activePage.openEditor(input, editorId);
editorPart.addPropertyListener(new IPropertyListener() {
boolean isFirstChange = false;
@Override
public void propertyChanged(Object source, int propId) {
if (source instanceof ITextEditor) {
// org.eclipse.wst.sse.ui.StructuredTextEditor
if (propId == IEditorPart.PROP_DIRTY) {
if (!isFirstChange) {
isFirstChange = true;
return;
}
isFirstChange = false;
ITextEditor editor = (ITextEditor) source;
IDocumentProvider dp = editor.getDocumentProvider();
IDocument doc = dp.getDocument(editor.getEditorInput());
String htmlTemplate = doc.get();
MobileUIComponentTreeObject.this.setPropertyValue("htmlTemplate", htmlTemplate);
}
}
}
});
}
}
} catch (CoreException e) {
ConvertigoPlugin.logException(e, "Unable to open file '" + filePath + "'!");
}
}
use of com.twinsoft.convertigo.eclipse.editors.mobile.ComponentFileEditorInput in project convertigo by convertigo.
the class MobilePageComponentTreeObject method editPageTsFile.
public void editPageTsFile() {
final PageComponent page = (PageComponent) getObject();
try {
// Refresh project resource
String projectName = page.getProject().getName();
IProject project = ConvertigoPlugin.getDefault().getProjectPluginResource(projectName);
project.refreshLocal(IResource.DEPTH_INFINITE, null);
// Close editor
String filePath = page.getProject().getMobileBuilder().getTempTsRelativePath(page);
IFile file = project.getFile(filePath);
closeComponentFileEditor(file);
// Write temporary file
page.getProject().getMobileBuilder().writePageTempTs(page);
file.refreshLocal(IResource.DEPTH_ZERO, null);
// Open file in editor
if (file.exists()) {
IEditorInput input = new ComponentFileEditorInput(file, page);
if (input != null) {
IEditorDescriptor desc = PlatformUI.getWorkbench().getEditorRegistry().getDefaultEditor(file.getName());
IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
String editorId = desc.getId();
IEditorPart editorPart = activePage.openEditor(input, editorId);
addMarkers(file, editorPart);
editorPart.addPropertyListener(new IPropertyListener() {
boolean isFirstChange = false;
@Override
public void propertyChanged(Object source, int propId) {
if (source instanceof ITextEditor) {
if (propId == IEditorPart.PROP_DIRTY) {
if (!isFirstChange) {
isFirstChange = true;
return;
}
isFirstChange = false;
ITextEditor editor = (ITextEditor) source;
IDocumentProvider dp = editor.getDocumentProvider();
IDocument doc = dp.getDocument(editor.getEditorInput());
FormatedContent scriptContent = new FormatedContent(MobileBuilder.getMarkers(doc.get()));
MobilePageComponentTreeObject.this.setPropertyValue("scriptContent", scriptContent);
}
}
}
});
}
}
} catch (Exception e) {
ConvertigoPlugin.logException(e, "Unable to open typescript file for page '" + page.getName() + "'!");
}
}
Aggregations