Closed GoogleCodeExporter closed 8 years ago
Reproduced, only
element_2.setBackground(gaService.manageColor(diagram, new ColorConstant(192, 192, 192)));
is generated inside TabShape.java although font-color has been specified in
Shape DSL file.
As workaround you can put the other style information pieces inside the
TabStyle that is referenced at the rectangle. This will be then applied to the
contained text, too, as the styles are applied to all contained elements, see
generated TabShape.java:
ISprayStyle style_2 = new sketch.diagram.styles.TabStyle();
element_2.setStyle(style_2.getStyle(diagram));
gaService.setLocationAndSize(element_2, 0, 20, 600, 400);
SprayLayoutService.setLayoutData(shape_2, 600, 400, true);
element_2.setBackground(gaService.manageColor(diagram, new ColorConstant(192, 192, 192)));
Original comment by de.abg.r...@gmail.com
on 7 Apr 2013 at 2:01
set priority to low as there is work around with using the referenced style
Original comment by de.abg.r...@gmail.com
on 7 Apr 2013 at 2:02
Hi,
I tried with the StyleFile to style the text, but nothing is changed. Thats why
I tried to change it directly in the shape-file.
I have another question, are there anyway to modified the generated
ShapeFile-Class?
E.g. I want to use Images in this shape, and I modified the genareted ShapeFile
programmatically. I add this part to the class.
Image backgroundImg = gaService.createImage(shape_2, SketchflowImageProvider.TAB_CALENDAR);
backgroundImg.setFilled(true);
backgroundImg.setStretchH(true);
backgroundImg.setStretchV(true);
gaService.setLocationAndSize(backgroundImg, 0, 0, 600, 420);
But each time I make changes in the Shape-File, the generated-shape-file will
delete this source code part. Are there anyway to move this class like
"Features" to the src folder? Or how can I add this ImagePart to SourceCode
automatically by generating?
Is Spray going to support Images in the Shape-Editor?
best regards,
dowbar
Original comment by dowbar2...@googlemail.com
on 8 Apr 2013 at 8:51
Do you see the style properties used for the text in the generated Java style
file?
The image support is tracked in issue #121 and to support generation gap
pattern also for Shape and Style classes is tracked in issue #185.
Original comment by de.abg.r...@gmail.com
on 11 Apr 2013 at 7:30
Yes I see the style setting in the generated shape file.
It was setted in the method:
/**
* This method returns the font color for the style.
* The font color will be returned separated, because Graphiti allows just the foreground color.
* The foreground color will be used for lines and fonts at the same time.
*/
@Override
public Color getFontColor(Diagram diagram) {
IGaService gaService = Graphiti.getGaService();
return gaService.manageColor(diagram, IColorConstant.WHITE);
}
best regards,
dowbar
Original comment by dowbar2...@googlemail.com
on 12 Apr 2013 at 10:25
Attachments:
Ok, had a look inside the Shape / Style generator: When styling text you have
to provide all of
* fontName = [name]
* fontSize = [number]
* italic = [yes|no]
* bold = [yes|no]
otherwise nothing is applied.
This should be changed in a way, that when there is no value specified some
default value is used instead.
Original comment by de.abg.r...@gmail.com
on 12 Apr 2013 at 2:40
text {
align (horizontal=center, vertical=middle)
position (x=0, y=0)
size (width=600, height=20)
style (background-color=blue font-name="Arial" font-size=12 font-italic=no font-bold=yes)
id = tabID
}
-->
{
Style style = element_2.getStyle();
String fontName = "Arial";
int fontSize = 12;
boolean fontItalic = false;
boolean fontBold = true;
style.setFont(gaService.manageFont(diagram, fontName, fontSize, fontItalic, fontBold));
}
Original comment by de.abg.r...@gmail.com
on 12 Apr 2013 at 2:48
Why doesn't it work if I want to make the background of the text and rectangle
transparent? I only want to show the label without background in other
rectangles. Is it possible? When I try this, I got this issue
NullPointerException:
!ENTRY org.eclipse.graphiti.ui 4 0 2013-04-13 00:15:55.646
!MESSAGE GFCommandStack.execute(Command) java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
at org.eclipse.graphiti.services.impl.GaServiceImpl.manageColor(GaServiceImpl.java:1479)
at demo.scas.sketchflow.spray.shapes.LabelShape.getShape(LabelShape.java:82)
at demo.scas.sketchflow.spray.features.SketchflowAddLabelFeatureBase.add(SketchflowAddLabelFeatureBase.java:91)
at org.eclipse.graphiti.internal.command.AddFeatureCommandWithContext.execute(AddFeatureCommandWithContext.java:76)
at org.eclipse.graphiti.ui.internal.command.GefCommandWrapper.execute(GefCommandWrapper.java:51)
at org.eclipse.graphiti.ui.internal.editor.EmfOnGefCommand.execute(EmfOnGefCommand.java:54)
at org.eclipse.graphiti.internal.command.GFPreparableCommand2.doExecute(GFPreparableCommand2.java:37)
at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135)
The shape style is defined:
shape LabelShape {
rectangle style LabelStyle {
position (x=0, y=0)
size (width=60, height=25)
style(background-color=transparent)
text {
align (horizontal=center, vertical=middle)
position (x=0, y=0)
size (width=60, height=25)
style (background-color=transparent font-color=black font-name="Arial" font-size=12 font-italic=no font-bold=yes)
id = labelID
}
}
}
But the generated style code contains a line with:
Shape shape_2 = peCreateService.createShape(shape_1, false);
SprayLayoutService.setId(shape_2, "LabelShape.shape_2");
Text element_2 = gaService.createPlainText(shape_2);
ISprayStyle style_2 = style_1;
element_2.setStyle(style_2.getStyle(diagram));
gaService.setLocationAndSize(element_2, 0, 0, 60, 25);
SprayLayoutService.setLayoutData(shape_2, 60, 25, true);
element_2.setHorizontalAlignment(Orientation.ALIGNMENT_CENTER);
element_2.setVerticalAlignment(Orientation.ALIGNMENT_MIDDLE);
peService.setPropertyValue(element_2, ISprayConstants.TEXT_ID, TextIds.labelID.name());
peService.setPropertyValue(shape_2, ISprayConstants.TEXT_ID, TextIds.labelID.name());
element_2.setValue("");
element_2.setBackground(gaService.manageColor(diagram, null));
{
Style style = element_2.getStyle();
String fontName = "Arial";
int fontSize = 12;
boolean fontItalic = false;
boolean fontBold = true;
style.setFont(gaService.manageFont(diagram, fontName, fontSize, fontItalic, fontBold));
}
Is the line with "element_2.setBackground(gaService.manageColor(diagram,
null))" setting the background transparent?
Thank you very much for responding.
best regards,
dowbar
Original comment by dowbar2...@googlemail.com
on 12 Apr 2013 at 10:21
Hi,
I think you are right, when I style this text with the spray.style file it
works fine.
Thank you very much for supporting.
best regard,
dowbar
Original comment by dowbar2...@googlemail.com
on 13 Apr 2013 at 7:22
This issue was closed by revision eb0f4f2db0dc.
Original comment by de.abg.r...@gmail.com
on 20 May 2013 at 1:04
This issue was closed by revision eb0f4f2db0dc.
Original comment by karsten....@googlemail.com
on 5 Jun 2013 at 8:23
Original issue reported on code.google.com by
dowbar2...@googlemail.com
on 4 Apr 2013 at 8:49