]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling/src/org/simantics/modeling/typicals/rules/PageSettingsTypicalRule.java
Merge commit 'fd452722e97db9cf876f4f03a9e44fe750625a92'
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / typicals / rules / PageSettingsTypicalRule.java
1 package org.simantics.modeling.typicals.rules;\r
2 \r
3 import org.simantics.db.Resource;\r
4 import org.simantics.db.WriteGraph;\r
5 import org.simantics.db.exception.DatabaseException;\r
6 import org.simantics.diagram.query.DiagramRequests;\r
7 import org.simantics.diagram.synchronization.graph.DiagramGraphUtil;\r
8 import org.simantics.g2d.page.DiagramDesc;\r
9 import org.simantics.modeling.typicals.ITypicalSynchronizationRule;\r
10 import org.simantics.modeling.typicals.TypicalInfo;\r
11 \r
12 /**\r
13  * @author Tuukka Lehtonen\r
14  * @since 1.22.2, 1.25.0\r
15  */\r
16 public enum PageSettingsTypicalRule implements ITypicalSynchronizationRule {\r
17 \r
18         INSTANCE;\r
19 \r
20         public static PageSettingsTypicalRule get() {\r
21                 return INSTANCE;\r
22         }\r
23 \r
24         @Override\r
25         public boolean synchronize(WriteGraph graph, Resource template, Resource instance, TypicalInfo info) throws DatabaseException {\r
26                 DiagramDesc mdesc = graph.syncRequest(DiagramRequests.getDiagramDesc(template));\r
27                 DiagramDesc idesc = graph.syncRequest(DiagramRequests.getDiagramDesc(instance));\r
28                 if (mdesc.equals(idesc))\r
29                         return false;\r
30 \r
31                 DiagramGraphUtil.setDiagramDesc(graph, instance, mdesc);\r
32                 info.messageLog.add("\t\tset diagram page settings:"\r
33                                 + "\n\t\t\tshow page borders: " + mdesc.isPageBordersVisible()\r
34                                 + "\n\t\t\tshow margins:      " + mdesc.isMarginsVisible()\r
35                                 + "\n\t\t\tgrid size:         " + mdesc.getGridSize()\r
36                                 + "\n\t\t\tpage settings:     " + mdesc.getPageDesc()\r
37                                 + "\n");\r
38                 return true;\r
39         }\r
40 \r
41 }\r