blob: 43205888ca474696bcc45b9fe6f9dc50e1d20125 [file] [log] [blame]
/**
* Copyright (c) 2009 Borland Software Corporation
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Artem Tikhomirov (Borland) - initial API and implementation
*/
modeltype GMFMAP uses mappings('http://www.eclipse.org/gmf/2006/mappings');
modeltype GMFGEN uses gmfgen('http://www.eclipse.org/gmf/2009/GenModel');
transformation PreferencePages(in mapModel : GMFMAP, inout gmfgenModel : GMFGEN);
main() {
var canvasMapping := mapModel.rootObjects()![GMFMAP::Mapping].diagram;
var gd := gmfgenModel.rootObjects()![GMFGEN::GenEditorGenerator].diagram;
gd.preferencePages += canvasMapping.map preferencePages(gd);
--gd.preferences := canvasMapping.map preferences(gd);
}
mapping GMFMAP::CanvasMapping::preferencePages(in genDiagram : GMFGEN::GenDiagram) : List(GMFGEN::GenPreferencePage) {
var general := StandardPreferencePages::General.createPage('general', genDiagram.editorGen.modelID + ' Diagram', genDiagram.editorGen);
general.children += StandardPreferencePages::Appearance.createPage('appearance', 'Appearance', genDiagram.editorGen);
general.children += StandardPreferencePages::Connections.createPage('connections', 'Connections', genDiagram.editorGen);
general.children += StandardPreferencePages::Printing.createPage('printing', 'Printing', genDiagram.editorGen);
general.children += StandardPreferencePages::RulersAndGrid.createPage('rulersAndGrid', 'Rulers And Grid', genDiagram.editorGen);
result->add(general);
}
helper GMFGEN::StandardPreferencePages::createPage(in id : String, in n: String, in editorGen : GMFGEN::GenEditorGenerator) : GMFGEN::GenPreferencePage {
return object GMFGEN::GenStandardPreferencePage {
name := n;
iD := editorGen.plugin.iD + '.' + id;
kind := self;
};
}
mapping GMFMAP::CanvasMapping::preferences(in genDiagram : GMFGEN::GenDiagram) : GMFGEN::GenDiagramPreferences {
}