use of com.twinsoft.convertigo.beans.mobile.components.UICustom 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.beans.mobile.components.UICustom in project convertigo by convertigo.
the class MobileUIComponentTreeObject method launchEditor.
@Override
public void launchEditor(String editorType) {
UIComponent uic = getObject();
if (uic instanceof UICustom) {
openHtmlFileEditor();
} else if (uic instanceof UIStyle) {
openCssFileEditor();
} else if (uic instanceof UICustomAction) {
String functionMarker = "function:" + ((UICustomAction) uic).getActionName();
editFunction(uic, functionMarker, "actionValue");
} else if (uic instanceof UIFormCustomValidator) {
String functionMarker = "function:" + ((UIFormCustomValidator) uic).getValidatorName();
editFunction(uic, functionMarker, "validatorValue");
} else {
super.launchEditor(editorType);
}
}
Aggregations