Home » Modeling » GMF (Graphical Modeling Framework) » ScalableImageFigure / PNG not showing
ScalableImageFigure / PNG not showing [message #77409] |
Tue, 14 November 2006 08:53  |
Eclipse User |
|
|
|
Originally posted by: jan.herriger.gmx.de
This is a multi-part message in MIME format.
--------------030604080107070407050204
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
Hi,
I created two edit parts: PositionEditPart, GroupEditPart (see
attachment). The edit parts are using ScalableImageFigures as their
primay shapes.
position.png is diplayed correctly. But group.png isn't displayed at all
(there is just a white box showing up).
Do you know about restrictions/problems regarding ScalableImageFigure
and PNG files?
Best regards
Jan
--------------030604080107070407050204
Content-Type: image/png;
name="position.png"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="position.png"
iVBORw0KGgoAAAANSUhEUgAAACgAAAAwCAIAAADsGa/MAAAACXBIWXMAAB7D AAAewwG8l5fa
AAAAB3RJTUUH1gsODAsgTjwT1wAABa1JREFUeNrtmG1MU1cYx8/t7b1oKVDo VoRBAaG1LYiC
4CwoLY6XirzG18hkJlsyxbgly96SbYkz6D45dRsDIdEZXXQxLKMYGfKiQSev pa0UW6BFEURj
pG0KtKW37d2Ha661gFJp4xefT+f8z+n59Zz7nPM850A4joM3YdTX+5lCoWi5 1hQYSLdjdn78
anFmJgRBHo0AvcaM6y5fnng4+PEnu2i05Q6Hs/Hq9dEHxoOHPvdoEIqn1MnJ yeEhxaHP9tFo
ywEAMEzJL/ggNvad1pYW34LbWltLS4vcxKys9AGV0rdgg14fyQ539xQqdZkf 6lswixWqkA+4
iWazBbMD34KzcrKl0ut2u8NVPPdHXa5E4nOv1mq1tdW/FJdkrVnDv39/vEHa liHeIkxL8zkY
AGC323u6u5UKeVjYe9m5OTQazdMRPABrh7XDQ0NyeZ/T4ZzbiqLo6sTE9Rve ZzKZXgNrh4d/
OXlqZWzsutRUBF3Qe60Wi6y3F7PZ9pTuYUdFLQms1+t/PXUqOIS5JS8P9fNb zFTMZvO5M2ci
IiLK9n0UGBjoMdhqtdZUV09Pz2wtKGAEB3t8wD19eu7sWXGmeGt+PjrfIs0D xnH8z/MX1Gp1
Vk7OythYV4eanZ319/dfCGYymdymOKjRXJFKd+7atXHTxleAuzq7pPX1yevW JaekUCjPd3lr
c3PLtWvZubmbs7IWAv9UUUGn03MkklU8Hik6HI6O27f/a2//4qsv4+Li5gFr 1Oq/Ll1iha6Q
5OWRSBzH+5XKhvr6opLipOTkpn+bXgI+euTIiZMnGq82yuXyDLGYx+eTTRiG XZFKp02mTw/s
f5fFehaP7RhW+VslhmF79pa5fo87SmVXR4dQKKyqOQ3D8MTExKs3CYWyfeeO wuKiBqn0TG2t
MD2dLxAAABAEKdm2zWg01tbUCuIFxSUlFABAe/tNKoLs2L2bpCoVipqqKipM Ofzj4a0F+TAM
e+RZKIpu2779ux++n7Vaaqp+V9+9S+gMBqO0rEyj1phMJioAAMeddDqdWFil QtHV0SESiSqO
HfU0qZiLLyouLiwqOl1V1VBfn19YyBcIIAiiUCi400kFAGSIRCeO/3zy+HE6 3V+YllZx7Kir
Wy3RIAjaX14+ZTJdOH+hqbERRVEmk0kPCKASH+Drb7958uRJSEgIlUoFPrCA wMADB8ttNpvF
YgkKCnoh2WOxWL7OLFEUJd2IAt6QvQW/Bb8YttyE6spK1+pLAteSwDKZbEVY GFkdGhzUabUG
g4FUOFzu+NiY98E6rS4yMtI1UO4vP3D71i1S4fH5AyqV98GTk08DXOI8nU7f lJEx9uABqUTH
xOh0Oi+DMZvN9RM/HB/ncDgIgrDZbIvZTIgwDFssVi+DHz1+zAoNJas32tpS UlMAAIL4+N6e
HlKfmZmZnZ31Jri7s9M1o7A77EQ6lro+VaNWk3p8QsKgRuNNsE43wl21iigb jcbwsHAiWtNo
NAShOp1O0rH7ZDJvgm02G5kX3LxxIyk5iWxam5REzpIVGjq2uB21WLDVanV9 FFib9BwsFot7
u7s99a9Fgfvv9EfHxJD5IgxTXLOwIAbDYrGQVRqNZjQavQMeGFBxuNxn7z19 fRuE7jdSHo9H
rjCHy1X193sHrFQoItlsoqxSqURikVuHzM2be7q6iDKXx1vM+bUoMARBRC6G 47jT4UAQxK1D
WHjY/Xv3iHJwcLBeb/AC2KDX+/vTybtQ4prEuX1gGE5IiJ+emiL+JYZh5AZ7 ffDIyAg7Opoo
98lk2Tk583YTpqV1dnQ8ewRCkCmTaang0dFR4hoCAJiZniaS07nG4XBIn2Iw GHK5YqngqKio
f+rqjAZDa3MzhxO3UDe/ZcsiIiIGVCqjwfD40SNBvMALTxGy3t6/6+rS0tNz JZKXZPw2m+3S
xYu6YW3p3g/J89XLrz5Lt/8BlcpbbccPcCYAAAAASUVORK5CYII=
--------------030604080107070407050204
Content-Type: image/png;
name="group.png"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="group.png"
iVBORw0KGgoAAAANSUhEUgAAADwAAAA2CAIAAAAUBW1DAAAACXBIWXMAAB7D AAAewwG8l5fa
AAAAB3RJTUUH1gsODQ4fhO+gmAAACbpJREFUeNrVmXtUE1cawIckJEB4B3kl vBOFKAkqjyQE
gkIRRFdcRezqFmp3Xe1pqxxxfewq1EdLcVnd2qo9nq6ioF0eAd1jeboW5BnA QAhBCQmElxKr
NAECgUyyf0wZomIIEHD3nvyR+TJz55c7v7lzv2+MNBoNsIStvq7uX7dv4vE4 DAYtHx5Fo60/
PXAQg8HMrRfNEjbuo0dHkj8ZV4g0YC/0aec/+OvxI0qlck79IJZymAsLcj8/ lYTBoOGItw8x
JITysKJyTv2glkyAoZdD9vaW2sRQY7Fo336bH/5exDuDbuZyC/Kzv0w7BMM9 bu88cyrlRMqp
SdUkztbyzUMwGLSx8dwwEEsmgIW5eWur8M1Durt6LSytF12PeQvg4UlubOT5 +1Pgn0AQzLp5
Z+/+pMWFXogAiR/uyTiX3tIsiNkUbmdny+c/YeeXxr+faO/gsLjQOgRgBDNa W4XxO98qABKF
/POxY218/r0f64blv7i7ex37yylTM7O5MswNen4C3LxZGBWz/T/l96VSKRTE mmGxZtjx8fE7
hXcAADA1NfWlUtzc3JBIpOGh5yHAjUy2YhR8WPkQh8O9rVvlxER5Wbmkq4tI IsbFx5ubmxsS
GpoB9BTgyWNBj6Rvc2wsg8FA6DeEXWJx8qHkMBYrLn6HjlE3muva4/urV6lU /GsCfHH2UlTM
9mGZHBJAIpE8amrC4XDkVauMjIwAADAxMVnh7Y0nEBCIWSZZtVr9qKnpwf3y DxISAoOCDAMN
qsCMc+k4nPFrAiz38dEhAAAASqVS1Nnp4OAQHRNjhsXqPotKpbpfViYWiRIS E3zI5IVCQ62N
z6+rm6cA2VlZfn5+Gzdt0h51dm6uq7u7f0CA9s4jIyOFbDag0SQkJhBcXOYM DYKgRCLpFncZ
SoDS4uKYzZupfn5Q8ExqaggrlMvlBgczA1614tmzZ3fYbCcnxw8SE62srPSC BkHw2vf/7BQK
7R0dDS6AoK1t85YtRBLpTGpq2rl0HA5XdO/H8rKyIAYjMCgIGg74Et1hsxnM 4O1xcbNA3y8r
LykpCQgK8vf3XyQBCtjs0eHhvp6eC99chAeluKiorLQsMCgokEbT7oTf2trI 4SBTU1NnPHdj
Q+PFr78G1eqdu3YRXFyMEPourWxsbJghIcPDw5nXrllaWTk6OkLx/NxcE1PT f9+9izY2xhMI
UBCNRlOpVIKrq0gkEnZ0+FJ8TUxMAAAgkkgbojYM9PffyspSgyAej4cA7B0c eDzeDCPd19d3
43qmRqPZuWsXCjX/teubAnxy4IC1jU3FgwcNHE4Ii6VLgKn4mEKRm5NbWVGx LjycHhwMAMC5
tLRXoOVyeea160Kh8I/79llaWr468A093d2/jYvTQTmrAMlHj1rb2EDxyooK Tn09k8mcUYCU
z1+5/mMKRX5eXk1NLaDR/CZ2y6/QGo0mPy+vpLjkD3v3Ojo5aR/QUF9/t7Bw pa+vXCbbu3+/
DugzqamrKBShUBgWFvbmDHA7KwuLxb6/e7eFhQUcr6qsrKupYTCZNDodvmdu XL9+4uQJHSdC
pqSkVFdVnz11eqUvJS4+3lyrx+6uru8uX1ar1Xv378dise0CAY1O19FX5U8/ 7di5MzwiolMo
zMvJQaJQeDweutDm5uZ0BsMWh7uZmSmTyYgkEhR3dXNb4+/fzOVevXLF3Nwc TyBoNJqSoqJN
mzfpgkZoABUIJuzZ46C1qBWLxT9kZyOMgK3btpWVlFY9fGiHs1WpQF8qVTd0 II1mYmrq7uHB
YDLFIlFeTg7CyMh5Ct3GxobBZCqVyrycHPgRjUKhfMjk+tpae/tlBfnsmqqq LbFbiCSSrgUT
j8dL+OgjeFvU2VlWXLzce0VKagq00r303RXop7QvvpzTjRjKYoWyWFWVlX9P T9cWYJWv76Om
ptcHD4ncvmPHn3TqNw1tZ2cHgiASiRR2dJSXlpLJ5JNTuAZpzNBQ/8DAonv3 Dh08uC0uDpoB
Bvr7F9In6vDRI39LS5tUqVis0BSD4sLNxMRk67ZtvObm3t7eB6dPAxoNa/36 BUF7eXnBAixq
QyKR0Rs3wlPeQtqSVpjgJunulnR3/59B19fW3s7O1o6solBGhkf+p6EHBgYc HR1HR0fhCJFE
auPz3zG0DgGkg4Pu7u40Oo3X0gIHXVxceDzeO4aeUYBRhQIAgOqqqsgNkXQG QyScrpJZWVs/
nyowvDPoGQUQdnRAqwMfMtnS0lKhGJ2YmJieXlCoMYVicaHnIUDHkydDQ0PO zs5QZMUK78cC
AbyDm5tbR0eHIaHlcrlMJlugALKhoVYeL2xdGBSJjtnY3t6ufbhA6z8YAFrS LcHj8QsUAGNq
2sThrF6zBtpctmzZQH+/Wq2GNp3x+B5JjyGhBW1tlKnMed4CeHp4jI2PGRsb wxEvLy/p4CCc
ev3883NDQvf09DhMZXv6C7AhOqq1tVVbACfHVzKM6I3RtTU104sKlLFcLjcY 9NOnT6GUE84P
9BEAg0a3NDdrC/BagkwkkSRdXfCmq5tbp1BoGGi5XK79qk9/AbhcroWFhbYA IyPDr3Xu7Oz8
y9AQ9J1CpTZwOIaBbmlu9vbxgTf1F6CB0xAZFaVbgHXh4Y0NDdB3gotLT0+P YaAFAoEXkTj9
BqOpSU8BpNLBIBpN2/s3BfAh+3C1EhkkAgmCoAGg+3r7XFxd4ZIAxgSjjwBK pRKFMgYAwNrG
RocAWCyWQCCMj4/Dz8WRkZGFQqvVamC6ogJ0CoUREe/pI8CLFy+W2dsDAECj 03ULEESnCdra
4FuzqaFxodBymQyBmK7i1dXUUPyo+gjAb22FkmpPIrG2ulqHAFQ/v6rKSliw tqk/MH9oLpcL
J/QgCIIgaGdnp48AFhYW0OIEjUY/f/5chwC2trYgCEI7jI6OYrFmC4Vu4DR4 enrCBYaAwOmq
l24BAgIDJycmTh4/nvHVV5EbInULcCDp4MXz55OTkvi8lt8nJCz0RZFUOghX 4etraxP3fKhd
d4MFKMjPj4iM1BYAhUIdOpwMRV6+fHn29Jk1a9dCAvB5vPUR4dpn8fDw+Oby JcOsp2EBph4r
LwlTVdpFFWCWxP5t9empYZaKxV3klSuhCotqclK7KOrk5FRTXf3DrVuNHA6d QR9XKp2cnaFp
cVgu95iS6tdnp7f3hYyMAjYbhUTs+/hjPd9zzthmeRNQWlIyNq70W70aAICc 27djt8aSli+f
cU9IgM+SkgAAEItEfB7v0wOfLVJaNIsesAAqlUosFuuoCxpWgAWNtEql+sf5 C7yWFiwW+7vd
u5ghIbretnR1ZaSfG5RK165dc+jwYe11s2HbfwHhdzdGEVGLMQAAAABJRU5E rkJggg==
--------------030604080107070407050204
Content-Type: text/java;
name="GroupEditPart.java"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="GroupEditPart.java"
package org.orgml.OrgmlOrganistaion.diagram.edit.parts;
import java.net.URL;
import java.util.Iterator;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.PositionConstants;
import org.eclipse.draw2d.StackLayout;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.EditPolicy;
import org.eclipse.gef.GraphicalEditPart;
import org.eclipse.gef.Request;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.editparts.LayerManager;
import org.eclipse.gef.editpolicies.LayoutEditPolicy;
import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
import org.eclipse.gef.editpolicies.ResizableEditPolicy;
import org.eclipse.gef.requests.CreateRequest;
import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPa rt;
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRo les;
import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbar Layout;
import org.eclipse.gmf.runtime.draw2d.ui.render.RenderedImage;
import org.eclipse.gmf.runtime.draw2d.ui.render.factory.RenderedIma geFactory;
import org.eclipse.gmf.runtime.draw2d.ui.render.figures.ScalableIma geFigure;
import org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure ;
import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure;
import org.eclipse.gmf.runtime.notation.View;
import org.orgml.OrgmlOrganistaion.diagram.edit.policies.GroupItemS emanticEditPolicy;
import org.orgml.OrgmlOrganistaion.diagram.edit.policies.OrgmlOrgan isationExtNodeLabelHostLayoutEditPolicy;
import org.orgml.OrgmlOrganistaion.diagram.part.OrgmlOrganisationDi agramEditorPlugin;
import org.orgml.OrgmlOrganistaion.diagram.part.OrgmlOrganisationVi sualIDRegistry;
/**
* @generated
*/
public class GroupEditPart extends ShapeNodeEditPart {
/**
* @generated
*/
public static final int VISUAL_ID = 2004;
/**
* @generated
*/
protected IFigure contentPane;
/**
* @generated
*/
protected IFigure primaryShape;
/**
* @generated
*/
public GroupEditPart(View view) {
super(view);
}
/**
* @generated
*/
protected void createDefaultEditPolicies() {
super.createDefaultEditPolicies();
installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
new GroupItemSemanticEditPolicy());
installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy());
}
/**
* @generated
*/
protected LayoutEditPolicy createLayoutEditPolicy() {
LayoutEditPolicy lep = new LayoutEditPolicy() {
protected void decorateChild(EditPart child) {
if (isExternalLabel(child)) {
return;
}
super.decorateChild(child);
}
protected EditPolicy createChildEditPolicy(EditPart child) {
EditPolicy result = child
.getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
if (result == null) {
result = new NonResizableEditPolicy();
}
return result;
}
protected Command getMoveChildrenCommand(Request request) {
return null;
}
protected Command getCreateCommand(CreateRequest request) {
return null;
}
};
OrgmlOrganisationExtNodeLabelHostLayoutEditPolicy xlep = new OrgmlOrganisationExtNodeLabelHostLayoutEditPolicy() {
protected boolean isExternalLabel(EditPart editPart) {
return GroupEditPart.this.isExternalLabel(editPart);
}
};
xlep.setRealLayoutEditPolicy(lep);
return xlep;
}
/**
* @generated NOT
*/
protected IFigure createNodeShape() {
return primaryShape = new ScalableImageFigure(getRenderedImage(), true,
true, true);
}
/**
* @generated
*/
public ScalableImageFigure getPrimaryShape() {
return (ScalableImageFigure) primaryShape;
}
/**
* @generated NOT
*/
protected RenderedImage getRenderedImage() {
URL url = null;
url = FileLocator.find(OrgmlOrganisationDiagramEditorPlugin
.getInstance().getBundle(), new Path("icons/nodes/group.png"), null);
return RenderedImageFactory.getInstance(url);
}
/**
* @generated NOT
*/
protected NodeFigure createNodePlate() {
DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(getMapMode()
.DPtoLP(100), getMapMode().DPtoLP(100));
return result;
}
/**
* @generated
*/
public EditPolicy getPrimaryDragEditPolicy() {
ResizableEditPolicy ep = (ResizableEditPolicy) super
.getPrimaryDragEditPolicy();
ep.setResizeDirections(PositionConstants.NONE);
return ep;
}
/**
* Creates figure for this edit part.
*
* Body of this method does not depend on settings in generation model
* so you may safely remove <i>generated</i> tag and modify it.
*
* @generated
*/
protected NodeFigure createNodeFigure() {
NodeFigure figure = createNodePlate();
figure.setLayoutManager(new StackLayout());
IFigure shape = createNodeShape();
figure.add(shape);
contentPane = setupContentPane(shape);
return figure;
}
/**
* Default implementation treats passed figure as content pane.
* Respects layout one may have set for generated figure.
* @param nodeShape instance of generated figure class
* @generated
*/
protected IFigure setupContentPane(IFigure nodeShape) {
if (nodeShape.getLayoutManager() == null) {
ConstrainedToolbarLayout layout = new ConstrainedToolbarLayout();
layout.setSpacing(getMapMode().DPtoLP(5));
nodeShape.setLayoutManager(layout);
}
return nodeShape; // use nodeShape itself as contentPane
}
/**
* @generated
*/
public IFigure getContentPane() {
if (contentPane != null) {
return contentPane;
}
return super.getContentPane();
}
/**
* @generated
*/
public EditPart getPrimaryChildEditPart() {
return getChildBySemanticHint(OrgmlOrganisationVisualIDRegistry
.getType(GroupNameEditPart.VISUAL_ID));
}
/**
* @generated
*/
protected boolean isExternalLabel(EditPart childEditPart) {
if (childEditPart instanceof GroupNameEditPart) {
return true;
}
return false;
}
/**
* @generated
*/
protected IFigure getExternalLabelsContainer() {
LayerManager root = (LayerManager) getRoot();
return root
.getLayer(OrgmlOrganisationEditPartFactory.EXTERNAL_NODE_LAB ELS_LAYER);
}
/**
* @generated
*/
protected void addChildVisual(EditPart childEditPart, int index) {
if (isExternalLabel(childEditPart)) {
IFigure labelFigure = ((GraphicalEditPart) childEditPart)
.getFigure();
getExternalLabelsContainer().add(labelFigure);
return;
}
super.addChildVisual(childEditPart, -1);
}
/**
* @generated
*/
protected void removeChildVisual(EditPart childEditPart) {
if (isExternalLabel(childEditPart)) {
IFigure labelFigure = ((GraphicalEditPart) childEditPart)
.getFigure();
getExternalLabelsContainer().remove(labelFigure);
return;
}
super.removeChildVisual(childEditPart);
}
/**
* @generated
*/
public void removeNotify() {
for (Iterator it = getChildren().iterator(); it.hasNext();) {
EditPart childEditPart = (EditPart) it.next();
if (isExternalLabel(childEditPart)) {
IFigure labelFigure = ((GraphicalEditPart) childEditPart)
.getFigure();
getExternalLabelsContainer().remove(labelFigure);
}
}
super.removeNotify();
}
}
--------------030604080107070407050204
Content-Type: text/java;
name="PositionEditPart.java"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="PositionEditPart.java"
package org.orgml.OrgmlOrganistaion.diagram.edit.parts;
import java.net.URL;
import java.util.Iterator;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.PositionConstants;
import org.eclipse.draw2d.StackLayout;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.EditPolicy;
import org.eclipse.gef.GraphicalEditPart;
import org.eclipse.gef.Request;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.editparts.LayerManager;
import org.eclipse.gef.editpolicies.LayoutEditPolicy;
import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
import org.eclipse.gef.editpolicies.ResizableEditPolicy;
import org.eclipse.gef.requests.CreateRequest;
import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPa rt;
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRo les;
import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbar Layout;
import org.eclipse.gmf.runtime.draw2d.ui.render.RenderedImage;
import org.eclipse.gmf.runtime.draw2d.ui.render.factory.RenderedIma geFactory;
import org.eclipse.gmf.runtime.draw2d.ui.render.figures.ScalableIma geFigure;
import org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure ;
import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure;
import org.eclipse.gmf.runtime.notation.View;
import org.orgml.OrgmlOrganistaion.diagram.edit.policies.OrgmlOrgan isationExtNodeLabelHostLayoutEditPolicy;
import org.orgml.OrgmlOrganistaion.diagram.edit.policies.PositionIt emSemanticEditPolicy;
import org.orgml.OrgmlOrganistaion.diagram.part.OrgmlOrganisationDi agramEditorPlugin;
import org.orgml.OrgmlOrganistaion.diagram.part.OrgmlOrganisationVi sualIDRegistry;
/**
* @generated
*/
public class PositionEditPart extends ShapeNodeEditPart {
/**
* @generated
*/
public static final int VISUAL_ID = 2003;
/**
* @generated
*/
protected IFigure contentPane;
/**
* @generated
*/
protected IFigure primaryShape;
/**
* @generated
*/
public PositionEditPart(View view) {
super(view);
}
/**
* @generated
*/
protected void createDefaultEditPolicies() {
super.createDefaultEditPolicies();
installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
new PositionItemSemanticEditPolicy());
installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy());
}
/**
* @generated
*/
protected LayoutEditPolicy createLayoutEditPolicy() {
LayoutEditPolicy lep = new LayoutEditPolicy() {
protected void decorateChild(EditPart child) {
if (isExternalLabel(child)) {
return;
}
super.decorateChild(child);
}
protected EditPolicy createChildEditPolicy(EditPart child) {
EditPolicy result = child
.getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
if (result == null) {
result = new NonResizableEditPolicy();
}
return result;
}
protected Command getMoveChildrenCommand(Request request) {
return null;
}
protected Command getCreateCommand(CreateRequest request) {
return null;
}
};
OrgmlOrganisationExtNodeLabelHostLayoutEditPolicy xlep = new OrgmlOrganisationExtNodeLabelHostLayoutEditPolicy() {
protected boolean isExternalLabel(EditPart editPart) {
return PositionEditPart.this.isExternalLabel(editPart);
}
};
xlep.setRealLayoutEditPolicy(lep);
return xlep;
}
/**
* @generated NOT
*/
protected IFigure createNodeShape() {
return primaryShape = new ScalableImageFigure(getRenderedImage(), true,
true, true);
}
/**
* @generated
*/
public ScalableImageFigure getPrimaryShape() {
return (ScalableImageFigure) primaryShape;
}
/**
* @generated NOT
*/
protected RenderedImage getRenderedImage() {
URL url = null;
url = FileLocator.find(OrgmlOrganisationDiagramEditorPlugin
.getInstance().getBundle(), new Path("icons/nodes/position.png"), null);
return RenderedImageFactory.getInstance(url);
}
/**
* @generated NOT
*/
protected NodeFigure createNodePlate() {
DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(getMapMode()
.DPtoLP(48), getMapMode().DPtoLP(40));
return result;
}
/**
* @generated
*/
public EditPolicy getPrimaryDragEditPolicy() {
ResizableEditPolicy ep = (ResizableEditPolicy) super
.getPrimaryDragEditPolicy();
ep.setResizeDirections(PositionConstants.NONE);
return ep;
}
/**
* Creates figure for this edit part.
*
* Body of this method does not depend on settings in generation model
* so you may safely remove <i>generated</i> tag and modify it.
*
* @generated
*/
protected NodeFigure createNodeFigure() {
NodeFigure figure = createNodePlate();
figure.setLayoutManager(new StackLayout());
IFigure shape = createNodeShape();
figure.add(shape);
contentPane = setupContentPane(shape);
return figure;
}
/**
* Default implementation treats passed figure as content pane.
* Respects layout one may have set for generated figure.
* @param nodeShape instance of generated figure class
* @generated
*/
protected IFigure setupContentPane(IFigure nodeShape) {
if (nodeShape.getLayoutManager() == null) {
ConstrainedToolbarLayout layout = new ConstrainedToolbarLayout();
layout.setSpacing(getMapMode().DPtoLP(5));
nodeShape.setLayoutManager(layout);
}
return nodeShape; // use nodeShape itself as contentPane
}
/**
* @generated
*/
public IFigure getContentPane() {
if (contentPane != null) {
return contentPane;
}
return super.getContentPane();
}
/**
* @generated
*/
public EditPart getPrimaryChildEditPart() {
return getChildBySemanticHint(OrgmlOrganisationVisualIDRegistry
.getType(PositionNameEditPart.VISUAL_ID));
}
/**
* @generated
*/
protected boolean isExternalLabel(EditPart childEditPart) {
if (childEditPart instanceof PositionNameEditPart) {
return true;
}
return false;
}
/**
* @generated
*/
protected IFigure getExternalLabelsContainer() {
LayerManager root = (LayerManager) getRoot();
return root
.getLayer(OrgmlOrganisationEditPartFactory.EXTERNAL_NODE_LAB ELS_LAYER);
}
/**
* @generated
*/
protected void addChildVisual(EditPart childEditPart, int index) {
if (isExternalLabel(childEditPart)) {
IFigure labelFigure = ((GraphicalEditPart) childEditPart)
.getFigure();
getExternalLabelsContainer().add(labelFigure);
return;
}
super.addChildVisual(childEditPart, -1);
}
/**
* @generated
*/
protected void removeChildVisual(EditPart childEditPart) {
if (isExternalLabel(childEditPart)) {
IFigure labelFigure = ((GraphicalEditPart) childEditPart)
.getFigure();
getExternalLabelsContainer().remove(labelFigure);
return;
}
super.removeChildVisual(childEditPart);
}
/**
* @generated
*/
public void removeNotify() {
for (Iterator it = getChildren().iterator(); it.hasNext();) {
EditPart childEditPart = (EditPart) it.next();
if (isExternalLabel(childEditPart)) {
IFigure labelFigure = ((GraphicalEditPart) childEditPart)
.getFigure();
getExternalLabelsContainer().remove(labelFigure);
}
}
super.removeNotify();
}
}
--------------030604080107070407050204--
|
|
|
Re: ScalableImageFigure / PNG not showing [message #80994 is a reply to message #77409] |
Mon, 27 November 2006 05:07  |
Eclipse User |
|
|
|
Originally posted by: dikvanleeuwen.wanado.nl
Jan,
I also needed this functionality, so I tried out your mechanism, and also
got the same error.
Then I tried it with ImageFigure instead of ScalableImageFigure, and this
works fine.
I use jpg files, since I found them look the best. (after also having tried
gif and png)
Kind regards,
Dik van Leeuwen
"Jan Herriger" <jan.herriger@gmx.de> schreef in bericht
news:ejchp5$l9h$1@utils.eclipse.org...
> Hi,
>
> I created two edit parts: PositionEditPart, GroupEditPart (see
> attachment). The edit parts are using ScalableImageFigures as their
> primay shapes.
>
> position.png is diplayed correctly. But group.png isn't displayed at all
> (there is just a white box showing up).
>
> Do you know about restrictions/problems regarding ScalableImageFigure
> and PNG files?
>
> Best regards
> Jan
>
------------------------------------------------------------ --------------------
> package org.orgml.OrgmlOrganistaion.diagram.edit.parts;
>
> import java.net.URL;
> import java.util.Iterator;
>
> import org.eclipse.core.runtime.FileLocator;
> import org.eclipse.core.runtime.Path;
> import org.eclipse.draw2d.IFigure;
> import org.eclipse.draw2d.PositionConstants;
> import org.eclipse.draw2d.StackLayout;
>
> import org.eclipse.gef.EditPart;
> import org.eclipse.gef.EditPolicy;
> import org.eclipse.gef.GraphicalEditPart;
> import org.eclipse.gef.Request;
>
> import org.eclipse.gef.commands.Command;
>
> import org.eclipse.gef.editparts.LayerManager;
>
> import org.eclipse.gef.editpolicies.LayoutEditPolicy;
> import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
> import org.eclipse.gef.editpolicies.ResizableEditPolicy;
>
> import org.eclipse.gef.requests.CreateRequest;
>
> import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPa rt;
>
> import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRo les;
>
> import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbar Layout;
>
> import org.eclipse.gmf.runtime.draw2d.ui.render.RenderedImage;
> import
> org.eclipse.gmf.runtime.draw2d.ui.render.factory.RenderedIma geFactory;
> import
> org.eclipse.gmf.runtime.draw2d.ui.render.figures.ScalableIma geFigure;
>
> import org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure ;
> import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure;
>
> import org.eclipse.gmf.runtime.notation.View;
>
> import
> org.orgml.OrgmlOrganistaion.diagram.edit.policies.GroupItemS emanticEditPolicy;
> import
> org.orgml.OrgmlOrganistaion.diagram.edit.policies.OrgmlOrgan isationExtNodeLabelHostLayoutEditPolicy;
>
> import
> org.orgml.OrgmlOrganistaion.diagram.part.OrgmlOrganisationDi agramEditorPlugin;
> import
> org.orgml.OrgmlOrganistaion.diagram.part.OrgmlOrganisationVi sualIDRegistry;
>
> /**
> * @generated
> */
> public class GroupEditPart extends ShapeNodeEditPart {
>
> /**
> * @generated
> */
> public static final int VISUAL_ID = 2004;
>
> /**
> * @generated
> */
> protected IFigure contentPane;
>
> /**
> * @generated
> */
> protected IFigure primaryShape;
>
> /**
> * @generated
> */
> public GroupEditPart(View view) {
> super(view);
> }
>
> /**
> * @generated
> */
> protected void createDefaultEditPolicies() {
> super.createDefaultEditPolicies();
> installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
> new GroupItemSemanticEditPolicy());
> installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy());
>
> }
>
> /**
> * @generated
> */
> protected LayoutEditPolicy createLayoutEditPolicy() {
> LayoutEditPolicy lep = new LayoutEditPolicy() {
>
> protected void decorateChild(EditPart child) {
> if (isExternalLabel(child)) {
> return;
> }
> super.decorateChild(child);
> }
>
> protected EditPolicy createChildEditPolicy(EditPart child) {
> EditPolicy result = child
> .getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
> if (result == null) {
> result = new NonResizableEditPolicy();
> }
> return result;
> }
>
> protected Command getMoveChildrenCommand(Request request) {
> return null;
> }
>
> protected Command getCreateCommand(CreateRequest request) {
> return null;
> }
> };
> OrgmlOrganisationExtNodeLabelHostLayoutEditPolicy xlep = new
> OrgmlOrganisationExtNodeLabelHostLayoutEditPolicy() {
>
> protected boolean isExternalLabel(EditPart editPart) {
> return GroupEditPart.this.isExternalLabel(editPart);
> }
> };
> xlep.setRealLayoutEditPolicy(lep);
> return xlep;
> }
>
> /**
> * @generated NOT
> */
> protected IFigure createNodeShape() {
> return primaryShape = new ScalableImageFigure(getRenderedImage(), true,
> true, true);
> }
>
> /**
> * @generated
> */
> public ScalableImageFigure getPrimaryShape() {
> return (ScalableImageFigure) primaryShape;
> }
>
> /**
> * @generated NOT
> */
> protected RenderedImage getRenderedImage() {
> URL url = null;
> url = FileLocator.find(OrgmlOrganisationDiagramEditorPlugin
> .getInstance().getBundle(), new Path("icons/nodes/group.png"), null);
> return RenderedImageFactory.getInstance(url);
> }
>
> /**
> * @generated NOT
> */
> protected NodeFigure createNodePlate() {
> DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(getMapMode()
> .DPtoLP(100), getMapMode().DPtoLP(100));
> return result;
> }
>
> /**
> * @generated
> */
> public EditPolicy getPrimaryDragEditPolicy() {
> ResizableEditPolicy ep = (ResizableEditPolicy) super
> .getPrimaryDragEditPolicy();
>
> ep.setResizeDirections(PositionConstants.NONE);
>
> return ep;
> }
>
> /**
> * Creates figure for this edit part.
> *
> * Body of this method does not depend on settings in generation model
> * so you may safely remove <i>generated</i> tag and modify it.
> *
> * @generated
> */
> protected NodeFigure createNodeFigure() {
> NodeFigure figure = createNodePlate();
> figure.setLayoutManager(new StackLayout());
> IFigure shape = createNodeShape();
> figure.add(shape);
> contentPane = setupContentPane(shape);
> return figure;
> }
>
> /**
> * Default implementation treats passed figure as content pane.
> * Respects layout one may have set for generated figure.
> * @param nodeShape instance of generated figure class
> * @generated
> */
> protected IFigure setupContentPane(IFigure nodeShape) {
> if (nodeShape.getLayoutManager() == null) {
> ConstrainedToolbarLayout layout = new ConstrainedToolbarLayout();
> layout.setSpacing(getMapMode().DPtoLP(5));
> nodeShape.setLayoutManager(layout);
> }
> return nodeShape; // use nodeShape itself as contentPane
> }
>
> /**
> * @generated
> */
> public IFigure getContentPane() {
> if (contentPane != null) {
> return contentPane;
> }
> return super.getContentPane();
> }
>
> /**
> * @generated
> */
> public EditPart getPrimaryChildEditPart() {
> return getChildBySemanticHint(OrgmlOrganisationVisualIDRegistry
> .getType(GroupNameEditPart.VISUAL_ID));
> }
>
> /**
> * @generated
> */
> protected boolean isExternalLabel(EditPart childEditPart) {
> if (childEditPart instanceof GroupNameEditPart) {
> return true;
> }
> return false;
> }
>
> /**
> * @generated
> */
> protected IFigure getExternalLabelsContainer() {
> LayerManager root = (LayerManager) getRoot();
> return root
> .getLayer(OrgmlOrganisationEditPartFactory.EXTERNAL_NODE_LAB ELS_LAYER);
> }
>
> /**
> * @generated
> */
> protected void addChildVisual(EditPart childEditPart, int index) {
> if (isExternalLabel(childEditPart)) {
> IFigure labelFigure = ((GraphicalEditPart) childEditPart)
> .getFigure();
> getExternalLabelsContainer().add(labelFigure);
> return;
> }
> super.addChildVisual(childEditPart, -1);
> }
>
> /**
> * @generated
> */
> protected void removeChildVisual(EditPart childEditPart) {
> if (isExternalLabel(childEditPart)) {
> IFigure labelFigure = ((GraphicalEditPart) childEditPart)
> .getFigure();
> getExternalLabelsContainer().remove(labelFigure);
> return;
> }
> super.removeChildVisual(childEditPart);
> }
>
> /**
> * @generated
> */
> public void removeNotify() {
> for (Iterator it = getChildren().iterator(); it.hasNext();) {
> EditPart childEditPart = (EditPart) it.next();
> if (isExternalLabel(childEditPart)) {
> IFigure labelFigure = ((GraphicalEditPart) childEditPart)
> .getFigure();
> getExternalLabelsContainer().remove(labelFigure);
> }
> }
> super.removeNotify();
> }
>
> }
>
------------------------------------------------------------ --------------------
> package org.orgml.OrgmlOrganistaion.diagram.edit.parts;
>
> import java.net.URL;
> import java.util.Iterator;
>
> import org.eclipse.core.runtime.FileLocator;
> import org.eclipse.core.runtime.Path;
> import org.eclipse.draw2d.IFigure;
> import org.eclipse.draw2d.PositionConstants;
> import org.eclipse.draw2d.StackLayout;
>
> import org.eclipse.gef.EditPart;
> import org.eclipse.gef.EditPolicy;
> import org.eclipse.gef.GraphicalEditPart;
> import org.eclipse.gef.Request;
>
> import org.eclipse.gef.commands.Command;
>
> import org.eclipse.gef.editparts.LayerManager;
>
> import org.eclipse.gef.editpolicies.LayoutEditPolicy;
> import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
> import org.eclipse.gef.editpolicies.ResizableEditPolicy;
>
> import org.eclipse.gef.requests.CreateRequest;
>
> import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPa rt;
>
> import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRo les;
>
> import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbar Layout;
>
> import org.eclipse.gmf.runtime.draw2d.ui.render.RenderedImage;
> import
> org.eclipse.gmf.runtime.draw2d.ui.render.factory.RenderedIma geFactory;
> import
> org.eclipse.gmf.runtime.draw2d.ui.render.figures.ScalableIma geFigure;
>
> import org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure ;
> import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure;
>
> import org.eclipse.gmf.runtime.notation.View;
>
> import
> org.orgml.OrgmlOrganistaion.diagram.edit.policies.OrgmlOrgan isationExtNodeLabelHostLayoutEditPolicy;
> import
> org.orgml.OrgmlOrganistaion.diagram.edit.policies.PositionIt emSemanticEditPolicy;
>
> import
> org.orgml.OrgmlOrganistaion.diagram.part.OrgmlOrganisationDi agramEditorPlugin;
> import
> org.orgml.OrgmlOrganistaion.diagram.part.OrgmlOrganisationVi sualIDRegistry;
>
> /**
> * @generated
> */
> public class PositionEditPart extends ShapeNodeEditPart {
>
> /**
> * @generated
> */
> public static final int VISUAL_ID = 2003;
>
> /**
> * @generated
> */
> protected IFigure contentPane;
>
> /**
> * @generated
> */
> protected IFigure primaryShape;
>
> /**
> * @generated
> */
> public PositionEditPart(View view) {
> super(view);
> }
>
> /**
> * @generated
> */
> protected void createDefaultEditPolicies() {
> super.createDefaultEditPolicies();
> installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
> new PositionItemSemanticEditPolicy());
> installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy());
>
> }
>
> /**
> * @generated
> */
> protected LayoutEditPolicy createLayoutEditPolicy() {
> LayoutEditPolicy lep = new LayoutEditPolicy() {
>
> protected void decorateChild(EditPart child) {
> if (isExternalLabel(child)) {
> return;
> }
> super.decorateChild(child);
> }
>
> protected EditPolicy createChildEditPolicy(EditPart child) {
> EditPolicy result = child
> .getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
> if (result == null) {
> result = new NonResizableEditPolicy();
> }
> return result;
> }
>
> protected Command getMoveChildrenCommand(Request request) {
> return null;
> }
>
> protected Command getCreateCommand(CreateRequest request) {
> return null;
> }
> };
> OrgmlOrganisationExtNodeLabelHostLayoutEditPolicy xlep = new
> OrgmlOrganisationExtNodeLabelHostLayoutEditPolicy() {
>
> protected boolean isExternalLabel(EditPart editPart) {
> return PositionEditPart.this.isExternalLabel(editPart);
> }
> };
> xlep.setRealLayoutEditPolicy(lep);
> return xlep;
> }
>
> /**
> * @generated NOT
> */
> protected IFigure createNodeShape() {
> return primaryShape = new ScalableImageFigure(getRenderedImage(), true,
> true, true);
> }
>
> /**
> * @generated
> */
> public ScalableImageFigure getPrimaryShape() {
> return (ScalableImageFigure) primaryShape;
> }
>
> /**
> * @generated NOT
> */
> protected RenderedImage getRenderedImage() {
> URL url = null;
> url = FileLocator.find(OrgmlOrganisationDiagramEditorPlugin
> .getInstance().getBundle(), new Path("icons/nodes/position.png"), null);
> return RenderedImageFactory.getInstance(url);
> }
>
> /**
> * @generated NOT
> */
> protected NodeFigure createNodePlate() {
> DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(getMapMode()
> .DPtoLP(48), getMapMode().DPtoLP(40));
> return result;
> }
>
> /**
> * @generated
> */
> public EditPolicy getPrimaryDragEditPolicy() {
> ResizableEditPolicy ep = (ResizableEditPolicy) super
> .getPrimaryDragEditPolicy();
>
> ep.setResizeDirections(PositionConstants.NONE);
>
> return ep;
> }
>
> /**
> * Creates figure for this edit part.
> *
> * Body of this method does not depend on settings in generation model
> * so you may safely remove <i>generated</i> tag and modify it.
> *
> * @generated
> */
> protected NodeFigure createNodeFigure() {
> NodeFigure figure = createNodePlate();
> figure.setLayoutManager(new StackLayout());
> IFigure shape = createNodeShape();
> figure.add(shape);
> contentPane = setupContentPane(shape);
> return figure;
> }
>
> /**
> * Default implementation treats passed figure as content pane.
> * Respects layout one may have set for generated figure.
> * @param nodeShape instance of generated figure class
> * @generated
> */
> protected IFigure setupContentPane(IFigure nodeShape) {
> if (nodeShape.getLayoutManager() == null) {
> ConstrainedToolbarLayout layout = new ConstrainedToolbarLayout();
> layout.setSpacing(getMapMode().DPtoLP(5));
> nodeShape.setLayoutManager(layout);
> }
> return nodeShape; // use nodeShape itself as contentPane
> }
>
> /**
> * @generated
> */
> public IFigure getContentPane() {
> if (contentPane != null) {
> return contentPane;
> }
> return super.getContentPane();
> }
>
> /**
> * @generated
> */
> public EditPart getPrimaryChildEditPart() {
> return getChildBySemanticHint(OrgmlOrganisationVisualIDRegistry
> .getType(PositionNameEditPart.VISUAL_ID));
> }
>
> /**
> * @generated
> */
> protected boolean isExternalLabel(EditPart childEditPart) {
> if (childEditPart instanceof PositionNameEditPart) {
> return true;
> }
> return false;
> }
>
> /**
> * @generated
> */
> protected IFigure getExternalLabelsContainer() {
> LayerManager root = (LayerManager) getRoot();
> return root
> .getLayer(OrgmlOrganisationEditPartFactory.EXTERNAL_NODE_LAB ELS_LAYER);
> }
>
> /**
> * @generated
> */
> protected void addChildVisual(EditPart childEditPart, int index) {
> if (isExternalLabel(childEditPart)) {
> IFigure labelFigure = ((GraphicalEditPart) childEditPart)
> .getFigure();
> getExternalLabelsContainer().add(labelFigure);
> return;
> }
> super.addChildVisual(childEditPart, -1);
> }
>
> /**
> * @generated
> */
> protected void removeChildVisual(EditPart childEditPart) {
> if (isExternalLabel(childEditPart)) {
> IFigure labelFigure = ((GraphicalEditPart) childEditPart)
> .getFigure();
> getExternalLabelsContainer().remove(labelFigure);
> return;
> }
> super.removeChildVisual(childEditPart);
> }
>
> /**
> * @generated
> */
> public void removeNotify() {
> for (Iterator it = getChildren().iterator(); it.hasNext();) {
> EditPart childEditPart = (EditPart) it.next();
> if (isExternalLabel(childEditPart)) {
> IFigure labelFigure = ((GraphicalEditPart) childEditPart)
> .getFigure();
> getExternalLabelsContainer().remove(labelFigure);
> }
> }
> super.removeNotify();
> }
>
> }
>
|
|
|
Goto Forum:
Current Time: Mon May 12 00:52:07 EDT 2025
Powered by FUDForum. Page generated in 0.04838 seconds
|