NSCREEN : Modify nscreen model. 73/20473/1
authoryonghwan82.jeon <yonghwan82.jeon@samsung.com>
Thu, 8 May 2014 05:08:45 +0000 (14:08 +0900)
committeryonghwan82.jeon <yonghwan82.jeon@samsung.com>
Thu, 8 May 2014 05:08:45 +0000 (14:08 +0900)
add attribute ( link, EnabePages, devicePixelRatio ).
Remove attribute (Prefix min,max attribute).

Change-Id: I4cf610ea3e4d81f395168b8b5656c4cccc8ef115
Signed-off-by: yonghwan82.jeon <yonghwan82.jeon@samsung.com>
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/AppManagerForHTML.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/io/HtmlMetaReader_ver_1.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/io/HtmlMetaWriter_ver_1.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/io/file/PageReader_ver_2.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/io/file/PageWriter_ver_2.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/nscreen/NScreenModel.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForAppXML.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForHTML.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/nscreen/NScreenCustomDialog.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/nscreen/NScreenListItem.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/nscreen/NScreenPage.java

index d883c0d..c9fbae3 100644 (file)
@@ -203,14 +203,15 @@ public class AppManagerForHTML extends AppManager {
                 
                 String projectFolder = projectManager.getProject().getLocation().toString();
                 for (NScreenModel model : nscreenModel) {
-                    for ( String page : model.getEnalbePages() ) {
-                        String cssFileFullPath = projectFolder + IPath.SEPARATOR + page + "." +model.getFileName();
-
-                        CssFile cssFile = loadCssFile(cssFileFullPath);
-                        cssFiles.add(cssFile);
-                        
-                        addNScreenModel( model );
-                    }
+                    addNScreenModel( model );
+//                    for ( String page : model.getEnalbePages() ) {
+//                        String cssFileFullPath = projectFolder + IPath.SEPARATOR + page + "." +model.getFileName();
+//
+//                        CssFile cssFile = loadCssFile(cssFileFullPath);
+//                        cssFiles.add(cssFile);
+//                        
+//                        addNScreenModel( model );
+//                    }
                 }
 
                 List<PageData> pages = pageDataSet.getPages();
index d6f68a3..d4abfb9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * UI Builder
+a * UI Builder
  *
  * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd. All rights reserved.
  *
@@ -69,7 +69,7 @@ public class HtmlMetaReader_ver_1 {
 
         HtmlMetaFileData fileData = new HtmlMetaFileData();
 
-       NodeList elementList = root.getElementsByTagName("document");
+        NodeList elementList = root.getElementsByTagName("document");
         for (int i = 0; i < elementList.getLength(); i++) {
             parsePart(fileData, (Element) elementList.item(i), partFactory);
         }
@@ -78,18 +78,18 @@ public class HtmlMetaReader_ver_1 {
     }
 
     private static void parsePart(HtmlMetaFileData fileData, Element elem, PartFactory partFactory) {
-       NodeList elementList = elem.getElementsByTagName("documentInfo");
+        NodeList elementList = elem.getElementsByTagName("documentInfo");
         for (int i = 0; i < elementList.getLength(); i++) {
             parsePageInfo(fileData, (Element) elementList.item(i));
         }
-       elementList = elem.getElementsByTagName("documentData");
+        elementList = elem.getElementsByTagName("documentData");
         for (int i = 0; i < elementList.getLength(); i++) {
             parsePageData(fileData, (Element) elementList.item(i), partFactory);
         }
     }
 
     private static void parsePageInfo(HtmlMetaFileData fileData, Element elem) {
-       NodeList elementList = elem.getElementsByTagName("documentInfo");
+        NodeList elementList = elem.getElementsByTagName("documentInfo");
         for (int i = 0; i < elementList.getLength(); i++) {
             parsePageInfo(fileData, (Element) elementList.item(i));
         }
@@ -97,88 +97,89 @@ public class HtmlMetaReader_ver_1 {
 
     private static void parsePageData(HtmlMetaFileData fileData, Element elem,
                                       PartFactory partFactory) {
-       NodeList elementList = elem.getElementsByTagName("tizen.nscreen");
-        for ( int i = 0; i < elementList.getLength(); i++ ) {
-            parseNScreen( fileData, (Element) elementList.item( i ) );
+        NodeList elementList = elem.getElementsByTagName("tizen.nscreen");
+        for (int i = 0; i < elementList.getLength(); i++) {
+            parseNScreen(fileData, (Element) elementList.item(i));
         }
 
-       elementList = elem.getElementsByTagName("pageData");
-       for (int i = 0; i < elementList.getLength(); i++) {
+        elementList = elem.getElementsByTagName("pageData");
+        for (int i = 0; i < elementList.getLength(); i++) {
             parsePagePart(fileData, (Element) elementList.item(i), partFactory);
         }
 
-       elementList = elem.getElementsByTagName(BuilderConstants.ELEMENT_DATABINDING);
-       for (int i = 0; i < elementList.getLength(); i++) {
-               parseDataBinding(fileData, (Element) elementList.item(i));
+        elementList = elem.getElementsByTagName(BuilderConstants.ELEMENT_DATABINDING);
+        for (int i = 0; i < elementList.getLength(); i++) {
+            parseDataBinding(fileData, (Element) elementList.item(i));
         }
     }
-    
-    private static void parseNScreen( HtmlMetaFileData fileData, Element nscreen ) {
-        NodeList elementList2 = nscreen.getElementsByTagName( "screen" );
-        for ( int j = 0; j < elementList2.getLength(); j++ ) {
-            Element screen = (Element) elementList2.item( j );
+
+    private static void parseNScreen(HtmlMetaFileData fileData, Element nscreen) {
+        NodeList elementList2 = nscreen.getElementsByTagName("screen");
+        for (int j = 0; j < elementList2.getLength(); j++) {
+            Element screen = (Element) elementList2.item(j);
             NScreenModel model = new NScreenModel();
 
-            model.setTitle( screen.getAttribute( "title" ) );
-            
-            if( screen.getAttribute( "device-width" ).length() > 0 ){
-                model.setMinDeviceWidth( Integer.parseInt( screen.getAttribute( "device-width" ) )  );
-                model.setMaxDeviceWidth( Integer.parseInt( screen.getAttribute( "device-width" ) )  );
-            }else{
-                model.setMinDeviceWidth( Integer.parseInt( screen.getAttribute( "min-device-width" ) )  );
-                model.setMaxDeviceWidth( Integer.parseInt( screen.getAttribute( "max-device-width" ) )  );
+            model.setName(screen.getAttribute("title"));
+
+            if (screen.getAttribute("device-width").length() > 0) {
+                model.setDeviceWidth(Integer.parseInt(screen.getAttribute("device-width")));
             }
-            
-            if( screen.getAttribute( "device-height" ).length() > 0 ){
-                model.setMinDeviceHeight( Integer.parseInt( screen.getAttribute( "device-height" ) )  );
-                model.setMaxDeviceHeight( Integer.parseInt( screen.getAttribute( "device-height" ) )  );
-            }else{
-                model.setMinDeviceHeight( Integer.parseInt( screen.getAttribute( "min-device-height" ) )  );
-                model.setMaxDeviceHeight( Integer.parseInt( screen.getAttribute( "max-device-height" ) )  );
+
+            if (screen.getAttribute("device-height").length() > 0) {
+                model.setDeviceHeight(Integer.parseInt(screen.getAttribute("device-height")));
             }
-            
-            if ( screen.getAttribute( "color" ).length() > 0 )
-                model.setColor( Integer.parseInt( screen.getAttribute( "color" ) ) );
 
-            if ( screen.getAttribute( "color-index" ).length() > 0 )
-                model.setColor( Integer.parseInt( screen.getAttribute( "color-index" ) ) );
+            if (screen.getAttribute("device-pixel-ratio").length() > 0) {
+                model.setDevicePixelRatio(Float.parseFloat(screen
+                        .getAttribute("device-pixel-ratio")));
+            }
 
-            if ( screen.getAttribute( "grid" ).length() > 0 && screen.getAttribute( "grid" ).equals( "true" ) )
-                model.setGrid( true );
+            if (screen.getAttribute("color").length() > 0)
+                model.setColor(Integer.parseInt(screen.getAttribute("color")));
 
-            if ( screen.getAttribute( "monochrome" ).length() > 0 )
-                model.setMonochrome( Integer.parseInt( screen.getAttribute( "monochrome" ) ) );
+            if (screen.getAttribute("color-index").length() > 0)
+                model.setColor(Integer.parseInt(screen.getAttribute("color-index")));
 
-            if ( screen.getAttribute( "orientation" ).length() > 0 ) {
-                if ( Orientation.LANDSCAPE.toString().toLowerCase().equals( screen.getAttribute( "orientation" ) ) )
-                    model.setOrientation( Orientation.LANDSCAPE );
+            if (screen.getAttribute("grid").length() > 0
+                    && screen.getAttribute("grid").equals("true"))
+                model.setGrid(true);
+
+            if (screen.getAttribute("monochrome").length() > 0)
+                model.setMonochrome(Integer.parseInt(screen.getAttribute("monochrome")));
+
+            if (screen.getAttribute("orientation").length() > 0) {
+                if (Orientation.LANDSCAPE.toString().toLowerCase()
+                        .equals(screen.getAttribute("orientation")))
+                    model.setOrientation(Orientation.LANDSCAPE);
                 else
-                    model.setOrientation( Orientation.PORTRAIT );
+                    model.setOrientation(Orientation.PORTRAIT);
             }
 
-            if ( screen.getAttribute( "resolution" ).length() > 0 )
-                model.setResolution( screen.getAttribute( "resolution" ) );
+            if (screen.getAttribute("resolution").length() > 0)
+                model.setResolution(screen.getAttribute("resolution"));
 
-            if ( screen.getAttribute( "scan" ).length() > 0 ) {
-                if ( Scan.PROGRESSIVE.toString().toLowerCase().equals( screen.getAttribute( "scan" ) ) )
-                    model.setScan( Scan.PROGRESSIVE );
+            if (screen.getAttribute("scan").length() > 0) {
+                if (Scan.PROGRESSIVE.toString().toLowerCase().equals(screen.getAttribute("scan")))
+                    model.setScan(Scan.PROGRESSIVE);
                 else
-                    model.setScan( Scan.INTERLACE );
-            }
-            
-            if ( screen.getAttribute( "isLinked" ).length() > 0 && Boolean.parseBoolean( screen.getAttribute( "isLinked" ) ) )
-                model.setLink( screen.getAttribute( "cssFileName" ) );
-            else
-                model.setFileName( screen.getAttribute( "cssFileName" ) );
-            
-            NodeList nodeList = screen.getElementsByTagName( "enablePages" );
-            
-            for ( int i = 0; i < nodeList.getLength(); i++ ) {
-                Node enablePageNode = nodeList.item( i );
-                model.addEnablePage( enablePageNode.getTextContent() );
+                    model.setScan(Scan.INTERLACE);
             }
 
-            fileData.getNscreenModelList().add( model );
+            NodeList nodeList = screen.getElementsByTagName("enablePages");
+
+            for (int i = 0; i < nodeList.getLength(); i++) {
+                Node enablePageNode = nodeList.item(i);
+                model.addEnablePage(enablePageNode.getTextContent());
+            }
+            
+            //TODO nscreen : link.
+//            if (screen.getAttribute("link").length() > 0
+//                    && Boolean.parseBoolean(screen.getAttribute("link")))
+//                model.setLink(screen.getAttribute("cssFileName"));
+//            else
+//                model.setFileName(screen.getAttribute("cssFileName"));
+
+            fileData.getNscreenModelList().add(model);
         }
     }
 
@@ -190,7 +191,8 @@ public class HtmlMetaReader_ver_1 {
     }
 
     private static void parseUpdateStartUp(HtmlMetaFileData fileData, Element element) {
-       NodeList elementList = element.getElementsByTagName(BuilderConstants.ELEMENT_UPDATEONSTARTUP);
+        NodeList elementList =
+                element.getElementsByTagName(BuilderConstants.ELEMENT_UPDATEONSTARTUP);
         for (int i = 0; i < elementList.getLength(); i++) {
             Element element2 = (Element) elementList.item(i);
 
@@ -210,18 +212,19 @@ public class HtmlMetaReader_ver_1 {
     }
 
     private static void parseHandlerInfo(HtmlMetaFileData fileData, Element element) {
-       NodeList elementList = element.getElementsByTagName(BuilderConstants.ELEMENT_HANDLERINFO);
+        NodeList elementList = element.getElementsByTagName(BuilderConstants.ELEMENT_HANDLERINFO);
         for (int i = 0; i < elementList.getLength(); i++) {
-            Element element2 = (Element)elementList.item(i);
+            Element element2 = (Element) elementList.item(i);
 
             String name = element2.getAttribute(BuilderConstants.ATTRIBUTE_NAME);
 
             BindingData dataModel = new BindingData(name);
             List<String> modelInfo = new ArrayList<String>();
 
-               NodeList elementList2 = element.getElementsByTagName(BuilderConstants.ELEMENT_HANDLERINFO);
+            NodeList elementList2 =
+                    element.getElementsByTagName(BuilderConstants.ELEMENT_HANDLERINFO);
             for (int j = 0; j < elementList2.getLength(); j++) {
-                Element element3 = (Element)elementList2.item(j);
+                Element element3 = (Element) elementList2.item(j);
                 String childName = element3.getAttribute(BuilderConstants.ATTRIBUTE_NAME);
                 modelInfo.add(childName);
             }
@@ -232,14 +235,15 @@ public class HtmlMetaReader_ver_1 {
     }
 
     private static void parseDataSource(HtmlMetaFileData fileData, Element element) {
-       NodeList elementList = element.getElementsByTagName(BuilderConstants.ELEMENT_DATASOURCE);
+        NodeList elementList = element.getElementsByTagName(BuilderConstants.ELEMENT_DATASOURCE);
         for (int i = 0; i < elementList.getLength(); i++) {
-            Element element2 = (Element)elementList.item(i);
+            Element element2 = (Element) elementList.item(i);
 
             String sourceName = element2.getAttribute(BuilderConstants.ATTRIBUTE_DATASOURCE);
             String modelType = element2.getAttribute(BuilderConstants.ATTRIBUTE_MODELTYPE);
 
-            if ((modelType != null) && (modelType.equals(BuilderConstants.DATABINDING_TYPE_REMOTECALL))) {
+            if ((modelType != null)
+                    && (modelType.equals(BuilderConstants.DATABINDING_TYPE_REMOTECALL))) {
                 String url = element2.getAttribute(BuilderConstants.ATTRIBUTE_URL);
                 String type = element2.getAttribute(BuilderConstants.ATTRIBUTE_TYPE);
                 String proxy = element2.getAttribute(BuilderConstants.ATTRIBUTE_PROXY);
@@ -255,7 +259,8 @@ public class HtmlMetaReader_ver_1 {
                 parseObservableObject(element2, dataModel);
 
                 fileData.addDataSource(dataModel);
-            } else if ((modelType != null) && (modelType.equals(BuilderConstants.DATABINDING_TYPE_STATIC))) {
+            } else if ((modelType != null)
+                    && (modelType.equals(BuilderConstants.DATABINDING_TYPE_STATIC))) {
                 String jsonData = element2.getAttribute(BuilderConstants.ATTRIBUTE_JSONDATA);
                 String filePath = element2.getAttribute(BuilderConstants.ATTRIBUTE_FILEPATH);
 
@@ -279,7 +284,7 @@ public class HtmlMetaReader_ver_1 {
     }
 
     private static void parseViewModel(HtmlMetaFileData fileData, Element element) {
-       NodeList elementList = element.getElementsByTagName(BuilderConstants.ELEMENT_VIEWMODEL);
+        NodeList elementList = element.getElementsByTagName(BuilderConstants.ELEMENT_VIEWMODEL);
         for (int i = 0; i < elementList.getLength(); i++) {
             Element element2 = (Element) elementList.item(i);
 
@@ -293,11 +298,11 @@ public class HtmlMetaReader_ver_1 {
     }
 
     private static void parseObservableObject(Element element, BindingData dataModel) {
-       NodeList elementList = element.getChildNodes();
+        NodeList elementList = element.getChildNodes();
         for (int i = 0; i < elementList.getLength(); i++) {
             Node element3 = (Node) elementList.item(i);
             if (element3.getNodeName().equals(BuilderConstants.ELEMENT_OBSERVABLEOBJECT)) {
-               Element element2 = (Element) element3;
+                Element element2 = (Element) element3;
                 String name = element2.getAttribute(BuilderConstants.ATTRIBUTE_NAME);
                 String type = element2.getAttribute(BuilderConstants.ATTRIBUTE_TYPE);
                 String value = element2.getAttribute(BuilderConstants.ATTRIBUTE_VALUE);
@@ -307,47 +312,47 @@ public class HtmlMetaReader_ver_1 {
                 BindingObject dataSource = new BindingObject(name, type, value, boolMarked);
                 parseObservableObject(element2, dataSource);
                 if (dataModel.getModelType() == null) {
-                       dataModel.addViewModelObjects(dataSource);
+                    dataModel.addViewModelObjects(dataSource);
                 } else {
-                       dataModel.addDataSourceObjects(dataSource);
+                    dataModel.addDataSourceObjects(dataSource);
                 }
             }
         }
     }
-    
-    
+
     private static void parseObservableObject(Element element, BindingObject parentObject) {
-       NodeList elementList = element.getChildNodes();
-               for (int i = 0; i < elementList.getLength(); i++) {
-                       Node element3 = (Node) elementList.item(i);
+        NodeList elementList = element.getChildNodes();
+        for (int i = 0; i < elementList.getLength(); i++) {
+            Node element3 = (Node) elementList.item(i);
             if (element3.getNodeName().equals(BuilderConstants.ELEMENT_OBSERVABLEOBJECT)) {
-               Element element2 = (Element) element3;
-               String name = element2.getAttribute(BuilderConstants.ATTRIBUTE_NAME);
-                       String type = element2.getAttribute(BuilderConstants.ATTRIBUTE_TYPE);
-                       String value = element2.getAttribute(BuilderConstants.ATTRIBUTE_VALUE);
-                       String isMarked = element2.getAttribute(BuilderConstants.ATTRIBUTE_ISMARKED);
-                       boolean boolMarked = Boolean.valueOf(isMarked).booleanValue();
-                       
-                       BindingObject bindingObject = new BindingObject(name, type, value, boolMarked);
-                       if (element2.getElementsByTagName(BuilderConstants.ELEMENT_OBSERVABLEOBJECT).getLength() > 0) {
-                               parseObservableObject(element2, bindingObject);
-                       }  
-                       parentObject.add(bindingObject);
+                Element element2 = (Element) element3;
+                String name = element2.getAttribute(BuilderConstants.ATTRIBUTE_NAME);
+                String type = element2.getAttribute(BuilderConstants.ATTRIBUTE_TYPE);
+                String value = element2.getAttribute(BuilderConstants.ATTRIBUTE_VALUE);
+                String isMarked = element2.getAttribute(BuilderConstants.ATTRIBUTE_ISMARKED);
+                boolean boolMarked = Boolean.valueOf(isMarked).booleanValue();
+
+                BindingObject bindingObject = new BindingObject(name, type, value, boolMarked);
+                if (element2.getElementsByTagName(BuilderConstants.ELEMENT_OBSERVABLEOBJECT)
+                        .getLength() > 0) {
+                    parseObservableObject(element2, bindingObject);
+                }
+                parentObject.add(bindingObject);
             }
-               }
+        }
     }
-    
+
     private static void parsePagePart(HtmlMetaFileData fileData, Element elem,
                                       PartFactory partFactory) {
         List<CssSelector> selectors = null;
 
-       NodeList elementList = elem.getElementsByTagName("tizen.css");
+        NodeList elementList = elem.getElementsByTagName("tizen.css");
         for (int i = 0; i < elementList.getLength(); i++) {
             Element elem2 = (Element) elementList.item(i);
             selectors = parseStyle(elem2);
         }
 
-       elementList = elem.getElementsByTagName("tizen.doc");
+        elementList = elem.getElementsByTagName("tizen.doc");
         for (int i = 0; i < elementList.getLength(); i++) {
             Element elem2 = (Element) elementList.item(i);
             Part part = parseElement(fileData, elem2, partFactory, selectors);
@@ -362,17 +367,17 @@ public class HtmlMetaReader_ver_1 {
         List<CssSelector> selectors = new ArrayList<CssSelector>();
 
         // Sets selectors.
-       NodeList elementList = elem.getElementsByTagName("tizen.selector");
+        NodeList elementList = elem.getElementsByTagName("tizen.selector");
         for (int i = 0; i < elementList.getLength(); i++) {
             Element element = (Element) elementList.item(i);
-            
+
             String selectorName = element.getAttribute(BuilderConstants.ATTRIBUTE_NAME);
             String partId = element.getAttribute(BuilderConstants.ATTRIBUTE_PARTID);
             CssSelector selector = new CssSelector(selectorName, "", partId);
             selectors.add(selector);
 
             // Sets styles.
-               elementList = elem.getElementsByTagName("tizen.style");
+            elementList = elem.getElementsByTagName("tizen.style");
             for (int j = 0; j < elementList.getLength(); j++) {
                 Element element2 = (Element) elementList.item(j);
 
@@ -394,12 +399,12 @@ public class HtmlMetaReader_ver_1 {
         if (part == null) {
         } else {
             if (part.isPagePart()) {
-                //fileData.setName(0, elem.getAttribute(BuilderConstants.PROPERTY_ID));
-               id = elem.getAttribute(BuilderConstants.PROPERTY_ID);
+                // fileData.setName(0, elem.getAttribute(BuilderConstants.PROPERTY_ID));
+                id = elem.getAttribute(BuilderConstants.PROPERTY_ID);
             }
 
             // Sets events and properties.
-               NamedNodeMap attrList = elem.getAttributes();
+            NamedNodeMap attrList = elem.getAttributes();
             for (int i = 0; i < attrList.getLength(); i++) {
                 Attr attr = (Attr) attrList.item(i);
                 // if (BuilderConstants.ATTRIBUTE_EVENT_PREFIX.equals((attr
@@ -433,32 +438,32 @@ public class HtmlMetaReader_ver_1 {
             Part childpart = null;
             for (int i = 0; i < elem.getChildNodes().getLength(); i++) {
                 child = elem.getChildNodes().item(i);
-               if(child instanceof Element){
-                       if (child.getNodeName().equals("event")) {
-                               attrList = child.getAttributes();
-                           for (int j = 0; j < attrList.getLength(); j++) {
-                               Attr eventAttr = (Attr) attrList.item(j);
-                               part.setEventValue(eventAttr.getName(), eventAttr.getValue());
-                           }
-                       } else if (child.getNodeName().equals("gotoPage")) {
-                           List<String> strList = new ArrayList<String>();
-       
-                               attrList = child.getAttributes();
-                           for (int j = 0; j < attrList.getLength(); j++) {
-                               Attr eventAttr = (Attr) attrList.item(j);
-                               strList.add(eventAttr.getValue());
-                           }
-                           part.setGotoPageEventValue(strList.get(0), strList.get(1), strList.get(2));
-       
-                       } else {
-                           childpart = parseElement(fileData, (Element)child, partFactory, selectors);
-                           part.addChildWhenPageRead(childpart);
-                       }
-               }
+                if (child instanceof Element) {
+                    if (child.getNodeName().equals("event")) {
+                        attrList = child.getAttributes();
+                        for (int j = 0; j < attrList.getLength(); j++) {
+                            Attr eventAttr = (Attr) attrList.item(j);
+                            part.setEventValue(eventAttr.getName(), eventAttr.getValue());
+                        }
+                    } else if (child.getNodeName().equals("gotoPage")) {
+                        List<String> strList = new ArrayList<String>();
+
+                        attrList = child.getAttributes();
+                        for (int j = 0; j < attrList.getLength(); j++) {
+                            Attr eventAttr = (Attr) attrList.item(j);
+                            strList.add(eventAttr.getValue());
+                        }
+                        part.setGotoPageEventValue(strList.get(0), strList.get(1), strList.get(2));
+
+                    } else {
+                        childpart = parseElement(fileData, (Element) child, partFactory, selectors);
+                        part.addChildWhenPageRead(childpart);
+                    }
+                }
             }
         }
 
         return part;
     }
-    
+
 }
index 87e14f4..ba1a9d6 100644 (file)
 package org.tizen.webuibuilder.model.app.io;
 
 import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
 import java.util.List;
 import java.util.Map.Entry;
 
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
 import org.tizen.webuibuilder.BuilderConstants;
 import org.tizen.webuibuilder.model.GotoPageProperty;
 import org.tizen.webuibuilder.model.Part;
@@ -45,6 +41,8 @@ import org.tizen.webuibuilder.model.nscreen.NScreenModel;
 import org.tizen.webuibuilder.model.page.PageData;
 import org.tizen.webuibuilder.ui.views.databinding.model.BindingData;
 import org.tizen.webuibuilder.ui.views.databinding.model.BindingObject;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
 
 
 public class HtmlMetaWriter_ver_1 {
@@ -151,37 +149,33 @@ public class HtmlMetaWriter_ver_1 {
     // }
 
     public static Element writeNScreen(Document doc, Element nscreenElement, List<NScreenModel> list) {
-        Collections.sort(list, new Comparator<NScreenModel>() {
-            @Override
-            public int compare(NScreenModel o1, NScreenModel o2) {
-                int w1 = o1.getMinDeviceWidth();
-                int w2 = o2.getMinDeviceWidth();
-                if (w1 < w2) {
-                    return -1;
-                } else if (w1 == w2) {
-                    return 0;
-                }
-                return 1;
-            }
-        });
+//        Collections.sort(list, new Comparator<NScreenModel>() {
+//            @Override
+//            public int compare(NScreenModel o1, NScreenModel o2) {
+//                int w1 = o1.getMinDeviceWidth();
+//                int w2 = o2.getMinDeviceWidth();
+//                if (w1 < w2) {
+//                    return -1;
+//                } else if (w1 == w2) {
+//                    return 0;
+//                }
+//                return 1;
+//            }
+//        });
 
         for ( NScreenModel nsModel : list ) {
             Element screenElement = doc.createElement( "screen" );
 
-            screenElement.setAttribute( "title", nsModel.getTitle() );
+            screenElement.setAttribute( "title", nsModel.getName() );
             
-            if( nsModel.getMinDeviceWidth() == nsModel.getMaxDeviceWidth() ){
-                screenElement.setAttribute( "device-width", String.valueOf( nsModel.getMinDeviceWidth() ) );
-            }else{
-                screenElement.setAttribute( "min-device-width", String.valueOf( nsModel.getMinDeviceWidth() ) );
-                screenElement.setAttribute( "max-device-width", String.valueOf( nsModel.getMaxDeviceWidth() ) );
+            if (nsModel.getDeviceWidth() > -1) {
+                screenElement
+                        .setAttribute("device-width", String.valueOf(nsModel.getDeviceWidth()));
             }
-            
-            if( nsModel.getMinDeviceHeight() == nsModel.getMaxDeviceHeight()){
-                screenElement.setAttribute( "device-height", String.valueOf( nsModel.getMinDeviceHeight() ) );
-            }else{
-                screenElement.setAttribute( "min-device-height", String.valueOf( nsModel.getMinDeviceHeight() ) );
-                screenElement.setAttribute( "max-device-height", String.valueOf( nsModel.getMaxDeviceHeight() ) );
+
+            if (nsModel.getDeviceHeight() > -1) {
+                screenElement.setAttribute("device-height",
+                                           String.valueOf(nsModel.getDeviceHeight()));
             }
 
             if ( nsModel.getColor() > 0 )
@@ -208,15 +202,17 @@ public class HtmlMetaWriter_ver_1 {
 
             if ( nsModel.getScan() != null )
                 screenElement.setAttribute( "scan", nsModel.getScan().toString().toLowerCase() );
+
             
-            if ( nsModel.isLinked() )
-                screenElement.setAttribute( "isLinked", String.valueOf( true ) );
-            
-            for ( String enagePage : nsModel.getEnalbePages() ) {
-                Element enablePageElement = doc.createElement( "enablePage" );
-                enablePageElement.setTextContent( enagePage );
-                screenElement.appendChild( enablePageElement );
-            }
+            //TODO : nscreen : link
+//            for ( String enagePage : nsModel.getEnalbePages() ) {
+//                Element enablePageElement = doc.createElement( "enablePage" );
+//                enablePageElement.setTextContent( enagePage );
+//                screenElement.appendChild( enablePageElement );
+//            }
+//            if ( nsModel.isLinked() )
+//                screenElement.setAttribute( "isLinked", String.valueOf( true ) );
+
 
             screenElement.setAttribute( "cssFileName", nsModel.getFileName() );
             nscreenElement.appendChild( screenElement );
index 7fa2f2f..5f58925 100644 (file)
@@ -156,7 +156,7 @@ public class PageReader_ver_2 {
                        Element child = (Element)childNode;
                            String tagName = child.getNodeName();
                            if ("title".equals(tagName)) {
-                               model.setTitle(child.getTextContent());
+                               model.setName(child.getTextContent());
                            } else if ("width".equals(tagName)) {
                                model.setWidth(Integer.parseInt(child.getTextContent()));
                            } else if ("height".equals(tagName)) {
index 1f53741..622dfed 100644 (file)
@@ -153,7 +153,7 @@ public class PageWriter_ver_2 {
         for (NScreenModel model : list) {
             Element screenElement = doc.createElement("screen");
             Element titleElement = doc.createElement("title");
-            titleElement.setTextContent(model.getTitle());
+            titleElement.setTextContent(model.getName());
             Element widthElement = doc.createElement("width");
             widthElement.setTextContent(String.valueOf(model.getWidth()));
             Element heightElement = doc.createElement("height");
index bc4e646..02382c2 100644 (file)
 
 package org.tizen.webuibuilder.model.nscreen;
 
-import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public class NScreenModel {
+    Logger logger = LoggerFactory.getLogger(NScreenModel.class);
+
+    public static final int UP = -1;
+    public static final int NONE = 0;
+    public static final int DOWN = 1;
 
     public enum Orientation {
         LANDSCAPE, PORTRAIT
@@ -40,86 +48,144 @@ public class NScreenModel {
         COMMON, ORIENTATION, RATIO, DEVICE, CUSTOM
     }
 
-    private String title;
-
+    // Nscreen Info
+    private String nscreenName;
+    private NScreenType type = null;
+    private HashMap<String, Boolean> enablePages = new HashMap<String, Boolean>();
+    private HashMap<String, Integer> link = new HashMap<String, Integer>();
+    private String imageName = null;
+
+    // Media Feature
+    private float devicePixelRatio;
+    private int deviceHeight;
+    private int deviceWidth;
     private int width;
     private int height;
     private int color;
     private int colorIndex;
-    private int minDeviceHeight;
-    private int maxDeviceHeight;
-    private int minDeviceWidth;
-    private int maxDeviceWidth;
     private Orientation orientation = null;
     private int monochrome;
     private String resolution;
     private Scan scan = null;
     private boolean grid = false;
-    private boolean isLink = false;
-    private NScreenType type = null;
-    private ArrayList<String> enablePages = new ArrayList<String>();
+
+    // TODO : Next Version.
+    // private int minDeviceHeight;
+    // private int maxDeviceHeight;
+    // private int minDeviceWidth;
+    // private int maxDeviceWidth;
 
     private String fileName;
 
-    public NScreenModel(String title, int minDeviceWidth, int maxDeviceWidth, int minDeviceHeight,
-            int maxDeviceHeight, NScreenType type) {
-        this.title = title;
-        this.minDeviceWidth = minDeviceWidth;
-        this.maxDeviceWidth = maxDeviceWidth;
-        this.minDeviceHeight = minDeviceHeight;
-        this.maxDeviceHeight = maxDeviceHeight;
+    public NScreenModel(String name, NScreenType type) {
+        this.nscreenName = name;
         this.type = type;
     }
 
     public NScreenModel() {
+
     }
 
-    public String getTitle() {
-        return title;
+    // Nscreen Info
+    public String getName() {
+        return nscreenName;
     }
 
-    public void setTitle(String title) {
-        this.title = title;
+    public void setName(String name) {
+        this.nscreenName = name;
     }
 
-    public int getMinDeviceHeight() {
-        return minDeviceHeight;
+    public NScreenType getType() {
+        return type;
     }
 
-    public void setMinDeviceHeight(int minDeviceHeight) {
-        this.minDeviceHeight = minDeviceHeight;
+    public void setType(NScreenType type) {
+        this.type = type;
     }
 
-    public int getMaxDeviceHeight() {
-        return maxDeviceHeight;
+    public void addEnablePage(String pageId) {
+        this.enablePages.put(pageId, true);
     }
 
-    public void setMaxDeviceHeight(int maxDeviceHeight) {
-        this.maxDeviceHeight = maxDeviceHeight;
+    public void addDisablePage(String pageId) {
+        this.enablePages.put(pageId, false);
     }
 
-    public int getMinDeviceWidth() {
-        return minDeviceWidth;
+    public void removeEnablePage(String pageId) {
+        this.enablePages.remove(pageId);
     }
 
-    public void setMinDeviceWidth(int minDeviceWidth) {
-        this.minDeviceWidth = minDeviceWidth;
+    public boolean isEnablePage(String pageID) {
+        return this.enablePages.get(pageID);
     }
 
-    public int getMaxDeviceWidth() {
-        return maxDeviceWidth;
+    public void addLink(String pageId, int status) {
+        if (isValidStatus(status)) {
+            this.link.put(pageId, status);
+        } else {
+            return;
+        }
     }
 
-    public void setMaxDeviceWidth(int maxDeviceWidth) {
-        this.maxDeviceWidth = maxDeviceWidth;
+    public void removeLink(String pageId) {
+        this.link.remove(pageId);
     }
 
-    public String getFileName() {
-        return fileName;
+    public int getLink(String pageId) {
+        return this.link.get(pageId);
     }
 
-    public void setFileName(String fileName) {
-        this.fileName = fileName;
+    public boolean isValidStatus(int status) {
+        boolean checkValue = false;
+
+        switch (status) {
+            case NScreenModel.UP:
+                checkValue = true;
+                break;
+            case NScreenModel.NONE:
+                checkValue = true;
+                break;
+            case NScreenModel.DOWN:
+                checkValue = true;
+                break;
+            default:
+                logger.info("Status is not valid.");
+                break;
+        }
+        return checkValue;
+    }
+
+    public String getImageName() {
+        return imageName;
+    }
+
+    public void setImageName(String imageName) {
+        this.imageName = imageName;
+    }
+
+    // Media Feature
+    public float getDevicePixelRatio() {
+        return devicePixelRatio;
+    }
+
+    public void setDevicePixelRatio(float devicePixelRatio) {
+        this.devicePixelRatio = devicePixelRatio;
+    }
+
+    public int getDeviceHeight() {
+        return deviceHeight;
+    }
+
+    public void setDeviceHeight(int deviceHeight) {
+        this.deviceHeight = deviceHeight;
+    }
+
+    public int getDeviceWidth() {
+        return deviceWidth;
+    }
+
+    public void setDeviceWidth(int deviceWidth) {
+        this.deviceWidth = deviceWidth;
     }
 
     public int getColor() {
@@ -186,33 +252,8 @@ public class NScreenModel {
         return reduceRatio(width, height);
     }
 
-    public String getMinDeviceAspectRatio() {
-        return reduceRatio(minDeviceWidth, minDeviceHeight);
-    }
-
-    public String getMaxDeviceAspectRatio() {
-        return reduceRatio(maxDeviceWidth, maxDeviceHeight);
-    }
-
-    public void setLink(String fileName) {
-        this.fileName = fileName;
-        this.isLink = true;
-    }
-
-    public boolean isLinked() {
-        return this.isLink;
-    }
-
-    public ArrayList<String> getEnalbePages() {
-        return this.enablePages;
-    }
-
-    public void addEnablePage(String enablePageID) {
-        this.enablePages.add(enablePageID);
-    }
-
-    public boolean isEnablePage(String pageID) {
-        return this.enablePages.contains(pageID);
+    public String getDeviceAspectRatio() {
+        return reduceRatio(deviceWidth, deviceHeight);
     }
 
     public int getWidth() {
@@ -258,11 +299,12 @@ public class NScreenModel {
         return gcd(b, a % b);
     }
 
-    public NScreenType getType() {
-        return type;
+    public String getFileName() {
+        return fileName;
     }
 
-    public void setType(NScreenType type) {
-        this.type = type;
+    public void setFileName(String fileName) {
+        this.fileName = fileName;
     }
+
 }
index dcccb0d..7b0166e 100644 (file)
@@ -154,15 +154,15 @@ public class PageDesignerForAppXML extends PageDesigner {
                         pageData.addCssFile(cssFile);
                     }
                 } else {
-                    for ( String page : model.getEnalbePages() ) {
-                        String cssPath =
-                                filePath.substring(0, filePath.lastIndexOf(IPath.SEPARATOR) + 1);
-                        cssPath += page + "." + model.getFileName();
-                        cssFile = loadCssFile(cssPath);
-                        if (cssFile != null) {
-                            pageData.addCssFile(cssFile);
-                        }
-                    }
+//                    for ( String page : model.getEnalbePages() ) {
+//                        String cssPath =
+//                                filePath.substring(0, filePath.lastIndexOf(IPath.SEPARATOR) + 1);
+//                        cssPath += page + "." + model.getFileName();
+//                        cssFile = loadCssFile(cssPath);
+//                        if (cssFile != null) {
+//                            pageData.addCssFile(cssFile);
+//                        }
+//                    }
                 }
                 
                 appManager.addNScreenModel( model );
index 649d42d..f8f07eb 100644 (file)
@@ -155,8 +155,9 @@ public class PageDesignerForHTML extends PageDesigner implements ITextEditorList
 
                 CssFile cssFile = loadCssFile(cssPath);
 
-                NScreenModel model =
-                        new NScreenModel("Common Style", 0, 0, 0, 0, NScreenType.COMMON);
+                NScreenModel model = new NScreenModel("Common Style", NScreenType.COMMON);
+                model.setDeviceHeight(0);
+                model.setDeviceWidth(0);
                 model.setFileName(cssFileName);
 
                 appManager.addNScreenModel(model);
index b510ec7..22ba106 100644 (file)
@@ -78,7 +78,7 @@ public class NScreenCustomDialog extends Dialog {
         data.widthHint = 150;
         mTitle.setLayoutData(data);
         if (mItem != null) {
-            mTitle.setText(mItem.getModel().getTitle());
+            mTitle.setText(mItem.getModel().getName());
         }
 
         Label width = new Label(container, SWT.RIGHT);
@@ -223,7 +223,7 @@ public class NScreenCustomDialog extends Dialog {
         }
 
         NScreenModel model = mItem.getModel();
-        model.setTitle(title);
+        model.setName(title);
         model.setWidth(width);
         model.setHeight(height);
         model.setFileName(cssFileName);
index 38afc11..d69cea2 100644 (file)
@@ -277,7 +277,7 @@ public class NScreenListItem implements IPageDataListener {
         mRightContainer.setLayout(new GridLayout(1, true));
 
         mTitle = new Label(mRightContainer, SWT.NONE | SWT.NO_FOCUS);
-        mTitle.setText(mModel.getTitle());
+        mTitle.setText(mModel.getName());
         data = new GridData();
         data.verticalAlignment = SWT.CENTER;
         data.grabExcessVerticalSpace = true;
index 70c24ad..ac0cfbc 100644 (file)
@@ -170,8 +170,9 @@ public class NScreenPage extends Page {
 //        File newCSSFile = new File(filePath + IPath.SEPARATOR + cssFileName);
 //        String cssFileFullPath = newCSSFile.getAbsolutePath();
 
-        NScreenModel model =
-                new NScreenModel(title, width, width, height, height, NScreenType.CUSTOM);
+        NScreenModel model = new NScreenModel(title, NScreenType.CUSTOM);
+        model.setDeviceWidth(width);
+        model.setDeviceHeight(height);
         model.setFileName(cssFileName);
 
         Command command =