]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.g2d/src/org/simantics/g2d/page/DiagramDesc.java
Let the request processor handle the exceptions
[simantics/platform.git] / bundles / org.simantics.g2d / src / org / simantics / g2d / page / DiagramDesc.java
1 /*******************************************************************************
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management
3  * in Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.g2d.page;
13
14 import org.simantics.utils.page.PageDesc;
15
16 /**
17  * @author Marko Luukkainen
18  */
19 public class DiagramDesc {
20
21     private final PageDesc pageDesc;
22     private final double   gridSize;
23     private final boolean  pageBordersVisible;
24     private final boolean  marginsVisible;
25
26     // Global settings
27     private final boolean  gridVisible;
28     private final boolean  rulerVisible;
29
30     public DiagramDesc(PageDesc pageDesc, double gridSize, boolean pageBordersVisible, boolean marginsVisible, boolean gridVisible, boolean rulerVisible) {
31         this.pageDesc = pageDesc;
32         this.gridSize = gridSize;
33         this.pageBordersVisible = pageBordersVisible;
34         this.marginsVisible = marginsVisible;
35         this.gridVisible = gridVisible;
36         this.rulerVisible = rulerVisible;
37     }
38
39     public PageDesc getPageDesc() {
40         return pageDesc;
41     }
42
43     public double getGridSize() {
44         return gridSize;
45     }
46
47     public boolean isPageBordersVisible() {
48         return pageBordersVisible;
49     }
50
51     public boolean isMarginsVisible() {
52         return marginsVisible;
53     }
54
55     public boolean isGridVisible() {
56         return gridVisible;
57     }
58
59     public boolean isRulerVisible() {
60         return rulerVisible;
61     }
62
63     public DiagramDesc withPageDesc(PageDesc pageDesc) {
64         return new DiagramDesc(pageDesc, gridSize, pageBordersVisible, marginsVisible, gridVisible, rulerVisible);
65     }
66
67     @Override
68     public int hashCode() {
69         final int prime = 31;
70         int result = 1;
71         result = prime * result + ((pageDesc == null) ? 0 : pageDesc.hashCode());
72         long temp;
73         temp = Double.doubleToLongBits(gridSize);
74         result = prime * result + (int) (temp ^ (temp >>> 32));
75         result = prime * result + (marginsVisible ? 1231 : 1237);
76         result = prime * result + (pageBordersVisible ? 1231 : 1237);
77         result = prime * result + (gridVisible ? 1231 : 1237);
78         result = prime * result + (rulerVisible ? 1231 : 1237);
79         return result;
80     }
81
82     @Override
83     public boolean equals(Object obj) {
84         if (this == obj)
85             return true;
86         if (obj == null)
87             return false;
88         if (getClass() != obj.getClass())
89             return false;
90         DiagramDesc other = (DiagramDesc) obj;
91         if (pageDesc == null) {
92             if (other.pageDesc != null)
93                 return false;
94         } else if (!pageDesc.equals(other.pageDesc))
95             return false;
96         if (Double.doubleToLongBits(gridSize) != Double.doubleToLongBits(other.gridSize))
97             return false;
98         if (marginsVisible != other.marginsVisible)
99             return false;
100         if (pageBordersVisible != other.pageBordersVisible)
101             return false;
102         if (gridVisible != other.gridVisible)
103             return false;
104         if (rulerVisible != other.rulerVisible)
105             return false;
106         return true;
107     }
108
109     @Override
110     public String toString() {
111         return "[gridSize=" + gridSize + ", pageBordersVisible=" + pageBordersVisible + ", marginsVisible=" + marginsVisible + ", gridVisible=" + gridVisible + ", rulerVisible=" + rulerVisible + ", pageDesc=" + pageDesc + "]"; 
112     }
113
114 }