Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » GEF » GEF in ViewPart, TableWrapLayout
GEF in ViewPart, TableWrapLayout [message #197095] Thu, 29 September 2005 15:40 Go to next message
Eclipse UserFriend
Originally posted by: radicr.stop.spam.gmail.com

Hello,

I have new problem in my application.
I have ViewPart, and inside this viewPart i need to add GraphicalViewer that
will hold some objects from the model. I have model, EditPart and in
createControle(Composite parent) method of the ViewPart i initialize
graphicalView.

public void createPartControl(Composite parent) {
graphicalViewer = new ScrollingGraphicalViewer();

controlViewer = (FigureCanvas)graphicalViewer.createControl(parent);
ScalableFreeformRootEditPart root = new ScalableFreeformRootEditPart();
graphicalViewer.setRootEditPart(root);
graphicalViewer.setEditDomain(new EditDomain());
graphicalViewer.setEditPartFactory(new MeasureItemsEditPartFactory());
graphicalViewer.setContents(device);
ContextMenuProvider cmProvider = new ViewerContextMenu(graphicalViewer);
graphicalViewer.setContextMenu(cmProvider);
getSite().registerContextMenu(cmProvider, graphicalViewer);
}

And it looks ok. I have my own layout, and components are laid out properly,
EditPart is expanding correctly. I have FreeFormlayer as IFigure in the
EditPart.

But, if i have ViewPart with FormToolKit and TableWrapLayout then
GraphicalViewer is unable to expand, and layout is not working as expected.
This is the source for initializing ViewPart. There is FormToolkit with two
composites and TableWrapLayout. GraphicalViewer will createControl on right
composite. This is not working correctly. If i do
graphicalViewer.createControl(parent) it works ok. I suppose it is
TableWrapLayout that casues the problem,.

public void createPartControl(Composite parent) {

toolkit = new FormToolkit(parent.getDisplay());

form = toolkit.createScrolledForm(parent);

TableWrapLayout layout = new TableWrapLayout();
layout.numColumns = 2;

leftData = new TableWrapData();
rightData = new TableWrapData(TableWrapData.CENTER);
form.getBody().setLayout(layout);

leftSection = toolkit.createSection(form.getBody(),Section.TITLE_BAR |
Section.DESCRIPTION);

leftSection.setText(ResourceManager.getInstance().getString( "Category.descri
ptionTitle"));
leftSection.setLayoutData(new TableWrapData(TableWrapData.FILL));

rightSection = toolkit.createSection(form.getBody(),Section.TITLE_BAR);

rightSection.setText(ResourceManager.getInstance().getString ( "Category.viewT
itle"));
TableWrapData rightSectionData = new
TableWrapData(TableWrapData.FILL_GRAB);
rightSectionData.grabHorizontal = true;
rightSection.setLayoutData(rightSectionData);

leftExpandableComposite =
toolkit.createExpandableComposite(form.getBody(),ExpandableC omposite.CLIENT_
INDENT | ExpandableComposite.TITLE_BAR | ExpandableComposite.EXPANDED);
leftExpandableComposite.setLayoutData(leftData);
leftComposite = toolkit.createComposite(leftExpandableComposite,
SWT.NULL);
TableWrapLayout leftTableLayout = new TableWrapLayout();
leftTableLayout.numColumns = 1;
leftTableLayout.bottomMargin = 40;
leftComposite.setLayout(leftTableLayout);
leftComposite.setLayoutData(leftData);

leftExpandableComposite.setClient(leftComposite);
leftExpandableComposite.addExpansionListener(new ExpansionAdapter() {
public void expansionStateChanged(ExpansionEvent e) {
form.reflow(true);
}
});
Label blankLabel = toolkit.createLabel(leftComposite,"");

blankLabel.setImage(ResourceManager.getInstance().getImage("images/blank.bmp
"));

description = toolkit.createLabel(leftComposite,"", SWT.WRAP);

TableWrapLayout rightLayout = new TableWrapLayout();
rightLayout.numColumns = 1;
rightComposite = toolkit.createComposite(form.getBody(), SWT.CENTER);
rightComposite.setLayout(rightLayout);
rightComposite.setLayoutData(rightData);

graphicalViewer = new ScrollingGraphicalViewer();
ScalableRootEditPart root = new ScalableRootEditPart();
graphicalViewer.setRootEditPart(root);
graphicalViewer.createControl(rightComposite);

graphicalViewer.setKeyHandler(new
GraphicalViewerKeyHandler(graphicalViewer));
graphicalViewer.setEditPartFactory(new ScadaEditPartFactory());
ContextMenuProvider cmProvider = new ViewerContextMenu(graphicalViewer);
graphicalViewer.setContextMenu(cmProvider);
getSite().registerContextMenu(cmProvider, graphicalViewer);
root.setViewer(graphicalViewer);

Hyperlink link = toolkit.createHyperlink(leftComposite, "Standard mode",
SWT.WRAP);
link.setBackground(leftComposite.getBackground());
link.setLayoutData(new TableWrapData());
link.addListener(SWT.MouseUp, new
DeviceViewModeListener(DeviceViewModeListener.STANDARD_MODE,
graphicalViewer));

link = toolkit.createHyperlink(leftComposite, "Short mode", SWT.WRAP);
link.setBackground(leftComposite.getBackground());
link.setLayoutData(new TableWrapData());
link.addListener(SWT.MouseUp, new
DeviceViewModeListener(DeviceViewModeListener.SHORT_MODE, graphicalViewer));
}


--
Pozdrav,
Radovan
Re: GEF in ViewPart, TableWrapLayout [message #197216 is a reply to message #197095] Fri, 30 September 2005 12:25 Go to previous message
Eclipse UserFriend
Originally posted by: radicr.stop.spam.gmail.com

(in case someone is interested)
I managed to solve my problem. I do this to the rightComposite:

rightComposite.setLayout(new FillLayout(SWT.NULL))
rightComposite.setLayoutData(new TableWrapData(TableWrapData.FILL));

and now it works ok

"Radovan Radic" <radicr.stop.spam@gmail.com> wrote in message
news:dhh261$4ec$1@news.eclipse.org...
> Hello,
>
> I have new problem in my application.
> I have ViewPart, and inside this viewPart i need to add GraphicalViewer
that
> will hold some objects from the model. I have model, EditPart and in
> createControle(Composite parent) method of the ViewPart i initialize
> graphicalView.
>
Previous Topic:logical zoom
Next Topic:How to get the correct zoomManger when using a MultiPageEditorPart
Goto Forum:
  


Current Time: Sat Apr 27 04:07:44 GMT 2024

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

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

Back to the top