NSCREEN : add nscreenmodel controller. 15/20615/1
authoryonghwan82.jeon <yonghwan82.jeon@samsung.com>
Fri, 9 May 2014 11:01:02 +0000 (20:01 +0900)
committeryonghwan82.jeon <yonghwan82.jeon@samsung.com>
Fri, 9 May 2014 11:01:02 +0000 (20:01 +0900)
when page added, nscreen item add page info.
nscreen controller add nscreen item for page info.

Change-Id: I88d8ea7303e1ce13b9c245c0e2bd3ff76d0a57c5
Signed-off-by: yonghwan82.jeon <yonghwan82.jeon@samsung.com>
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/nscreen/NScreenModel.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/nscreen/NScreenModelController.java [new file with mode: 0644]
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesigner.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForHTML.java

index 02382c2..a42cc6e 100644 (file)
@@ -115,8 +115,8 @@ public class NScreenModel {
         this.enablePages.remove(pageId);
     }
 
-    public boolean isEnablePage(String pageID) {
-        return this.enablePages.get(pageID);
+    public boolean isEnablePage(String pageId) {
+        return this.enablePages.get(pageId);
     }
 
     public void addLink(String pageId, int status) {
diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/nscreen/NScreenModelController.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/nscreen/NScreenModelController.java
new file mode 100644 (file)
index 0000000..89b6abb
--- /dev/null
@@ -0,0 +1,70 @@
+
+
+package org.tizen.webuibuilder.model.nscreen;
+
+import java.util.List;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.tizen.webuibuilder.model.app.AppManager;
+import org.tizen.webuibuilder.model.page.IPageDataSetListener;
+import org.tizen.webuibuilder.model.page.PageDataSetEvent;
+
+
+public class NScreenModelController implements IPageDataSetListener {
+    Logger logger = LoggerFactory.getLogger(NScreenModelController.class);
+
+    private AppManager appManager = null;
+    private List<NScreenModel> modelList;
+
+    public NScreenModelController(AppManager appManager) {
+        logger.info("Create Class");
+        this.appManager = appManager;
+        this.modelList = this.appManager.getNScreenModels();
+        this.addListener();
+    }
+
+    public void addListener() {
+        this.appManager.getPageDataSet().addPageListener(this);
+    }
+
+    public void removeListener() {
+        this.appManager.getPageDataSet().removePageListener(this);
+    }
+
+    @Override
+    public void allPagesReseted(PageDataSetEvent e) {
+    }
+
+    @Override
+    public void pagePreDelete(PageDataSetEvent e) {
+    }
+
+    @Override
+    public void pageAdded(PageDataSetEvent e) {
+        logger.info("NScreen add page :"+e.getPageName());
+        for (int i = 0; i < modelList.size(); i++) {
+            NScreenModel model = modelList.get(i);
+            model.addDisablePage(e.getPageName());
+        }
+    }
+
+    @Override
+    public void pageRemoved(PageDataSetEvent e) {
+        logger.info("NScreen remove page : "+e.getPageName());
+        for (int i = 0; i < modelList.size(); i++) {
+            NScreenModel model = modelList.get(i);
+            model.removeEnablePage(e.getPageName());
+        }
+
+    }
+
+    @Override
+    public void pageRenamed(PageDataSetEvent e) {
+    }
+
+    @Override
+    public void pageMoved(PageDataSetEvent e) {
+    }
+
+}
index d2f13a3..aab34db 100644 (file)
@@ -148,6 +148,7 @@ import org.tizen.webuibuilder.model.css.CssSelector;
 import org.tizen.webuibuilder.model.css.io.CssReader;
 import org.tizen.webuibuilder.model.descriptors.DescriptorManager;
 import org.tizen.webuibuilder.model.nscreen.NScreenModel;
+import org.tizen.webuibuilder.model.nscreen.NScreenModelController;
 import org.tizen.webuibuilder.model.page.IPageDataListener;
 import org.tizen.webuibuilder.model.page.PageData;
 import org.tizen.webuibuilder.model.page.PageDataEvent;
@@ -200,6 +201,8 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
     // private FlyoutPaletteComposite splitter;
     private Composite splitter;
 
+    protected NScreenModelController controller = null;
+
     /**
      * The width of the palette.
      */
@@ -890,6 +893,10 @@ public class PageDesigner extends GraphicalEditor implements CommandStackListene
 
     @Override
     public void dispose() {
+        if(controller != null){
+            controller.removeListener();
+        }
+
         if (appManager != null) {
             appManager.removePageListener(this);
         }
index 85540ed..18cca25 100644 (file)
@@ -49,8 +49,7 @@ import org.tizen.webuibuilder.model.app.AppManagerForHTML;
 import org.tizen.webuibuilder.model.css.CssFile;
 import org.tizen.webuibuilder.model.html.io.HtmlWriter;
 import org.tizen.webuibuilder.model.io.CodeGenerator;
-import org.tizen.webuibuilder.model.nscreen.NScreenModel;
-import org.tizen.webuibuilder.model.nscreen.NScreenModel.NScreenType;
+import org.tizen.webuibuilder.model.nscreen.NScreenModelController;
 import org.tizen.webuibuilder.model.page.PageData;
 import org.tizen.webuibuilder.model.page.PageDataForHTML;
 import org.tizen.webuibuilder.model.project.ProjectManager;
@@ -82,6 +81,8 @@ public class PageDesignerForHTML extends PageDesigner implements ITextEditorList
         editDomain = new DefaultEditDomain(this);
         setEditDomain(editDomain);
 
+        controller = new NScreenModelController(appManager);
+
         setSite(site);
         setInput(input);
         getCommandStack().addCommandStackListener(this);
@@ -158,8 +159,7 @@ public class PageDesignerForHTML extends PageDesigner implements ITextEditorList
 
                 CssFile cssFile = loadCssFile(cssPath);
 
-                NScreenModel model = appManager.getCommonNscreen();
-                model.setFileName(cssFileName);
+                appManager.getCommonNscreen().setFileName(cssFileName);
 
                 pageData.addCssFile(cssFile);