NScreen : add Common nscreen. 87/20487/1
authoryonghwan82.jeon <yonghwan82.jeon@samsung.com>
Thu, 8 May 2014 06:49:31 +0000 (15:49 +0900)
committeryonghwan82.jeon <yonghwan82.jeon@samsung.com>
Thu, 8 May 2014 06:49:31 +0000 (15:49 +0900)
addCommonNscreen() in Appmanger.

Change-Id: I6ed0b7b05a2b8b8e0492f8426ace24a0ee2c5c90
Signed-off-by: yonghwan82.jeon <yonghwan82.jeon@samsung.com>
org.tizen.webuibuilder/src/org/tizen/webuibuilder/BuilderConstants.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/AppManager.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForHTML.java

index c6b687c..cee0e55 100644 (file)
@@ -288,4 +288,7 @@ public class BuilderConstants {
        public static final int CSS_FILE = 1 << 3;
        public static final int MANAGED_CSS_FILE = 1 << 4;
 
+       // Nscreen
+       public static final String NSCREENCOMMON = "Common"; //$NON-NLS-1$
+
 }
index 9489abf..b14d73f 100644 (file)
@@ -47,6 +47,7 @@ import org.tizen.webuibuilder.model.css.io.CssReader;
 import org.tizen.webuibuilder.model.descriptors.DescriptorManager;
 import org.tizen.webuibuilder.model.filedata.AppFileData;
 import org.tizen.webuibuilder.model.nscreen.NScreenModel;
+import org.tizen.webuibuilder.model.nscreen.NScreenModel.NScreenType;
 import org.tizen.webuibuilder.model.page.IPageDataSetListener;
 import org.tizen.webuibuilder.model.page.PageData;
 import org.tizen.webuibuilder.model.page.PageDataSet;
@@ -865,8 +866,12 @@ public class AppManager implements IPageDataSetListener, IAppListener {
         return null;
     }
 
-    public void addNScreenModel(NScreenModel model) {
-        this.nscreenModels.add(model);
+    public boolean addNScreenModel(NScreenModel model) {
+        if (isValidNscreenModel(model)) {
+            this.nscreenModels.add(model);
+            return true;
+        }
+        return false;
     }
 
     public void removeNScreenModel(NScreenModel model) {
@@ -876,4 +881,49 @@ public class AppManager implements IPageDataSetListener, IAppListener {
     public List<NScreenModel> getNScreenModels() {
         return this.nscreenModels;
     }
+
+    public NScreenModel createCommonNscreen() {
+        NScreenModel model = new NScreenModel(BuilderConstants.NSCREENCOMMON, NScreenType.COMMON);
+        this.nscreenModels.add(model);
+        return model;
+    }
+
+    public NScreenModel getModel(String nscreenName) {
+        NScreenModel model = null;
+
+        if (nscreenName == null) {
+            return null;
+        }
+
+        if (nscreenName.isEmpty()) {
+            return null;
+        }
+
+        if (nscreenModels.size() == 0) {
+            return null;
+        }
+
+        for (int i = 0; i < nscreenModels.size(); i++) {
+            if (nscreenName.equalsIgnoreCase(this.nscreenModels.get(i).getName())) {
+                model = this.nscreenModels.get(i);
+                break;
+            }
+        }
+
+        return model;
+    }
+
+    public NScreenModel getCommonNscreen() {
+        if (nscreenModels.size() == 0) {
+            return createCommonNscreen();
+        }
+        return this.getModel(BuilderConstants.NSCREENCOMMON);
+    }
+
+    public boolean isValidNscreenModel(NScreenModel model) {
+        if (getModel(model.getName()) == null) {
+            return true;
+        }
+        return false;
+    }
 }
index f8f07eb..85540ed 100644 (file)
@@ -135,7 +135,10 @@ public class PageDesignerForHTML extends PageDesigner implements ITextEditorList
             /* load css file */
             if (pageData.getCssFiles().size() == 0) {
                 // make directories
-                String cssFileName = "common.css";
+
+                String cssFileName =
+                        pageData.getName() + BuilderConstants.UNDERBAR + BuilderConstants.NSCREENCOMMON
+                                + BuilderConstants.CSS_EXTENSION;
                 String cssPath = appManager.getCssFolder() + IPath.SEPARATOR + cssFileName;
 
                 // String projectFolder = project.getLocation().toString();
@@ -155,12 +158,9 @@ public class PageDesignerForHTML extends PageDesigner implements ITextEditorList
 
                 CssFile cssFile = loadCssFile(cssPath);
 
-                NScreenModel model = new NScreenModel("Common Style", NScreenType.COMMON);
-                model.setDeviceHeight(0);
-                model.setDeviceWidth(0);
+                NScreenModel model = appManager.getCommonNscreen();
                 model.setFileName(cssFileName);
 
-                appManager.addNScreenModel(model);
                 pageData.addCssFile(cssFile);
 
                 pageData.addPageListener(this);