Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » GMF (Graphical Modeling Framework) » How can we add a picture to GMF Editor background, the full picture on canvas .
How can we add a picture to GMF Editor background, the full picture on canvas . [message #204920] Wed, 10 September 2008 07:49
Eclipse UserFriend
Originally posted by: matengyue2006.126.com

How can we add a picture to GMF Editor background, the full picture on
canvas .

I rewrite the editor in configureGraphicalViewer () methods.The code
below, master guide!
/**
* @generated NOT
*/
protected void configureGraphicalViewer() {
super.configureGraphicalViewer();
configureGraphicalViewerGen();

//
saveImageFile(getDiagramGraphicalViewer(),"D:\\Blue hills.jpg");
DiagramRootEditPart root = (DiagramRootEditPart)
getDiagramGraphicalViewer()
.getRootEditPart();
LayeredPane printableLayers = (LayeredPane) root
.getLayer(LayerConstants.PRINTABLE_LAYERS);

//////Background Layer//////////////////
Layer backgroundLayer = new Layer() {
@Override
protected void paintFigure(Graphics graphics) {
super.paintFigure(graphics);
graphics.drawImage(getImageImage("images/Hall2.JPG"),
0, 0);
}
};

// IDiagramGraphicalViewer viewer = getDiagramGraphicalViewer();
// FigureCanvas figureCanvas = (FigureCanvas) viewer.getControl();
// int whhtt = figureCanvas.getBounds().height;
//
// FreeformLayer tayer = (FreeformLayer)
printableLayers.getChildren()
// .get(0);
// int whhhcan = tayer.getBounds().height;

backgroundLayer.setSize(750, 600);
////////////////////////////////////////

FreeformLayer extLabelsLayer = new FreeformLayer();
extLabelsLayer.setLayoutManager(new DelegatingLayout());
printableLayers.addLayerAfter(extLabelsLayer, "ExtLabels Layer",
LayerConstants.PRIMARY_LAYER);

//////Insert Background Layer///////////
printableLayers.addLayerBefore(backgroundLayer, "Background Layer",
LayerConstants.PRIMARY_LAYER);
////////////////////////////////////////

LayeredPane scalableLayers = (LayeredPane) root
.getLayer(LayerConstants.SCALABLE_LAYERS);
FreeformLayer scaledFeedbackLayer = new FreeformLayer();
scaledFeedbackLayer.setEnabled(false);
scalableLayers.addLayerAfter(scaledFeedbackLayer,
LayerConstants.SCALED_FEEDBACK_LAYER,
DiagramRootEditPart.DECORATION_UNPRINTABLE_LAYER);
}
Previous Topic:Grouping of objects
Next Topic:create link when node is drawn?
Goto Forum:
  


Current Time: Fri Mar 29 13:53:09 GMT 2024

Powered by FUDForum. Page generated in 0.03253 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top