From 893a3ff320731efd7cbb518bcd134bd11f02fb8b Mon Sep 17 00:00:00 2001 From: parary Date: Mon, 28 Apr 2014 20:41:32 +0900 Subject: [PATCH] NSCREEN : create new NScreen model and change the code generation logic from new model. Change-Id: I7ac67e71369908e0f99e64e27a6f26a938da5cf1 Signed-off-by: parary --- org.tizen.webuibuilder/.gitignore | 29 ++++++ .../res/xslt/page_managed_css_ver0_0_3.xslt | 86 +++++++++++++---- .../webuibuilder/model/app/AppManagerForHTML.java | 2 +- .../model/app/io/HtmlMetaReader_ver_1.java | 76 +++++++++++---- .../model/app/io/HtmlMetaWriter_ver_1.java | 65 ++++++++++--- .../org/tizen/webuibuilder/model/css/CssFile.java | 2 +- .../model/filedata/HtmlMetaFileData.java | 2 +- .../webuibuilder/model/filedata/PageFileData.java | 2 +- .../model/io/file/PageReader_ver_2.java | 10 +- .../model/io/file/PageWriter_ver_2.java | 9 +- .../ui/editor/PageDesignerForAppXML.java | 2 +- .../ui/editor/PageDesignerForHTML.java | 2 +- .../ui/views/newnscreen/NScreenModel.java | 102 ++++++++++++--------- 13 files changed, 283 insertions(+), 106 deletions(-) diff --git a/org.tizen.webuibuilder/.gitignore b/org.tizen.webuibuilder/.gitignore index a4dd084..a5664a9 100644 --- a/org.tizen.webuibuilder/.gitignore +++ b/org.tizen.webuibuilder/.gitignore @@ -95,3 +95,32 @@ /bin /bin /bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin +/bin diff --git a/org.tizen.webuibuilder/res/xslt/page_managed_css_ver0_0_3.xslt b/org.tizen.webuibuilder/res/xslt/page_managed_css_ver0_0_3.xslt index 0530185..4d3cd4e 100644 --- a/org.tizen.webuibuilder/res/xslt/page_managed_css_ver0_0_3.xslt +++ b/org.tizen.webuibuilder/res/xslt/page_managed_css_ver0_0_3.xslt @@ -1,31 +1,85 @@ - - + + - - - + + + + + + + - - + - + - + - + - - -@import url("") screen and (max-width:px); - + + + +@import url("") screen; + - + - + + + + + + + + + + and (min-device-width:px) and (max-device-width:px) + + + + + + + + + and (max-color:) + + + + + + + + + and (color-index:) + + + + + + + + + and (grid) + + + + + + # page name : +@import url ("") screen + + + + + \ No newline at end of file diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/AppManagerForHTML.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/AppManagerForHTML.java index 2ac23e2..8f935b7 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/AppManagerForHTML.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/AppManagerForHTML.java @@ -59,7 +59,7 @@ import org.tizen.webuibuilder.model.page.PageDataForHTML; import org.tizen.webuibuilder.model.page.PageDataPaths; import org.tizen.webuibuilder.model.project.ProjectManager; import org.tizen.webuibuilder.ui.views.databinding.model.BindingData; -import org.tizen.webuibuilder.ui.views.nscreen.model.NScreenModel; +import org.tizen.webuibuilder.ui.views.newnscreen.NScreenModel; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/io/HtmlMetaReader_ver_1.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/io/HtmlMetaReader_ver_1.java index f8d7c29..e4e5dba 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/io/HtmlMetaReader_ver_1.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/io/HtmlMetaReader_ver_1.java @@ -24,7 +24,6 @@ package org.tizen.webuibuilder.model.app.io; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import org.w3c.dom.Attr; @@ -42,7 +41,9 @@ import org.tizen.webuibuilder.model.filedata.HtmlMetaFileData; import org.tizen.webuibuilder.model.io.file.TizenFileFormatter; import org.tizen.webuibuilder.ui.views.databinding.model.BindingData; import org.tizen.webuibuilder.ui.views.databinding.model.BindingObject; -import org.tizen.webuibuilder.ui.views.nscreen.model.NScreenModel; +import org.tizen.webuibuilder.ui.views.newnscreen.NScreenModel; +import org.tizen.webuibuilder.ui.views.newnscreen.NScreenModel.Orientation; +import org.tizen.webuibuilder.ui.views.newnscreen.NScreenModel.Scan; public class HtmlMetaReader_ver_1 { @@ -97,20 +98,8 @@ 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++) { - Element nscreen = (Element) elementList.item(i); - 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")); - model.setWidth(Integer.parseInt(screen.getAttribute("width"))); - model.setHeight(Integer.parseInt(screen.getAttribute("height"))); - model.setFileName(screen.getAttribute("cssFileName")); - - fileData.getNscreenModelList().add(model); - } + for ( int i = 0; i < elementList.getLength(); i++ ) { + parseNScreen( fileData, (Element) elementList.item( i ) ); } elementList = elem.getElementsByTagName("pageData"); @@ -123,6 +112,61 @@ public class HtmlMetaReader_ver_1 { 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 ); + NScreenModel model = new NScreenModel(); + + model.setTitle( screen.getAttribute( "title" ) ); + model.setWidth( Integer.parseInt( screen.getAttribute( "device-width" ) ) ); + model.setHeight( 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( "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 ); + } + + 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 ); + 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() ); + } + + fileData.getNscreenModelList().add( model ); + } + } private static void parseDataBinding(HtmlMetaFileData fileData, Element elem) { parseDataSource(fileData, elem); diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/io/HtmlMetaWriter_ver_1.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/io/HtmlMetaWriter_ver_1.java index f53347b..15e3d3e 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/io/HtmlMetaWriter_ver_1.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/app/io/HtmlMetaWriter_ver_1.java @@ -45,6 +45,7 @@ import org.tizen.webuibuilder.model.io.file.TizenFileFormatter; 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.tizen.webuibuilder.ui.views.newnscreen.NScreenModel; public class HtmlMetaWriter_ver_1 { @@ -166,20 +167,62 @@ public class HtmlMetaWriter_ver_1 { }); int preWidth = 0; - for (CssFile model : list) { - Element screenElement = doc.createElement("screen"); - screenElement.setAttribute("title", model.getTitle()); - screenElement.setAttribute("width", String.valueOf(model.getWidth())); - screenElement.setAttribute("height", String.valueOf(model.getHeight())); - screenElement.setAttribute("cssFileName", model.getFileName()); - screenElement.setAttribute("minWidth", String.valueOf(preWidth)); - - preWidth = model.getWidth(); - if (preWidth != 0) { + for ( CssFile file : list ) { + Element screenElement = doc.createElement( "screen" ); + + NScreenModel nsModel = file.getNScreenModel(); + + screenElement.setAttribute( "title", nsModel.getTitle() ); + + screenElement.setAttribute( "device-width", String.valueOf( nsModel.getDeviceWidth() ) ); + screenElement.setAttribute( "device-height", String.valueOf( nsModel.getDeviceHeight() ) ); + + if ( nsModel.getDeviceWidth() != 0 & nsModel.getDeviceHeight() != 0 ) + screenElement.setAttribute( "device-aspect-ratio", String.valueOf( nsModel.getDeviceAspectRatio() ) ); + + if ( nsModel.getColor() > 0 ) + screenElement.setAttribute( "color", String.valueOf( nsModel.getColor() ) ); + + if ( nsModel.getColorIndex() > 0 ) + screenElement.setAttribute( "color-index", String.valueOf( nsModel.getColorIndex() ) ); + + if ( nsModel.getGrid() ) + screenElement.setAttribute( "grid", String.valueOf( true ) ); + + if ( nsModel.getMonochrome() > 0 ) + screenElement.setAttribute( "monochrome", String.valueOf( nsModel.getMonochrome() ) ); + + if ( nsModel.getOrientation() != null ) + screenElement.setAttribute( "orientation", nsModel.getOrientation().toString().toLowerCase() ); + + if ( nsModel.getOrientation() != null ) + screenElement.setAttribute( "orientation", nsModel.getOrientation().toString() + .toLowerCase() ); + + if ( nsModel.getResolution() != null ) + screenElement.setAttribute( "resolution", nsModel.getResolution() ); + + 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 ); + } + + screenElement.setAttribute( "cssFileName", nsModel.getFileName() ); + screenElement.setAttribute( "min-device-width", String.valueOf( preWidth ) ); + + preWidth = nsModel.getDeviceWidth(); + if ( preWidth != 0 ) { preWidth++; } - nscreenElement.appendChild(screenElement); + nscreenElement.appendChild( screenElement ); } return nscreenElement; } diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/css/CssFile.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/css/CssFile.java index 27d8f49..3b0fdd8 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/css/CssFile.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/css/CssFile.java @@ -29,7 +29,7 @@ import java.util.List; import org.eclipse.core.runtime.IPath; import org.tizen.webuibuilder.model.css.NewCssEvent.EventType; -import org.tizen.webuibuilder.ui.views.nscreen.model.NScreenModel; +import org.tizen.webuibuilder.ui.views.newnscreen.NScreenModel; /** diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/filedata/HtmlMetaFileData.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/filedata/HtmlMetaFileData.java index c7f2d54..02f5b72 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/filedata/HtmlMetaFileData.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/filedata/HtmlMetaFileData.java @@ -28,7 +28,7 @@ import java.util.List; import org.tizen.webuibuilder.model.Part; import org.tizen.webuibuilder.ui.views.databinding.model.BindingData; -import org.tizen.webuibuilder.ui.views.nscreen.model.NScreenModel; +import org.tizen.webuibuilder.ui.views.newnscreen.NScreenModel; import org.w3c.dom.Document; diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/filedata/PageFileData.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/filedata/PageFileData.java index 45d7618..9dcfade 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/filedata/PageFileData.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/filedata/PageFileData.java @@ -27,7 +27,7 @@ import java.util.ArrayList; import java.util.List; import org.tizen.webuibuilder.model.Part; -import org.tizen.webuibuilder.ui.views.nscreen.model.NScreenModel; +import org.tizen.webuibuilder.ui.views.newnscreen.NScreenModel; import org.w3c.dom.Document; diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/io/file/PageReader_ver_2.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/io/file/PageReader_ver_2.java index b0f63e2..795572f 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/io/file/PageReader_ver_2.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/io/file/PageReader_ver_2.java @@ -25,16 +25,16 @@ package org.tizen.webuibuilder.model.io.file; import java.util.List; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; import org.tizen.webuibuilder.model.Part; import org.tizen.webuibuilder.model.PartFactory; import org.tizen.webuibuilder.model.css.CssSelector; import org.tizen.webuibuilder.model.filedata.PageFileData; import org.tizen.webuibuilder.model.io.ModelDeserializer; -import org.tizen.webuibuilder.ui.views.nscreen.model.NScreenModel; +import org.tizen.webuibuilder.ui.views.newnscreen.NScreenModel; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; public class PageReader_ver_2 { diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/io/file/PageWriter_ver_2.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/io/file/PageWriter_ver_2.java index cfa4942..d3ee6b4 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/io/file/PageWriter_ver_2.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/model/io/file/PageWriter_ver_2.java @@ -24,18 +24,11 @@ package org.tizen.webuibuilder.model.io.file; import java.util.List; -import java.util.Map.Entry; -import org.tizen.webuibuilder.BuilderConstants; -import org.tizen.webuibuilder.model.GotoPageProperty; import org.tizen.webuibuilder.model.Part; -import org.tizen.webuibuilder.model.css.CssSelector; -import org.tizen.webuibuilder.model.descriptors.PartDescriptor; -import org.tizen.webuibuilder.model.descriptors.PropertyDescriptor; -import org.tizen.webuibuilder.model.descriptors.TypeDescriptor; import org.tizen.webuibuilder.model.filedata.PageFileData; import org.tizen.webuibuilder.model.io.ModelSerializer; -import org.tizen.webuibuilder.ui.views.nscreen.model.NScreenModel; +import org.tizen.webuibuilder.ui.views.newnscreen.NScreenModel; import org.w3c.dom.Document; import org.w3c.dom.Element; diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForAppXML.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForAppXML.java index a108524..90f365e 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForAppXML.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForAppXML.java @@ -50,7 +50,7 @@ import org.tizen.webuibuilder.model.page.PageDataEvent; import org.tizen.webuibuilder.model.project.ProjectManager; import org.tizen.webuibuilder.ui.editor.texteditor.TextEditor; import org.tizen.webuibuilder.ui.editor.texteditor.TextEditorForAppXML; -import org.tizen.webuibuilder.ui.views.nscreen.model.NScreenModel; +import org.tizen.webuibuilder.ui.views.newnscreen.NScreenModel; public class PageDesignerForAppXML extends PageDesigner { diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForHTML.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForHTML.java index 088c561..699f493 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForHTML.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/editor/PageDesignerForHTML.java @@ -56,7 +56,7 @@ import org.tizen.webuibuilder.ui.editor.texteditor.ITextEditorListener; import org.tizen.webuibuilder.ui.editor.texteditor.TextEditor; import org.tizen.webuibuilder.ui.editor.texteditor.TextEditorEvent; import org.tizen.webuibuilder.ui.editor.texteditor.TextEditorForHTML; -import org.tizen.webuibuilder.ui.views.nscreen.model.NScreenModel; +import org.tizen.webuibuilder.ui.views.newnscreen.NScreenModel; @SuppressWarnings("deprecation") diff --git a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/newnscreen/NScreenModel.java b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/newnscreen/NScreenModel.java index 2216153..3c142bd 100644 --- a/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/newnscreen/NScreenModel.java +++ b/org.tizen.webuibuilder/src/org/tizen/webuibuilder/ui/views/newnscreen/NScreenModel.java @@ -23,6 +23,8 @@ package org.tizen.webuibuilder.ui.views.newnscreen; +import java.util.ArrayList; + public class NScreenModel { public enum Orientation { @@ -41,17 +43,17 @@ public class NScreenModel { private int colorIndex; private int deviceHeight; private int deviceWidth; - private Orientation orientation; + private Orientation orientation = null; private int monochrome; private String resolution; - private Scan scan; - private int grid; + private Scan scan = null; + private boolean grid = false; + private boolean isLink = false; + private ArrayList enablePages = new ArrayList(); private String fileName; - NScreenModel link; - - public NScreenModel(String title, int width, int height, String fileName) { + public NScreenModel( String title, int width, int height, String fileName ) { this.title = title; this.width = width; this.height = height; @@ -59,14 +61,14 @@ public class NScreenModel { } public NScreenModel() { - this("Basic", 0, 0, ""); + this( "Basic", 0, 0, "" ); } public String getTitle() { return title; } - public void setTitle(String title) { + public void setTitle( String title ) { this.title = title; } @@ -74,7 +76,7 @@ public class NScreenModel { return width; } - public void setWidth(int width) { + public void setWidth( int width ) { this.width = width; } @@ -82,7 +84,7 @@ public class NScreenModel { return height; } - public void setHeight(int height) { + public void setHeight( int height ) { this.height = height; } @@ -90,7 +92,7 @@ public class NScreenModel { return fileName; } - public void setFileName(String fileName) { + public void setFileName( String fileName ) { this.fileName = fileName; } @@ -98,7 +100,7 @@ public class NScreenModel { return color; } - public void setColor(int color) { + public void setColor( int color ) { this.color = color; } @@ -106,7 +108,7 @@ public class NScreenModel { return colorIndex; } - public void setColorIndex(int colorIndex) { + public void setColorIndex( int colorIndex ) { this.colorIndex = colorIndex; } @@ -114,7 +116,7 @@ public class NScreenModel { return deviceHeight; } - public void setDeviceHeight(int deviceHeight) { + public void setDeviceHeight( int deviceHeight ) { this.deviceHeight = deviceHeight; } @@ -122,7 +124,7 @@ public class NScreenModel { return deviceWidth; } - public void setDeviceWidth(int deviceWidth) { + public void setDeviceWidth( int deviceWidth ) { this.deviceWidth = deviceWidth; } @@ -130,7 +132,7 @@ public class NScreenModel { return orientation; } - public void setOrientation(Orientation orientation) { + public void setOrientation( Orientation orientation ) { this.orientation = orientation; } @@ -138,7 +140,7 @@ public class NScreenModel { return monochrome; } - public void setMonochrome(int monochrome) { + public void setMonochrome( int monochrome ) { this.monochrome = monochrome; } @@ -146,7 +148,7 @@ public class NScreenModel { return resolution; } - public void setResolution(String resolution) { + public void setResolution( String resolution ) { this.resolution = resolution; } @@ -154,15 +156,15 @@ public class NScreenModel { return scan; } - public void setScan(Scan scan) { + public void setScan( Scan scan ) { this.scan = scan; } - public int getGrid() { + public boolean getGrid() { return grid; } - public void setGrid(int grid) { + public void setGrid( boolean grid ) { this.grid = grid; } @@ -171,46 +173,58 @@ public class NScreenModel { } public String getAspectRatio() { - return reduceRatio(width, height); + return reduceRatio( width, height ); } public String getDeviceAspectRatio() { - return reduceRatio(deviceWidth, deviceHeight); + return reduceRatio( deviceWidth, deviceHeight ); + } + + public void setLink( String fileName ){ + this.fileName = fileName; + this.isLink = true; + } + + public boolean isLinked(){ + return this.isLink; + } + + public ArrayList 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 reduceRatio(int numerator, int denominator) { + private String reduceRatio( int numerator, int denominator ) { int temp = 0; - if (numerator == denominator) - return "1:1"; + if( numerator == 0 || denominator == 0) + return "0/0"; + + if ( numerator == denominator ) + return "1/1"; - if (+numerator < +denominator) { + if ( +numerator < +denominator ) { temp = numerator; numerator = denominator; denominator = temp; } - int divisor = gcd(+numerator, +denominator); + int divisor = gcd( +numerator, +denominator ); - return (numerator / divisor) + "/" + (denominator / divisor); + return ( numerator / divisor ) + "/" + ( denominator / divisor ); } - private static int gcd(int a, int b) { - if (b == 0) + private static int gcd( int a, int b ) { + if ( b == 0 ) return a; - return gcd(b, a % b); - } - - public void linkTo(NScreenModel nScreenModel) { - link = nScreenModel; - } - - public boolean isLink() { - if (link == null) - return false; - else - return true; - + return gcd( b, a % b ); } } -- 2.7.4