Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc) » [EMF Forms] How do i integrate into Properties View
|
Re: [EMF Forms] How do i integrate into Properties View [message #1587672 is a reply to message #1587431] |
Tue, 27 January 2015 13:44 |
|
Here is what i've got so far but i hoped to find something generic
public class AbstractPropertySection4 extends AbstractPropertySection {
private Composite container;
@Override
public void createControls(Composite parent, TabbedPropertySheetPage atabbedPropertySheetPage) {
final GridData parentData = new GridData(SWT.FILL, SWT.FILL, true, true);
parent.setLayout(new GridLayout(1, true));
parent.setLayoutData(parentData);
super.createControls(parent, atabbedPropertySheetPage);
final Composite composite = new Composite(parent, SWT.FILL);
composite.setLayout(new GridLayout(1, true));
composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
final ScrolledComposite scrolledComposite = new ScrolledComposite(composite, SWT.V_SCROLL | SWT.H_SCROLL);
scrolledComposite.setShowFocusedControl(true);
scrolledComposite.setExpandVertical(true);
scrolledComposite.setExpandHorizontal(true);
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).applyTo(scrolledComposite);
scrolledComposite.setLayout(GridLayoutFactory.fillDefaults().create());
scrolledComposite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
container = new Composite(scrolledComposite, SWT.FILL);
final GridLayout containerLayout = GridLayoutFactory.fillDefaults().create();
containerLayout.marginLeft = 10;
containerLayout.marginRight = 10;
container.setLayout(containerLayout);
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).applyTo(container);
container.setBackground(scrolledComposite.getBackground());
scrolledComposite.setContent(container);
container.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
// super.paintControl(e);
final Point point = container.computeSize(SWT.DEFAULT, SWT.DEFAULT);
scrolledComposite.setMinSize(point);
container.layout(true);
scrolledComposite.layout(true);
}
});
container.addControlListener(new ControlListener() {
@Override
public void controlResized(ControlEvent e) {
final Point point = container.computeSize(SWT.DEFAULT, SWT.DEFAULT);
scrolledComposite.setMinSize(point);
container.layout(true);
scrolledComposite.layout(true);
}
@Override
public void controlMoved(ControlEvent e) {
final Point point = container.computeSize(SWT.DEFAULT, SWT.DEFAULT);
scrolledComposite.setMinSize(point);
container.layout(true);
scrolledComposite.layout(true);
}
});
}
@Override
public void setInput(IWorkbenchPart part, ISelection selection) {
super.setInput(part, selection);
if (selection instanceof IStructuredSelection) {
final Object firstElement = ((IStructuredSelection) selection).getFirstElement();
if (firstElement instanceof EObject) {
try {
for (final Control control : container.getChildren()) {
control.dispose();
}
final ECPSWTView view = ECPSWTViewRenderer.INSTANCE.render(container, (EObject) firstElement);
} catch (final ECPRendererException ex) {
ex.printStackTrace();
}
}
}
}
}
Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
|
|
|
Re: [EMF Forms] How do i integrate into Properties View [message #1587806 is a reply to message #1587672] |
Tue, 27 January 2015 15:17 |
Jonas Helming Messages: 699 Registered: July 2009 |
Senior Member |
|
|
Hi Christian,
what exactly do you mean by "something generic"?
Best regards
Jonas
Am 27.01.2015 um 14:44 schrieb Christian Dietrich:
> Here is what i've got so far but i hoped to find something generic
>
>
> public class AbstractPropertySection4 extends AbstractPropertySection {
>
> private Composite container;
>
> @Override
> public void createControls(Composite parent, TabbedPropertySheetPage
> atabbedPropertySheetPage) {
> final GridData parentData = new GridData(SWT.FILL, SWT.FILL,
> true, true);
> parent.setLayout(new GridLayout(1, true));
> parent.setLayoutData(parentData);
> super.createControls(parent, atabbedPropertySheetPage);
> final Composite composite = new Composite(parent, SWT.FILL);
> composite.setLayout(new GridLayout(1, true));
> composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
> true));
>
> final ScrolledComposite scrolledComposite = new
> ScrolledComposite(composite, SWT.V_SCROLL | SWT.H_SCROLL);
> scrolledComposite.setShowFocusedControl(true);
> scrolledComposite.setExpandVertical(true);
> scrolledComposite.setExpandHorizontal(true);
> GridDataFactory.fillDefaults().align(SWT.FILL,
> SWT.FILL).grab(true, true).applyTo(scrolledComposite);
>
> scrolledComposite.setLayout(GridLayoutFactory.fillDefaults().create());
>
> scrolledComposite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
>
>
> container = new Composite(scrolledComposite, SWT.FILL);
> final GridLayout containerLayout =
> GridLayoutFactory.fillDefaults().create();
> containerLayout.marginLeft = 10;
> containerLayout.marginRight = 10;
> container.setLayout(containerLayout);
>
> GridDataFactory.fillDefaults().align(SWT.FILL,
> SWT.FILL).grab(true, true).applyTo(container);
> container.setBackground(scrolledComposite.getBackground());
> scrolledComposite.setContent(container);
> container.addPaintListener(new PaintListener() {
>
> @Override
> public void paintControl(PaintEvent e) {
> // super.paintControl(e);
> final Point point = container.computeSize(SWT.DEFAULT,
> SWT.DEFAULT);
> scrolledComposite.setMinSize(point);
> container.layout(true);
> scrolledComposite.layout(true);
>
> }
> });
> container.addControlListener(new ControlListener() {
>
> @Override
> public void controlResized(ControlEvent e) {
> final Point point = container.computeSize(SWT.DEFAULT,
> SWT.DEFAULT);
> scrolledComposite.setMinSize(point);
> container.layout(true);
> scrolledComposite.layout(true);
>
> }
>
> @Override
> public void controlMoved(ControlEvent e) {
> final Point point = container.computeSize(SWT.DEFAULT,
> SWT.DEFAULT);
> scrolledComposite.setMinSize(point);
> container.layout(true);
> scrolledComposite.layout(true);
> }
> });
>
> }
>
> @Override
> public void setInput(IWorkbenchPart part, ISelection selection) {
> super.setInput(part, selection);
> if (selection instanceof IStructuredSelection) {
> final Object firstElement = ((IStructuredSelection)
> selection).getFirstElement();
> if (firstElement instanceof EObject) {
> try {
> for (final Control control : container.getChildren()) {
> control.dispose();
> }
> final ECPSWTView view =
> ECPSWTViewRenderer.INSTANCE.render(container, (EObject) firstElement);
> } catch (final ECPRendererException ex) {
> ex.printStackTrace();
> }
> }
> }
>
> }
> }
>
--
Get professional Eclipse developer support:
http://eclipsesource.com/en/services/developer-support/
|
|
| | | |
Goto Forum:
Current Time: Tue Apr 23 15:25:01 GMT 2024
Powered by FUDForum. Page generated in 0.03155 seconds
|