--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.tizen.webuibuilder.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
--- /dev/null
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
--- /dev/null
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Test
+Bundle-SymbolicName: org.tizen.webuibuilder.test
+Bundle-Version: 1.0.0.qualifier
+Fragment-Host: org.tizen.webuibuilder;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
--- /dev/null
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
--- /dev/null
+package org.tizen.webuibuilder.snippet;
+
+import static org.junit.Assert.*;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.tizen.common.util.FileUtil;
+import org.tizen.webuibuilder.utility.ResourceManager;
+import org.tizen.webuibuilder.utility.ResourceUtil;
+
+public class ResourceManagerUnitTest {
+ private static String TEST_DIRECTORY_PATH = "./test/ResourceManager";
+ private static String TEST_FILE_PATH = "./test/ResourceManager/test.txt";
+ private static String TEST_TEXT = "ResourceManagerUnitTest";
+
+
+ private Logger logger = LoggerFactory.getLogger(getClass());
+
+ @Test
+ public void GetStringTest() {
+ // create test directory
+ String testDirectoryPath = ResourceUtil.getAbsolutePath(TEST_DIRECTORY_PATH);
+ logger.info(testDirectoryPath);
+ File testDirectory = new File(testDirectoryPath);
+ Assert.assertFalse("Test directory already exist", testDirectory.exists());
+ Assert.assertTrue("Test directory create fail", testDirectory.mkdirs());
+ Assert.assertTrue("Test directory create fail", testDirectory.exists());
+
+ // create test file
+ String testFilePath = ResourceUtil.getAbsolutePath(TEST_FILE_PATH);
+ logger.info(testFilePath);
+
+ File testFile = new File(testFilePath);
+ if (!testFile.exists()) {
+ try {
+ FileUtil.createTextFile(testFile, TEST_TEXT, null);
+ } catch (IOException e) {
+ fail("Create test file fail");
+ }
+ }
+ Assert.assertTrue(testFile.exists());
+
+ String text = null;
+ try {
+ text = ResourceManager.getString(null);
+ } catch (NullPointerException e) {
+ }
+ text = ResourceManager.getString(TEST_FILE_PATH);
+ Assert.assertEquals(TEST_TEXT, text);
+
+ // remove test directory
+ Assert.assertTrue("Test directory exist fail", testDirectory.exists());
+ Assert.assertTrue("Test directory remove fail", FileUtil.recursiveDelete(testDirectory));
+ }
+
+}
--- /dev/null
+
+
+package org.tizen.webuibuilder.snippet;
+
+import java.util.Collection;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.junit.Assert;
+import org.junit.Test;
+import org.tizen.webuibuilder.BuilderConstants;
+import org.tizen.webuibuilder.snippet.manager.ISnippetManager;
+import org.tizen.webuibuilder.snippet.manager.SnippetManager;
+import org.tizen.webuibuilder.snippet.model.Descriptor;
+import org.tizen.webuibuilder.snippet.model.IDescriptor;
+import org.tizen.webuibuilder.snippet.model.ISnippet;
+import org.tizen.webuibuilder.snippet.model.Snippet;
+import org.tizen.webuibuilder.utility.ResourceManager;
+
+
+public class SnippetManagerUnitTest {
+ private String TEST_SNIPPET_NAME1 = "test1";
+ private String TEST_SNIPPET_NAME2 = "test2";
+
+ private ISnippet createSnippet(String name) {
+ ISnippet snippet = new Snippet();
+ snippet.setId("");
+ snippet.setName(name);
+ // Create Image Descriptor
+ Image image = ResourceManager.getImage(BuilderConstants.IMAGE_DIR, "image.png");
+ ImageDescriptor imageDescriptor = ImageDescriptor.createFromImage(image);
+ snippet.setImageDescriptor(imageDescriptor);
+ // Create Descriptor
+ IDescriptor descriptor = new Descriptor();
+ String text = "";
+ descriptor.setText(text);
+ snippet.setDescriptor(descriptor);
+ return snippet;
+ }
+
+ @Test
+ public void GetSnippetsTest() {
+ ISnippetManager manager = new SnippetManager();
+ // initial snippets are empty
+ Collection<ISnippet> snippets = manager.getSnippets();
+ Assert.assertEquals(0, snippets.size());
+ }
+
+ @Test
+ public void CreateTest() {
+ ISnippetManager manager = new SnippetManager();
+ try {
+ manager.create(null);
+ } catch (NullPointerException e) {
+ }
+
+ ISnippet snippet = createSnippet(TEST_SNIPPET_NAME1);
+ Assert.assertTrue("SnippetManager.create fail", manager.create(snippet));
+ }
+
+ @Test
+ public void RemoveTest() {
+ ISnippetManager manager = new SnippetManager();
+ try {
+ manager.remove(null);
+ } catch (NullPointerException e) {
+ }
+
+ // Create snippets
+ Collection<ISnippet> snippets = (Collection<ISnippet>) manager.getSnippets();
+ Assert.assertEquals(1, snippets.size());
+ // remove snippets
+ for (ISnippet snippet : snippets) {
+ Assert.assertTrue("Snippet remove fail", manager.remove(snippet));
+ }
+ }
+
+ @Test
+ public void RenameTest() {
+ ISnippetManager manager = new SnippetManager();
+ try {
+ manager.rename(null, null);
+ } catch (NullPointerException e) {
+ }
+ try {
+ manager.rename(null, TEST_SNIPPET_NAME2);
+ } catch (NullPointerException e) {
+ }
+ ISnippet testSnippet = createSnippet(TEST_SNIPPET_NAME1);
+ Assert.assertTrue("SnippetManager.create fail", manager.create(testSnippet));
+ Assert.assertTrue("SnippetManager.rename fail",
+ manager.rename(testSnippet, TEST_SNIPPET_NAME2));
+ Collection<ISnippet> snippets = (Collection<ISnippet>) manager.getSnippets();
+ Assert.assertEquals(1, snippets.size());
+ for (ISnippet snippet : snippets) {
+ Assert.assertEquals(TEST_SNIPPET_NAME2, snippet.getName());
+ }
+ for (ISnippet snippet : snippets) {
+ Assert.assertTrue("Snippet remove fail", manager.remove(snippet));
+ }
+ }
+
+ @Test
+ public void ExportSnippetTest() {
+ ISnippetManager manager = new SnippetManager();
+ }
+
+ @Test
+ public void ImportSnippetTest() {
+ ISnippetManager manager = new SnippetManager();
+ }
+
+}
--- /dev/null
+package org.tizen.webuibuilder.snippet;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.tizen.webuibuilder.BuilderConstants;
+import org.tizen.webuibuilder.snippet.model.Descriptor;
+import org.tizen.webuibuilder.snippet.model.IDescriptor;
+import org.tizen.webuibuilder.snippet.model.ISnippet;
+import org.tizen.webuibuilder.snippet.model.Snippet;
+import org.tizen.webuibuilder.utility.ResourceManager;
+
+public class SnippetTest {
+ private String TEST_SNIPPET1 = "test1";
+ private String TEST_SNIPPET2 = "test2";
+ private String TEST_SNIPPET3 = "test3";
+
+ private Logger logger = LoggerFactory.getLogger(getClass());
+
+ private ISnippet createSnippet(String name) {
+ ISnippet snippet = new Snippet();
+ snippet.setId("");
+ snippet.setName(name);
+ // Create Image Descriptor
+ Image image = ResourceManager.getImage(BuilderConstants.IMAGE_DIR, "image.png");
+ ImageDescriptor imageDescriptor = ImageDescriptor.createFromImage(image);
+ snippet.setImageDescriptor(imageDescriptor);
+ // Create Descriptor
+ IDescriptor descriptor = new Descriptor();
+ String text = "";
+ descriptor.setText(text);
+ snippet.setDescriptor(descriptor);
+ return snippet;
+ }
+
+ @Test
+ public void CreateAndRemoveSnippetTest() {
+// ISnippetManager manager = new SnippetManager();
+// // Create snippets
+// ISnippet snippet1 = createSnippet(TEST_SNIPPET1);
+// Assert.assertTrue("Snippet create fail", manager.create(snippet1));
+// ISnippet snippet2 = createSnippet(TEST_SNIPPET2);
+// Assert.assertTrue("Snippet create fail", manager.create(snippet2));
+// ISnippet snippet3 = createSnippet(TEST_SNIPPET3);
+// Assert.assertTrue("Snippet create fail", manager.create(snippet3));
+//
+// // remove snippets
+// Assert.assertTrue("Snippet remove fail", manager.remove(snippet1));
+// Assert.assertTrue("Snippet remove fail", manager.remove(snippet2));
+// Assert.assertTrue("Snippet remove fail", manager.remove(snippet3));
+ }
+
+// @Test
+// public void CreateSnippetTest() {
+// CreatePolicy createPolicy = new CreatePolicy(null, "test1", "TestSnippet", "/home/hwani/Image/image.png");
+// Assert.assertTrue("Snippet create fail", createPolicy.run());
+// }
+}
--- /dev/null
+package org.tizen.webuibuilder.snippet;
+
+import java.io.File;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.junit.Assert;
+import org.junit.Test;
+import org.tizen.common.util.FileUtil;
+import org.tizen.webuibuilder.BuilderConstants;
+import org.tizen.webuibuilder.pagetemplate.loader.TemplateLoader;
+import org.tizen.webuibuilder.pagetemplate.manager.ITemplateManager;
+import org.tizen.webuibuilder.pagetemplate.manager.TemplateManager;
+import org.tizen.webuibuilder.pagetemplate.model.ITemplate;
+import org.tizen.webuibuilder.pagetemplate.model.ITemplateGroup;
+import org.tizen.webuibuilder.pagetemplate.model.Template;
+import org.tizen.webuibuilder.pagetemplate.model.TemplateGroup;
+import org.tizen.webuibuilder.snippet.model.Descriptor;
+import org.tizen.webuibuilder.snippet.model.IDescriptor;
+import org.tizen.webuibuilder.utility.ResourceManager;
+import org.tizen.webuibuilder.utility.ResourceUtil;
+
+
+public class TemplateTest {
+ private String TEST_GROUP = "Test";
+ private String TEST_TEMPLATE1 = "Test1";
+ private String TEST_TEMPLATE2 = "Test2";
+ private String TEST_TEMPLATE3 = "Test3";
+ private String PATH_EXPORT = "./test/TemplateManager";
+ private String PATH_IMPORT = "./test/TemplateManager";
+
+ @Test
+ public void CreateTemplateGroupTest() {
+ ITemplateGroup group = new TemplateGroup();
+ group.setName(TEST_GROUP);
+ ITemplateManager manager = new TemplateManager();
+ Assert.assertTrue("Template group create fail", manager.create(group));
+ }
+
+ private ITemplate createTemplate(String name) {
+ ITemplate template = new Template();
+ template.setId("");
+ template.setName(name);
+ template.setDescription("");
+ // Create Image Descriptor
+ Image image = ResourceManager.getImage(BuilderConstants.IMAGE_DIR, "image.png");
+ // File imageFile = new File(imagePath);
+ // ImageLoader imageLoader = new ImageLoader();
+ // ImageData[] imageData = imageLoader.load(imageFile.getPath());
+ ImageDescriptor imageDescriptor = ImageDescriptor.createFromImage(image);
+ // Create Descriptor
+ template.setImageDescriptor(imageDescriptor);
+ IDescriptor descriptor = new Descriptor();
+// Converter converter = new Converter();
+// String text = converter.convert(model);
+ String text = "";
+ descriptor.setText(text);
+ template.setDescriptor(descriptor);
+ return template;
+ }
+
+ @Test
+ public void CreateTemplateTest() {
+ ITemplateGroup group = new TemplateGroup();
+ group.setName(TEST_GROUP);
+ ITemplateManager manager = new TemplateManager();
+ // create Tempaltes
+ ITemplate template1 = createTemplate(TEST_TEMPLATE1);
+ Assert.assertTrue("Template create fail", manager.create(group, template1));
+ ITemplate template2 = createTemplate(TEST_TEMPLATE2);
+ Assert.assertTrue("Template create fail", manager.create(group, template2));
+ ITemplate template3 = createTemplate(TEST_TEMPLATE3);
+ Assert.assertTrue("Template create fail", manager.create(group, template3));
+
+ // remove templates
+ Assert.assertTrue("Template remove fail", manager.remove(group, template1));
+ Assert.assertTrue("Template remove fail", manager.remove(group, template2));
+ Assert.assertTrue("Template remove fail", manager.remove(group, template3));
+ }
+
+ @Test
+ public void ExportTemplateTest() {
+ String exportPath = ResourceUtil.getAbsolutePath(PATH_EXPORT);
+
+ ITemplateGroup group = new TemplateGroup();
+ group.setName(TEST_GROUP);
+ ITemplate template1 = createTemplate(TEST_TEMPLATE1);
+ ITemplateManager manager = new TemplateManager();
+
+ // if directory not exists then export template have to be failed
+ File file = new File(exportPath);
+ Assert.assertFalse(file.exists());
+ Assert.assertFalse(manager.exportTemplate(template1, exportPath));
+
+ // create test directory
+ Assert.assertTrue("Test directory create fail", file.mkdirs());
+ Assert.assertTrue("Template export fail", manager.exportTemplate(template1, exportPath));
+ }
+
+ @Test
+ public void ImportTemplateTest() {
+ String importPath = ResourceUtil.getAbsolutePath(PATH_IMPORT);
+ ITemplateGroup group = new TemplateGroup();
+ group.setName(TEST_GROUP);
+ TemplateLoader loader = new TemplateLoader();
+ ITemplate template1 = loader.load(importPath + File.separator + TEST_TEMPLATE1);
+ Assert.assertNotNull("Template load fail", template1);
+ ITemplateManager manager = new TemplateManager();
+ Assert.assertTrue("Template import fail", manager.importTemplate(template1, group));
+ }
+
+ @Test
+ public void RemoveTemplateGroupTest() {
+ ITemplateGroup group = new TemplateGroup();
+ group.setName(TEST_GROUP);
+ ITemplateManager manager = new TemplateManager();
+ Assert.assertTrue("Template group remove fail", manager.remove(group));
+ }
+
+ @Test
+ public void CleanTest() {
+ String exportPath = ResourceUtil.getAbsolutePath(PATH_EXPORT);
+ // plugin/test directory
+ File file = new File(exportPath);
+ Assert.assertTrue("Test directory exist fail", file.exists());
+ // remove test directory
+ Assert.assertTrue("Test directory remove fail", FileUtil.recursiveDelete(file));
+ }
+}
+++ /dev/null
-<div data-role="page" id="empty">
- <div data-role="header"id="header1" data-position="fixed">
- <h1 id="headingone1">Header</h1>
- </div>
- <div data-role="content" id="content1" data-scroll="y" data-handler="false">
- </div>
-</div>
+++ /dev/null
-<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
-<?xml-stylesheet type='text/xsl' href='./template.xsl'?>
-<Metadata>
- <version>1.0</version>
- <name>empty</name>
- <image>image.png</image>
- <descriptor>desciptor.xml</descriptor>
-</Metadata>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:template match="/">
- <html>
- <head>
- <style type="text/css">
- html,body {
- font-family:Arial;
- margin: 0px;
- }
- td
- {
- font-size:13px;
- }
- .name
- {
- font-size:16px;
- color:#ffffff;
- height:26px;
- background-color:#6d96ac;
- }
- .category
- {
- font-size:16px;
- color:#ffffff;
- height:30px;
- background-color:#6d96ac;
- }
- .contents
- {
- padding: 6px 10px 14px 10px;
- }
- table#widgets td
- {
- border: solid 1px #6d96ac;
- border-collapse: collapse;
- }
- .widgetname
- {
- font-weight: bold;
- text-align: center;
- width: 20%;
- word-break:break-all;
- }
- table#references td
- {
- width: 100%;
- border: 0px;
- border-spacing: 0px;
- padding: 5px;
- }
- .refname
- {
- width: 100%;
- font-weight: bold;
- }
- </style>
- </head>
- <body>
- <img>
- <xsl:attribute name="src">
- <xsl:value-of select="Metadata/image"/>
- </xsl:attribute>
- <xsl:attribute name="width">
- <xsl:value-of select="180"/>
- </xsl:attribute>
- <xsl:attribute name="height">
- <xsl:value-of select="300"/>
- </xsl:attribute>
- <xsl:attribute name="align">
- <xsl:value-of select="center"/>
- </xsl:attribute>
- <xsl:attribute name="alt">
- <xsl:value-of select="Error"/>
- </xsl:attribute>
- </img>
- </body>
- </html>
- </xsl:template>
-
-</xsl:stylesheet>
+++ /dev/null
-<div data-role="page" id="multi">
- <div data-role="header" data-position="fixed">
- <h1>Multi-page application</h1>
- </div><!-- /header -->
-
- <div data-role="content">
- <h2>One</h2>
- <p>
- This is a multi-page boilerplate template that you can copy to build
- your first Tizen Web UI Framework page. This template contains multiple "page"
- containers inside.
- </p>
- <p>
- You link to internal pages by referring to the ID of the page you
- want to show. For example, to <a href="#two">link</a> to the page
- with an ID of "two", my link would have a
- <code>href="#two"</code>
- in the code.
- </p>
- <h3>Show internal pages:</h3>
- <p><a href="#two" data-role="button">Show page "two"</a></p>
- <p><a href="#popup" data-role="button" data-position-to="window" data-rel="popup">Show page "popup" (as a dialog)</a></p>
-
- <div id="popup" data-role="popup" data-style="center_title_1btn">
- <div class="ui-popup-title">
- <h1>Popup title</h1>
- </div>
- <div class="ui-popup-text">Pop-up dialog box, a child window that blocks user interact to the parent windows</div>
- <a href="#" data-inline="true" data-role="button" onclick="javascript:$('#popup').popup('close');">Close</a>
- </div>
- </div><!-- /content -->
-
- <div data-role="footer" data-position="fixed">
- <h4>Page Footer</h4>
- </div><!-- /footer -->
-</div><!-- /page one -->
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-
-<head>
- <meta charset="utf-8"/>
- <meta name="description" content="A Tizen Web UI FW multi-page template generated by Tizen Web IDE"/>
- <meta name="viewport" content="width=device-width,user-scalable=no"/>
-
- <link rel="stylesheet" href="tizen-web-ui-fw/latest/themes/tizen-white/tizen-web-ui-fw-theme.css" name="tizen-theme"/>
- <title>Tizen Web IDE - Template - Tizen - Tizen Web UI Framework - Mutil-Page</title>
- <!--NOTE:
- jquery.js and web-ui-fw.js must be included.
- DO NOT REMOVE below code!
- -->
- <script src="tizen-web-ui-fw/latest/js/jquery.js"></script>
- <script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js"></script>
- <script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw.js"
- data-framework-theme="tizen-white"></script>
-
- <!--NOTE:
- Additional scripts and css files are to be placed here.
- You can use jQuery namespace($) and all functionalities in jQuery
- in your script. For example:
-
- <script src="main.js"></script>
- <link rel="stylesheet" href="my.css">
- -->
- <script type="text/javascript" src="./js/main.js"></script>
- <link rel="stylesheet" type="text/css" href="./css/style.css"/>
-</head>
-
-<body>
- <!-- Start of first page: #one -->
- <div data-role="page" id="one">
- <div data-role="header" data-position="fixed">
- <h1>Multi-page application</h1>
- </div><!-- /header -->
-
- <div data-role="content">
- <h2>One</h2>
- <p>
- This is a multi-page boilerplate template that you can copy to build
- your first Tizen Web UI Framework page. This template contains multiple "page"
- containers inside.
- </p>
- <p>
- You link to internal pages by referring to the ID of the page you
- want to show. For example, to <a href="#two">link</a> to the page
- with an ID of "two", my link would have a
- <code>href="#two"</code>
- in the code.
- </p>
- <h3>Show internal pages:</h3>
- <p><a href="#two" data-role="button">Show page "two"</a></p>
- <p><a href="#popup" data-role="button" data-position-to="window" data-rel="popup">Show page "popup" (as a dialog)</a></p>
-
- <div id="popup" data-role="popup" data-style="center_title_1btn">
- <div class="ui-popup-title">
- <h1>Popup title</h1>
- </div>
- <div class="ui-popup-text">Pop-up dialog box, a child window that blocks user interact to the parent windows</div>
- <a href="#" data-inline="true" data-role="button" onclick="javascript:$('#popup').popup('close');">Close</a>
- </div>
- </div><!-- /content -->
-
- <div data-role="footer" data-position="fixed">
- <h4>Page Footer</h4>
- </div><!-- /footer -->
- </div><!-- /page one -->
-
-
- <!-- Start of second page: #two -->
- <div data-role="page" id="two">
- <div data-role="header" data-position="fixed">
- <h1>Two</h1>
- </div><!-- /header -->
-
- <div data-role="content">
- <h2>Two</h2>
- <p>I have an id of "two" on my page container. I'm the second
- page container in this multi-page template.</p>
- <p><a href="#one" data-direction="reverse" data-role="button">Back to page "one"</a></p>
- </div><!-- /content -->
-
- <div data-role="footer" data-position="fixed">
- <h4>Page Footer</h4>
- </div><!-- /footer -->
- </div><!-- /page two -->
-
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
-<?xml-stylesheet type='text/xsl' href='./template.xsl'?>
-<Metadata>
- <version>1.0</version>
- <name>multi</name>
- <image>image.png</image>
- <descriptor>desciptor.xml</descriptor>
-</Metadata>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:template match="/">
- <html>
- <head>
- <style type="text/css">
- html,body {
- font-family:Arial;
- margin: 0px;
- }
- td
- {
- font-size:13px;
- }
- .name
- {
- font-size:16px;
- color:#ffffff;
- height:26px;
- background-color:#6d96ac;
- }
- .category
- {
- font-size:16px;
- color:#ffffff;
- height:30px;
- background-color:#6d96ac;
- }
- .contents
- {
- padding: 6px 10px 14px 10px;
- }
- table#widgets td
- {
- border: solid 1px #6d96ac;
- border-collapse: collapse;
- }
- .widgetname
- {
- font-weight: bold;
- text-align: center;
- width: 20%;
- word-break:break-all;
- }
- table#references td
- {
- width: 100%;
- border: 0px;
- border-spacing: 0px;
- padding: 5px;
- }
- .refname
- {
- width: 100%;
- font-weight: bold;
- }
- </style>
- </head>
- <body>
- <img>
- <xsl:attribute name="src">
- <xsl:value-of select="Metadata/image"/>
- </xsl:attribute>
- <xsl:attribute name="width">
- <xsl:value-of select="180"/>
- </xsl:attribute>
- <xsl:attribute name="height">
- <xsl:value-of select="300"/>
- </xsl:attribute>
- <xsl:attribute name="align">
- <xsl:value-of select="center"/>
- </xsl:attribute>
- <xsl:attribute name="alt">
- <xsl:value-of select="Error"/>
- </xsl:attribute>
- </img>
- </body>
- </html>
- </xsl:template>
-
-</xsl:stylesheet>
+++ /dev/null
-<div data-role="page" id="single">
-<div data-role="header"id="header1" data-position="fixed">
- <h1 id="headingone1">Single-page application</h1>
-</div>
-<div data-role="content" id="content1" data-scroll="y" data-handler="false">
- <h4 id="headingfour1">This is a single page boilerplate template that you can copy to build your first Tizen Web UI Framework page.</h4>
-</div>
-</div>
+++ /dev/null
-<!DOCTYPE html>
-<html>
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <meta name="description" content="A Tizen Web Application Template">
- <meta name="viewport" content="width=device-width,user-scalable=no">
-
- <link rel="stylesheet" href="tizen-web-ui-fw/latest/themes/tizen-white/tizen-web-ui-fw-theme.css" name="tizen-theme">
- <title></title>
-
- <!-- Javascripts -->
-
- <script src="tizen-web-ui-fw/latest/js/jquery.js"></script>
- <script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js"></script>
- <script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw.js" data-framework-theme="tizen-white"></script>
- <script src="./tizen-ui-builder-fw/page-system.js"></script>
- <script src="./app.managed.js"></script>
-
- <script src="./tizen-ui-builder-fw/app-entry.js"></script>
- <script src="./app.js"></script>
-
- <!-- Style sheets -->
-
- <link rel="stylesheet" type="text/css" href="./app.css">
- <link rel="stylesheet" type="text/css" href="./managed.css">
-</head>
-
-<body>
- <div data-role="page" id="page1">
- <div data-role="header"id="header1" data-position="fixed">
- <h1 id="headingone1">Single-page application</h1>
- </div>
- <div data-role="content" id="content1" data-scroll="y" data-handler="false">
- <h4 id="headingfour1">This is a single page boilerplate template that you can copy to build your first Tizen Web UI Framework page.</h4>
- </div>
- </div>
-</body>
-
-</html>
+++ /dev/null
-<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
-<?xml-stylesheet type='text/xsl' href='./template.xsl'?>
-<Metadata>
- <version>1.0</version>
- <name>single</name>
- <image>image.png</image>
- <descriptor>desciptor.xml</descriptor>
-</Metadata>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:template match="/">
- <html>
- <head>
- <style type="text/css">
- html,body {
- font-family:Arial;
- margin: 0px;
- }
- td
- {
- font-size:13px;
- }
- .name
- {
- font-size:16px;
- color:#ffffff;
- height:26px;
- background-color:#6d96ac;
- }
- .category
- {
- font-size:16px;
- color:#ffffff;
- height:30px;
- background-color:#6d96ac;
- }
- .contents
- {
- padding: 6px 10px 14px 10px;
- }
- table#widgets td
- {
- border: solid 1px #6d96ac;
- border-collapse: collapse;
- }
- .widgetname
- {
- font-weight: bold;
- text-align: center;
- width: 20%;
- word-break:break-all;
- }
- table#references td
- {
- width: 100%;
- border: 0px;
- border-spacing: 0px;
- padding: 5px;
- }
- .refname
- {
- width: 100%;
- font-weight: bold;
- }
- </style>
- </head>
- <body>
- <img>
- <xsl:attribute name="src">
- <xsl:value-of select="Metadata/image"/>
- </xsl:attribute>
- <xsl:attribute name="width">
- <xsl:value-of select="180"/>
- </xsl:attribute>
- <xsl:attribute name="height">
- <xsl:value-of select="300"/>
- </xsl:attribute>
- <xsl:attribute name="align">
- <xsl:value-of select="center"/>
- </xsl:attribute>
- <xsl:attribute name="alt">
- <xsl:value-of select="Error"/>
- </xsl:attribute>
- </img>
- </body>
- </html>
- </xsl:template>
-
-</xsl:stylesheet>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-
-<descriptor>
- <tizen.css/>
- <tizen.part>
- <html.divcontrol id="divcontrol1" style="overflow: hidden;" class="">
- <tizen.button id="button1" text="Button" data-style="" data-icon="" data-iconpos="" data-inline=""/>
- <tizen.progressbar id="progressbar1"/>
- </html.divcontrol>
- </tizen.part>
-</descriptor>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<Metadata>
- <version>1.0</version>
- <id>1</id>
- <name>test</name>
- <description></description>
- <image>image.png</image>
- <descriptor>descriptor.xml</descriptor>
-</Metadata>
*/
public void removeAnimatorRelatedResources() {
if (appManager instanceof AppManagerForHTML) {
- if (!((AnimatorPart)rootPart).hasAnimation()) {
+ if (!((AnimatorPart) rootPart).hasAnimation()) {
Document editDoc = ((AppManagerForHTML) appManager).getDocument();
NodeList heads = editDoc.getElementsByTagName("head");
Element head = null;
if (heads != null) {
head = (Element) heads.item(0);
} else {
- head = editDoc.createElement("head");
- if(head != null) {
- editDoc.insertBefore(head, editDoc.getFirstChild());
+ head = editDoc.createElement("head");
+ if (head != null) {
+ editDoc.insertBefore(head, editDoc.getFirstChild());
}
}
-
- NodeList scripts = head.getElementsByTagName("script");
- if (scripts != null) {
- int len = scripts.getLength();
- for (int i = 0; i < len; i++) {
- Element script = (Element) scripts.item(i);
- String src = script.getAttribute("src");
- int fileidx = src.lastIndexOf("/");
- String filename = src.substring(fileidx + 1);
- if (filename.equals(AnimatorConstants.ANIMATOR_MODEL_JS_FILE)
- || filename.equals(AnimatorConstants.ANIMATOR_FRAMEWORK_JSPATH)) {
- // elm.removeChild(script);
- script.removeAttribute("src");
- script.setTextContent("");
+ if (head != null) {
+ NodeList scripts = head.getElementsByTagName("script");
+ if (scripts != null) {
+ int len = scripts.getLength();
+ for (int i = 0; i < len; i++) {
+ Element script = (Element) scripts.item(i);
+ String src = script.getAttribute("src");
+ int fileidx = src.lastIndexOf("/");
+ String filename = src.substring(fileidx + 1);
+ if (filename.equals(AnimatorConstants.ANIMATOR_MODEL_JS_FILE)
+ || filename.equals(AnimatorConstants.ANIMATOR_FRAMEWORK_JSPATH)) {
+ // elm.removeChild(script);
+ script.removeAttribute("src");
+ script.setTextContent("");
+ }
}
}
- }
- NodeList links = head.getElementsByTagName("link");
- if (links != null) {
- int len = links.getLength();
- for (int i = 0; i < len; i++) {
- Element link = (Element) links.item(i);
- String src = link.getAttribute("href");
- int fileidx = src.lastIndexOf("/");
- String filename = src.substring(fileidx + 1);
- if (filename.equals(AnimatorConstants.ANIMATOR_MODEL_CSS_FILE)) {
- // elm.removeChild(script);
- link.removeAttribute("href");
- link.removeAttribute("rel");
- link.removeAttribute("type");
- link.setTextContent("");
+ NodeList links = head.getElementsByTagName("link");
+ if (links != null) {
+ int len = links.getLength();
+ for (int i = 0; i < len; i++) {
+ Element link = (Element) links.item(i);
+ String src = link.getAttribute("href");
+ int fileidx = src.lastIndexOf("/");
+ String filename = src.substring(fileidx + 1);
+ if (filename.equals(AnimatorConstants.ANIMATOR_MODEL_CSS_FILE)) {
+ // elm.removeChild(script);
+ link.removeAttribute("href");
+ link.removeAttribute("rel");
+ link.removeAttribute("type");
+ link.setTextContent("");
+ }
}
}
}
super(modelFactory);
}
- /*
+ /*
* (non-Javadoc)
*
* @see
* com.google.gson.JsonDeserializationContext)
*/
@Override
- public AnimatorModel deserialize(JsonElement json, Type arg1,
- JsonDeserializationContext context)
+ public AnimatorModel deserialize(JsonElement json, Type arg1, JsonDeserializationContext context)
throws JsonParseException {
AnimatorAnimation animation = null;
if (getPagePart() != null) {
JsonObject jobject = (JsonObject) json;
- animation = (AnimatorAnimation)getModelFactory().createAnimatorModel(AnimatorModelType.ANIMATION);
+ animation =
+ (AnimatorAnimation) getModelFactory()
+ .createAnimatorModel(AnimatorModelType.ANIMATION);
animation.setId(jobject.get("id").getAsString());
JsonElement jsonElement = jobject.get("name");
AnimatorWidget widget = (AnimatorWidget) animation.getChild(id);
Part widgetPart = null;
if (widget == null) {
- widgetPart = (Part) getPagePart().getChildOfIdPropertyValue(id, true);
- if(widgetPart != null) {
- widget = (AnimatorWidget)getModelFactory().createAnimatorModel(AnimatorModelType.WIDGET);
- if(widget != null) {
- widget.setPartLink(widgetPart);
+ widgetPart = (Part) getPagePart().getChildOfIdPropertyValue(id, true);
+ if (widgetPart != null) {
+ widget =
+ (AnimatorWidget) getModelFactory()
+ .createAnimatorModel(AnimatorModelType.WIDGET);
+ if (widget != null) {
+ widget.setPartLink(widgetPart);
widget.setId(widgetPart.getPropertyValue("id"));
widget.setParent(animation);
animation.addChild(widget);
- }
- }
-// widgetPart = (Part) getPagePart().getChildOfIdPropertyValue(id, true);
-// widget = (AnimatorWidget)getModelFactory().createAnimatorModel(AnimatorModelType.WIDGET);
-// widget.setPartLink(widgetPart);
-// widget.setId(widgetPart.getPropertyValue("id"));
-// widget.setParent(animation);
-// animation.addChild(widget);
+ }
+ }
+ // widgetPart = (Part) getPagePart().getChildOfIdPropertyValue(id, true);
+ // widget =
+ // (AnimatorWidget)getModelFactory().createAnimatorModel(AnimatorModelType.WIDGET);
+ // widget.setPartLink(widgetPart);
+ // widget.setId(widgetPart.getPropertyValue("id"));
+ // widget.setParent(animation);
+ // animation.addChild(widget);
}
- widget.setLock(membersObject.get("lock").getAsBoolean());
- widget.setVisibility(membersObject.get("visibility").getAsBoolean());
-
- if (membersObject.has("animation")) {
- AnimatorSelector selector =
- context.deserialize(membersObject.get("animation")
- .getAsJsonObject(), AnimatorSelector.class);
- selector.setSelector(membersObject.get("selector").getAsString());
- selector.setParent(widget);
- if (widgetPart != null) {
- selector.setPartLink(widgetPart);
+ if (widget != null) {
+ widget.setLock(membersObject.get("lock").getAsBoolean());
+ widget.setVisibility(membersObject.get("visibility").getAsBoolean());
+
+ if (membersObject.has("animation")) {
+ AnimatorSelector selector =
+ context.deserialize(membersObject.get("animation")
+ .getAsJsonObject(), AnimatorSelector.class);
+ selector.setSelector(membersObject.get("selector").getAsString());
+ selector.setParent(widget);
+ if (widgetPart != null) {
+ selector.setPartLink(widgetPart);
+ }
+ widget.addChild(selector);
}
- widget.addChild(selector);
}
}
}
return projectManager.getOldDescriptorManager();
}
- // private static PartFactory getPartFactory(IProject project) {
- // ProjectManager projectManager = ProjectManager
- // .getProjectManager(project);
- // return projectManager.getPartFactory();
- // }
-
public static void build(IProject project) throws CoreException, IOException {
BuildProjectOperation op = new BuildProjectOperation(project);
try {
// delete Html file
if ((style & BuilderConstants.HTML_FILE) != 0) {
IFile file = PageManager.getHtmlFile(res);
- if (file.exists()) {
+ if (file != null && file.exists()) {
file.delete(false, null);
- } else {
}
}
if ((style & BuilderConstants.MANAGED_JS_FILE) != 0) {
IFile file = PageManager.getManagedJsFile(res);
- if (file.exists()) {
+ if (file != null && file.exists()) {
file.delete(false, null);
- } else {
}
}
if ((style & BuilderConstants.JS_FILE) != 0) {
IFile file = PageManager.getJsFile(res);
- if (file.exists()) {
+ if (file != null && file.exists()) {
file.delete(false, null);
- } else {
}
}
if ((style & BuilderConstants.CSS_FILE) != 0) {
IFile file = PageManager.getCssFile(res);
- if (file.exists()) {
+ if (file != null && file.exists()) {
file.delete(false, null);
- } else {
}
}
if ((style & BuilderConstants.MANAGED_CSS_FILE) != 0) {
IFile file = PageManager.getManagedCssFile(res);
- if (file.exists()) {
+ if (file != null && file.exists()) {
file.delete(false, null);
- } else {
}
}
if ((style & AnimatorConstants.ANIMATOR_MANAGED_JS_FILE) != 0) {
IFile file = PageManager.getAnimatorManagedJsFile(res);
- if (file.exists()) {
+ if (file != null && file.exists()) {
file.delete(false, null);
- } else {
}
}
if ((style & AnimatorConstants.ANIMATOR_MANAGED_CSS_FILE) != 0) {
IFile file = PageManager.getAnimatorManagedCssFile(res);
- if (file.exists()) {
+ if (file != null && file.exists()) {
file.delete(false, null);
- } else {
}
}
}
// build(project);
break;
default:
- throw new CoreException(null);
+ break;
}
project.refreshLocal(IResource.DEPTH_INFINITE, null);
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import org.eclipse.swt.widgets.Display;
import org.tizen.webuibuilder.bridge.DesignerGoingBridge;
-import org.tizen.webuibuilder.bridge.DesignerGoingBridge.WidgetPosition;
import org.tizen.webuibuilder.browserwidget.ImageBufferedBrowser;
import org.tizen.webuibuilder.browserwidget.ImageBufferedBrowserWidget.ContentsAreaChangedListener;
private List<ImageBufferedBrowser> imageBufferedBrowserList;
private DesignerGoingBridge goingBridge;
- private Map<String, WidgetPosition> allWidgetPositions;
private Display display;
private ContentsAreaChangedListener listener;
private int tickTime = 40;
this.display = display;
this.listener = listener;
- allWidgetPositions = null;
-
display.timerExec(tickTime, this);
}
return imageBufferedBrowserList.get(index);
}
- public Map<String, WidgetPosition> getWidgetPositions() {
- if (allWidgetPositions == null) {
- allWidgetPositions = goingBridge.getAllWidgetPositions();
- }
- return allWidgetPositions;
- }
-
- public WidgetPosition getWidgetPosition(String partId) {
- Map<String, WidgetPosition> pos = getWidgetPositions();
- return (pos != null) ? pos.get(partId) : null;
- }
-
- private void invalidateWidgetPositions() {
- allWidgetPositions = null;
- }
-
public void setBrowserSize(int index, int width, int height) {
getBrowser(index).setBrowserSize(width, height);
- invalidateWidgetPositions();
- }
-
- public void updateSizeEditings() {
- invalidateWidgetPositions();
}
@Override
public class HtmlMetaFileData {
- public class Page {
+ private class Page {
public String name;
public Part rootPart;
- // public List<NScreenModel> nscreenModelList = new
- // ArrayList<NScreenModel>();
-
- public Page(String name, Part rootPart/*
- * , List<NScreenModel> nscreenModelList
- */) {
+ public Page(String name, Part rootPart) {
this.name = name;
this.rootPart = rootPart;
- // this.nscreenModelList = nscreenModelList;
}
}
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PlatformUI;
import org.tizen.webuibuilder.gef.commands.CommandUtil;
+import org.tizen.webuibuilder.model.ISerializer;
import org.tizen.webuibuilder.model.Part;
import org.tizen.webuibuilder.model.descriptors.DescriptorManager;
import org.tizen.webuibuilder.pagetemplate.ui.wizards.CreateWizard;
*/
@Override
public void run() {
- List<Part> parts = CommandUtil.getOrderedParts(rootEditPart, getSelectedObjects());
- CreateWizard wizard = new CreateWizard(parts, descriptorManager);
+ List<?> selectedObjects = getSelectedObjects();
+ Object object = selectedObjects.get(0);
+ if (!(object instanceof ISerializer)) {
+ return;
+ }
+ ISerializer model = (ISerializer) object;
+ CreateWizard wizard = new CreateWizard(model, descriptorManager);
IWorkbench workbench = PlatformUI.getWorkbench();
Shell shell = workbench.getActiveWorkbenchWindow().getShell();
WizardDialog dialog = new WizardDialog(shell, wizard);
private String getTemplatePath(ITemplateGroup group, ITemplate template) {
String path =
getDefaultPath() + File.separator + group.getName() + File.separator
- + template.getName();
+ + template.getId() + "." + template.getName();
return path;
}
if (!loader.save(path)) {
return false;
}
+ templateGroups.add(group);
return true;
}
if (!FileUtil.recursiveDelete(file)) {
return false;
}
+ templateGroups.remove(group);
return true;
}
*/
@Override
public boolean create(ITemplateGroup group, ITemplate template) {
+ // create id
+ String id = group.createId();
+ template.setId(id);
+
String path = getTemplatePath(group, template);
TemplateLoader loader = new TemplateLoader();
+ template.setId(id);
loader.template = template;
if (!loader.save(path)) {
return false;
}
+ group.add(template);
return true;
}
if (!FileUtil.recursiveDelete(file)) {
return false;
}
+ group.remove(template);
return true;
}
package org.tizen.webuibuilder.pagetemplate.model;
-import java.util.List;
+import java.util.Collection;
public interface ITemplateGroup {
+ public Collection<ITemplate> getTemplates();
+
+ public String createId();
+
public void setName(String name);
public String getName();
- public List<ITemplate> getTemplates();
-
public void add(ITemplate template);
public void remove(ITemplate template);
package org.tizen.webuibuilder.pagetemplate.model;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
public class TemplateGroup implements ITemplateGroup {
- private List<ITemplate> templates = null;
private String name = null;
+ private Map<Integer, ITemplate> templates = null;
public TemplateGroup() {
- templates = new ArrayList<ITemplate>();
+ templates = new HashMap<Integer, ITemplate>();
}
/*
*/
@Override
public void add(ITemplate template) {
- templates.add(template);
+ Integer key = Integer.parseInt(template.getId());
+ templates.put(key, template);
}
/*
*/
@Override
public void remove(ITemplate template) {
- templates.remove(template);
+ Integer key = Integer.parseInt(template.getId());
+ templates.remove(key);
}
/*
* @see org.tizen.webuibuilder.pagetemplate.model.ITemplateGroup#getTemplates()
*/
@Override
- public List<ITemplate> getTemplates() {
- return templates;
+ public Collection<ITemplate> getTemplates() {
+ return templates.values();
}
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.tizen.webuibuilder.pagetemplate.model.ITemplateGroup#createId()
+ */
+ @Override
+ public String createId() {
+ // initialize id
+ Integer id = Integer.valueOf(1);
+ while (templates.containsKey(id)) {
+ id = id + 1;
+ }
+ return id.toString();
+ }
}
\ No newline at end of file
package org.tizen.webuibuilder.pagetemplate.ui.wizard.policy;
-import java.util.List;
-
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.graphics.Image;
import org.tizen.webuibuilder.BuilderConstants;
-import org.tizen.webuibuilder.model.Part;
+import org.tizen.webuibuilder.model.ISerializer;
import org.tizen.webuibuilder.model.descriptors.DescriptorManager;
import org.tizen.webuibuilder.pagetemplate.converter.Converter;
import org.tizen.webuibuilder.pagetemplate.manager.ITemplateManager;
public class CreatePolicy implements IWizardPolicy {
- private List<Part> parts = null;
+ private ISerializer model = null;
private ITemplateGroup group = null;
private String name = null;
private DescriptorManager descriptorManager = null;
super();
}
- public CreatePolicy(List<Part> parts, ITemplateGroup group, String name,
+ public CreatePolicy(ISerializer model, ITemplateGroup group, String name,
DescriptorManager descriptorManager) {
this();
- this.parts = parts;
+ this.model = model;
this.group = group;
this.name = name;
this.descriptorManager = descriptorManager;
template.setImageDescriptor(imageDescriptor);
IDescriptor descriptor = new Descriptor();
Converter converter = new Converter();
- String text = converter.convert(parts.get(0));
+// String text = converter.convert(model);
+ String text = "";
descriptor.setText(text);
template.setDescriptor(descriptor);
package org.tizen.webuibuilder.pagetemplate.ui.wizards;
-import java.util.List;
-
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
-import org.tizen.webuibuilder.model.Part;
+import org.tizen.webuibuilder.model.ISerializer;
import org.tizen.webuibuilder.model.descriptors.DescriptorManager;
import org.tizen.webuibuilder.pagetemplate.model.ITemplateGroup;
import org.tizen.webuibuilder.pagetemplate.ui.wizard.policy.CreatePolicy;
public class CreateWizard extends Wizard implements INewWizard {
- private List<Part> parts;
+ private ISerializer model;
private CreateWizardFirstPage firstPage;
private DescriptorManager descriptorManager;
super();
}
- public CreateWizard(List<Part> parts, DescriptorManager descriptorManager) {
+ public CreateWizard(ISerializer model, DescriptorManager descriptorManager) {
this();
- this.parts = parts;
+ this.model = model;
this.descriptorManager = descriptorManager;
}
String name = firstPage.getTemplateName();
// create policy
- CreatePolicy createPolicy = new CreatePolicy(parts, group, name, descriptorManager);
+ CreatePolicy createPolicy = new CreatePolicy(model, group, name, descriptorManager);
// run processor
IWizardProcessor processor = new WizardProcessor();
processor.add(createPolicy);
package org.tizen.webuibuilder.pagetemplate.ui.wizards;
+import java.util.Collection;
import java.util.List;
import org.eclipse.jface.viewers.ILabelProvider;
public Object[] getElements(Object inputElement) {
Object element = fTemplateViewer.getInput();
if (element instanceof ITemplateGroup) {
- List<?> templates = ((ITemplateGroup) element).getTemplates();
- if (templates == null) {
- return null;
- }
+ Collection<?> templates = ((ITemplateGroup) element).getTemplates();
return templates.toArray();
}
return null;
ITemplateGroup templateGroup = (ITemplateGroup) object;
setTemplateGroup(templateGroup);
fTemplateViewer.setInput(templateGroup);
- List<?> templates = templateGroup.getTemplates();
- if (templates == null || templates.size() == 0) {
+ Collection<?> templates = templateGroup.getTemplates();
+ if (templates.size() == 0) {
return;
}
- fTemplateViewer.setSelection(new StructuredSelection(templates.get(0)));
+// fTemplateViewer.setSelection(new StructuredSelection(templates.);
}
}
} else if (e.getSource().equals(fTemplateViewer)) {
public boolean save(String path) {
String text = descriptor.getText();
try {
- FileUtil.writeTextFile(new File(path), text, null);
+ FileUtil.createTextFile(new File(path), text, null);
} catch (IOException e) {
return false;
}
* @see SnippetManager
*/
public interface ISnippetManager {
- public Collection<?> getSnippets();
+ public Collection<ISnippet> getSnippets();
public boolean create(ISnippet snippet);
*
*/
-
package org.tizen.webuibuilder.snippet.manager;
import java.io.File;
import org.tizen.webuibuilder.snippet.model.ISnippet;
import org.tizen.webuibuilder.utility.ResourceUtil;
-
public class SnippetManager implements ISnippetManager {
- private Map<Integer, ISnippet> snippets = null;
- private Logger logger = LoggerFactory.getLogger(getClass());
-
- public SnippetManager() {
- super();
- snippets = new HashMap<Integer, ISnippet>();
- load();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.tizen.webuibuilder.feature.snippet.manager.ISnippetManager#getSnippets()
- */
- @Override
- public Collection<ISnippet> getSnippets() {
- return snippets.values();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.tizen.webuibuilder.feature.snippet.manager.ISnippetManager#create(org.tizen.webuibuilder
- * .feature.snippet.model.ISnippet)
- */
- @Override
- public boolean create(ISnippet snippet) {
- // Create ID
- String id = createId();
- snippet.setId(id);
-
- // Save
- String path = getSnippetPath(snippet);
- SnippetLoader snippetLoader = new SnippetLoader();
- snippetLoader.snippet = snippet;
- if (!snippetLoader.save(path)) {
- return false;
- }
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.tizen.webuibuilder.feature.snippet.manager.ISnippetManager#remove(org.tizen.webuibuilder
- * .feature.snippet.model.ISnippet)
- */
- @Override
- public boolean remove(ISnippet snippet) {
- String path = getSnippetPath(snippet);
- File file = new File(path);
- if (!FileUtil.recursiveDelete(file)) {
- return false;
- }
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.tizen.webuibuilder.feature.snippet.manager.ISnippetManager#rename(org.tizen.webuibuilder
- * .feature.snippet.model.ISnippet, java.lang.String)
- */
- @Override
- public boolean rename(ISnippet snippet, String name) {
- // Remove oldName
- if (!remove(snippet)) {
- return false;
- }
-
- // Rename
- snippet.setName(name);
-
- // Save
- String path = getSnippetPath(snippet);
- SnippetLoader snippetLoader = new SnippetLoader();
- snippetLoader.snippet = snippet;
- if (!snippetLoader.save(path)) {
- return false;
- }
- return true;
- }
-
- public boolean importSnippet(String path) {
- SnippetLoader snippetLoader = new SnippetLoader();
- ISnippet snippet = snippetLoader.load(path);
- if (snippet == null) { // Load snippet fail
- return false;
- }
- if (!create(snippet)) { // Create snippet fail
- return false;
- }
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.tizen.webuibuilder.feature.snippet.manager.ISnippetManager#importSnippet(org.tizen.
- * webuibuilder.feature.snippet.model.ISnippet)
- */
- @Override
- public boolean importSnippet(ISnippet snippet) {
- return create(snippet);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.tizen.webuibuilder.feature.snippet.manager.ISnippetManager#exportSnippet(org.tizen.
- * webuibuilder.feature.snippet.model.ISnippet)
- */
- @Override
- public boolean exportSnippet(ISnippet snippet, String path) {
- // Remove ID
- snippet.setId("");
- SnippetLoader snippetLoader = new SnippetLoader();
- snippetLoader.snippet = snippet;
- if (!snippetLoader.save(path + File.separator + snippet.getName())) {
- return false;
- }
- return true;
- }
-
- private String getDefaultPath() {
- String path = ResourceUtil.getAbsolutePath(InternalMessages.SNIPPET_FOLDER_PATH);
- return path;
- }
-
- private String getSnippetPath(ISnippet snippet) {
- String path = getDefaultPath() + File.separator + snippet.getId() + "." + snippet.getName();
- return path;
- }
-
- private void load() {
- snippets = load(getDefaultPath());
- }
-
- private Map<Integer, ISnippet> load(String path) {
- File folder = new File(path);
- if (!folder.exists()) {
- return null;
- }
- if (!folder.isDirectory()) {
- return null;
- }
-
- Map<Integer, ISnippet> snippets = new HashMap<Integer, ISnippet>();
- File[] files = folder.listFiles();
- for (File file : files) {
- // snippet directory has file
- if (!file.isDirectory()) {
- logger.warn("snippet directory has file");
- continue;
- }
-
- String snippetPath = path + IPath.SEPARATOR + file.getName();
- ISnippetLoader loader = new SnippetLoader();
- // snippet load fail
- ISnippet snippet = loader.load(snippetPath);
- if (snippet == null) {
- logger.warn("snippet load fail");
- continue;
- }
-
- // snippet id consistency broken
- Integer key = Integer.parseInt(snippet.getId());
- if (snippets.containsKey(key)) {
- logger.warn("snippet id consistency broken");
- return null;
- }
- snippets.put(key, snippet);
- }
- return snippets;
- }
-
- protected String createId() {
- // initialize id
- Integer id = Integer.valueOf(1);
- logger.info("id : " + id);
- while (snippets.containsKey(id)) {
- id = id + 1;
- }
- return id.toString();
- }
+ private Map<Integer, ISnippet> snippets = null;
+ private Logger logger = LoggerFactory.getLogger(getClass());
+
+ public SnippetManager() {
+ super();
+ snippets = new HashMap<Integer, ISnippet>();
+ load();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.tizen.webuibuilder.feature.snippet.manager.ISnippetManager#getSnippets
+ * ()
+ */
+ @Override
+ public Collection<ISnippet> getSnippets() {
+ if (snippets == null) {
+ return null;
+ }
+
+ return snippets.values();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.tizen.webuibuilder.feature.snippet.manager.ISnippetManager#create
+ * (org.tizen.webuibuilder .feature.snippet.model.ISnippet)
+ */
+ @Override
+ public boolean create(ISnippet snippet) {
+ // Create ID
+ String id = createId();
+ snippet.setId(id);
+
+ // Save
+ String path = getSnippetPath(snippet);
+ SnippetLoader snippetLoader = new SnippetLoader();
+ snippetLoader.snippet = snippet;
+ if (!snippetLoader.save(path)) {
+ return false;
+ }
+ Integer key = getKey(snippet);
+ snippets.put(key, snippet);
+ return true;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.tizen.webuibuilder.feature.snippet.manager.ISnippetManager#remove
+ * (org.tizen.webuibuilder .feature.snippet.model.ISnippet)
+ */
+ @Override
+ public boolean remove(ISnippet snippet) {
+ String path = getSnippetPath(snippet);
+ File file = new File(path);
+ if (!FileUtil.recursiveDelete(file)) {
+ return false;
+ }
+ Integer key = getKey(snippet);
+ snippets.remove(key);
+ return true;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.tizen.webuibuilder.feature.snippet.manager.ISnippetManager#rename
+ * (org.tizen.webuibuilder .feature.snippet.model.ISnippet,
+ * java.lang.String)
+ */
+ @Override
+ public boolean rename(ISnippet snippet, String name) {
+ // exist in collection ?
+ Integer key = getKey(snippet);
+ ISnippet selectedSnippet = snippets.get(key);
+ if (selectedSnippet == null) {
+ return false;
+ }
+ // Remove old snippet
+ if (!remove(selectedSnippet)) {
+ return false;
+ }
+ // Rename
+ snippet.setName(name);
+ // Create new snippet
+ if (!create(snippet)) {
+ return false;
+ }
+ return true;
+ }
+
+ public boolean importSnippet(String path) {
+ SnippetLoader snippetLoader = new SnippetLoader();
+ ISnippet snippet = snippetLoader.load(path);
+ if (snippet == null) { // Load snippet fail
+ return false;
+ }
+ if (!create(snippet)) { // Create snippet fail
+ return false;
+ }
+ return true;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.tizen.webuibuilder.feature.snippet.manager.ISnippetManager#importSnippet
+ * (org.tizen. webuibuilder.feature.snippet.model.ISnippet)
+ */
+ @Override
+ public boolean importSnippet(ISnippet snippet) {
+ return create(snippet);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.tizen.webuibuilder.feature.snippet.manager.ISnippetManager#exportSnippet
+ * (org.tizen. webuibuilder.feature.snippet.model.ISnippet)
+ */
+ @Override
+ public boolean exportSnippet(ISnippet snippet, String path) {
+ // Remove ID
+ snippet.setId("");
+ SnippetLoader snippetLoader = new SnippetLoader();
+ snippetLoader.snippet = snippet;
+ if (!snippetLoader.save(path + File.separator + snippet.getName())) {
+ return false;
+ }
+ return true;
+ }
+
+ private String getDefaultPath() {
+ String path = ResourceUtil
+ .getAbsolutePath(InternalMessages.SNIPPET_FOLDER_PATH);
+ return path;
+ }
+
+ private String getSnippetPath(ISnippet snippet) {
+ String path = getDefaultPath() + File.separator + snippet.getId() + "."
+ + snippet.getName();
+ return path;
+ }
+
+ private void load() {
+ snippets = load(getDefaultPath());
+ }
+
+ private Map<Integer, ISnippet> load(String path) {
+ File folder = new File(path);
+ if (!folder.exists()) {
+ return null;
+ }
+ if (!folder.isDirectory()) {
+ return null;
+ }
+
+ Map<Integer, ISnippet> snippets = new HashMap<Integer, ISnippet>();
+ File[] files = folder.listFiles();
+ for (File file : files) {
+ // snippet directory has file
+ if (!file.isDirectory()) {
+ logger.warn("snippet directory has file");
+ continue;
+ }
+
+ String snippetPath = path + IPath.SEPARATOR + file.getName();
+ ISnippetLoader loader = new SnippetLoader();
+ // snippet load fail
+ ISnippet snippet = loader.load(snippetPath);
+ if (snippet == null) {
+ logger.warn("snippet load fail");
+ continue;
+ }
+
+ // snippet id consistency broken
+ Integer key = getKey(snippet);
+ if (snippets.containsKey(key)) {
+ logger.warn("snippet id consistency broken");
+ return null;
+ }
+ snippets.put(key, snippet);
+ }
+ return snippets;
+ }
+
+ protected Integer getKey(ISnippet snippet) {
+ return Integer.parseInt(snippet.getId());
+ }
+
+ protected String createId() {
+ // initialize id
+ Integer id = Integer.valueOf(1);
+ while (snippets.containsKey(id)) {
+ id = id + 1;
+ }
+ return id.toString();
+ }
}
private String description = null;
private String imagePath = null;
- @SuppressWarnings("unused")
private CreatePolicy() {
super();
}
public CreatePolicy(Object model, String name, String description, String imagePath) {
+ this();
this.model = model;
this.name = name;
this.description = description;
snippet.setImageDescriptor(imageDescriptor);
// Create Descriptor
IDescriptor descriptor = new Descriptor();
- if (!(model instanceof Part)) {
- return false;
- }
+// if (!(model instanceof Part)) {
+// return false;
+// }
// TODO : implementation Model -> String serialization
// Converter converter = new Converter();
// String text = converter.convert(parts.get(0));
if (viewer == null) {
return;
}
- getView().refresh();
+ viewer.refresh();
}
@Override
if (viewer == null) {
return;
}
- getView().refresh();
+ viewer.refresh();
}
}
}
briefLabel = createBriefLabel();
- briefLabel.setText(msg);
+ if (briefLabel != null) {
+ briefLabel.setText(msg);
+ }
expandableComposite.layout();
Logger logger = LoggerFactory.getLogger(CategoryComposite.class);
briefLabel = null;
}
briefLabel = createBriefLabel();
- briefLabel.setText(msg);
+ if (briefLabel != null) {
+ briefLabel.setText(msg);
+ }
+
expandableComposite.layout();
}
import org.eclipse.gef.commands.CommandStack;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseListener;
+import org.eclipse.swt.events.MouseTrackListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.ui.forms.events.ExpansionAdapter;
import org.eclipse.ui.forms.events.ExpansionEvent;
import org.tizen.webuibuilder.ui.views.properties.method.MultiSelectMethod;
import org.tizen.webuibuilder.ui.views.properties.method.NoContentMethod;
import org.tizen.webuibuilder.ui.views.properties.method.TextStyleMethod;
+import org.tizen.webuibuilder.utility.ResourceManager;
/**
createDesignerContents();
includeComposite(noContent);
}
+
+// @Override
+// protected Control createExtendControl(Composite parent) {
+// final Label label = new Label(parent, SWT.NONE);
+// label.setImage(ResourceManager.getImage(BuilderConstants.ICON_DIR,
+// "animator_toolbar_repeat_hover.png"));
+// label.setToolTipText("Reset");
+// label.addMouseListener(new MouseListener() {
+//
+// @Override
+// public void mouseUp(MouseEvent e) {
+// label.setImage(ResourceManager.getImage(BuilderConstants.ICON_DIR,
+// "animator_toolbar_repeat_hover.png"));
+// resetCurrentSelector();
+//
+// }
+//
+// @Override
+// public void mouseDown(MouseEvent e) {
+// label.setImage(ResourceManager.getImage(BuilderConstants.ICON_DIR,
+// "animator_toolbar_repeat_selected_normal.png"));
+//
+// }
+//
+// @Override
+// public void mouseDoubleClick(MouseEvent e) {
+// // TODO Auto-generated method stub
+//
+// }
+// });
+//
+// label.addMouseTrackListener(new MouseTrackListener() {
+//
+// @Override
+// public void mouseHover(MouseEvent e) {
+// // TODO Auto-generated method stub
+//
+// }
+//
+// @Override
+// public void mouseExit(MouseEvent e) {
+// label.setImage(ResourceManager.getImage(BuilderConstants.ICON_DIR,
+// "animator_toolbar_repeat_hover.png"));
+//
+// }
+//
+// @Override
+// public void mouseEnter(MouseEvent e) {
+// // TODO Auto-generated method stub
+//
+// }
+// });
+// return label;
+// }
+//
+// private void resetCurrentSelector() {
+// // reset style
+// if (currentSelector == null) {
+// return;
+// }
+// String selectorName = currentSelector.getSelectorName();
+// cssDelegater.removeCssSelector(currentSelector);
+//
+// setSelector(selectorName);
+// }
private void createNoContent() {
if (noContent == null || noContent.isDisposed()) {
String selectorName = model.getDefaultSelectorName();
if (selectorName != null) {
- setSelector(selectorName);
-
/* Set css selector to CssCategory.
* PropertiesMode.DESIGN, only */
if (cssCategory != null && !cssCategory.isDisposed()) {
cssCategory.setDeafultSelector(selectorName, model.getIdPropertyValue());
}
-
+ setSelector(selectorName);
}
}
}
setInfoText(selectorName);
+
+// if (cssCategory != null && !cssCategory.isDisposed()) {
+// cssCategory.setSelector(selectorName);
+// }
}
/**
* whether the {@link CustomCSSMethod} is refresh
*/
public void refreshManagedMethods(String key, String value, boolean refreshCustomCss) {
- metrics.refreshValue(key, value);
- clip.refreshValue(key, value);
- textStyle.refreshValue(key, value);
- if (refreshCustomCss) {
+ if (metrics != null) {
+ metrics.refreshValue(key, value);
+ }
+
+ if (clip != null) {
+ clip.refreshValue(key, value);
+ }
+
+ if (textStyle != null) {
+ textStyle.refreshValue(key, value);
+ }
+
+ if (refreshCustomCss && customCss != null) {
customCss.refreshValue(key, value);
}
}
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.swt.widgets.Display;
+import org.tizen.common.util.Assert;
import org.tizen.webuibuilder.BuilderConstants;
import org.tizen.webuibuilder.animator.AnimatorConstants;
import org.tizen.webuibuilder.animator.model.io.AnimatorFileWriter;
* @return
*/
public static PageFileData readPageFileData(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
PageFileData pageFileData =
* @return
*/
private static PageData createPageData(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
PageFileData pageFileData = readPageFileData(res);
- if(pageFileData == null) {
- return null;
+ if (pageFileData == null) {
+ return null;
}
Page page = createPage(pageFileData.getName(0));
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
* @throws IOException
*/
public static void create(IResource res, Page page) throws CoreException, IOException {
- if (!isVaild(res)) {
- return;
- }
+ Assert.isTrue(isVaild(res));
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
AppManagerForAppXML appManager =
* @throws IOException
*/
public static void add(IResource res) throws CoreException, IOException {
- if (!isVaild(res)) {
- return;
- }
+ Assert.isTrue(isVaild(res));
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
AppManager appManager = projectManager.getDefaultAppManager();
// If not imported file
if (pageData == null) {
pageData = createPageData(res);
- if(pageData == null){
- return;
+ if (pageData == null) {
+ return;
}
}
appManager.addPage(pageData);
if (jsFile != null) {
ResourceManager.copy(BuilderMessages.NEWTEMPLATEFILE_JS, jsFile);
}
-
+
IFile cssFile = getCssFile(res);
if (cssFile != null) {
ResourceManager.copy(BuilderMessages.NEWTEMPLATEFILE_CSS, cssFile);
}
public static void remove(IResource res, PageData pageData) throws CoreException, IOException {
- if (!isVaild(res)) {
- return;
- }
+ Assert.isTrue(isVaild(res));
WebUIBuilderBuilder.clean(res);
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
public static void remove(IResource res, PageData pageData, int style) throws CoreException,
IOException {
- if (!isVaild(res)) {
- return;
- }
+ Assert.isTrue(isVaild(res));
WebUIBuilderBuilder.clean(res, style);
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
}
public static IFile getHtmlFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
PageData pageData = getPageData(res);
return res.getProject().getFile(pageData.getHtmlPath());
}
public static IFile getManagedJsFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
PageData pageData = getPageData(res);
return res.getProject().getFile(pageData.getManagedJsPath());
}
public static IFile getJsFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
return res.getProject().getFile(getPageData(res).getJsPath());
}
public static IFile getCssFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
return res.getProject().getFile(getPageData(res).getCssPath());
}
public static IFile getManagedCssFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
return res.getProject().getFile(getPageData(res).getManagedCssPath());
}
* @return
*/
public static IFile getAnimatorManagedJsFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
return res.getProject().getFile(getPageData(res).getAnimatorManagedJsPath());
}
* @return
*/
public static IFile getAnimatorManagedCssFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
return res.getProject().getFile(getPageData(res).getAnimatorManagedCssPath());
}
public static PageData getPageData(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
String pageFilePath = res.getProjectRelativePath().toString();
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());