No root methods when designing a class which implements IDetailsPage and extends a bean [message #759225] |
Sun, 27 November 2011 20:03 |
Roded Bahat Messages: 152 Registered: August 2011 |
Senior Member |
|
|
Hello,
I'm working on a Master/Detail page using MasterDetailsBlock & IDetailsPage.
In order to generalize some Details pages, I've created an abstract class which implements the IDetailsPage interface.
Unfortunately, when trying to design classes which extend my abstract class, WindowBuilder claims to not find any root methods. As suggested, I tried using the @wbp.parser.entryPoint but that didn't help much.
Is there a way around this? or am I doing things completely wrong?
Any tips would be great.
Thanks a lot,
Roded
[Updated on: Sun, 27 November 2011 20:26] Report message to a moderator
|
|
|
|
Re: No root methods when designing a class which implements IDetailsPage and extends a bean [message #759265 is a reply to message #759233] |
Mon, 28 November 2011 07:36 |
Roded Bahat Messages: 152 Registered: August 2011 |
Senior Member |
|
|
An abstract class which implements IDetailsPage:
package testcasedetailspage;
import org.eclipse.ui.forms.IDetailsPage;
public abstract class testcaseabstractclass implements IDetailsPage {
}
The details page itself (Created using the WindowBuilder "DetailsPage" wizard.
The only change is that "implements IDetailsPage" was changed to "extends testcaseabstractclass"):
package testcasedetailspage;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.IFormPart;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.widgets.ExpandableComposite;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
public class testcasedetailspage extends testcaseabstractclass {
private IManagedForm managedForm;
/**
* Create the details page.
*/
public testcasedetailspage() {
// Create the details page
}
/**
* Initialize the details page.
* @param form
*/
public void initialize(IManagedForm form) {
managedForm = form;
}
/**
* Create contents of the details page.
* @param parent
*/
public void createContents(Composite parent) {
FormToolkit toolkit = managedForm.getToolkit();
parent.setLayout(new FillLayout());
//
Section section = toolkit.createSection(parent,
ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR);
section.setText("Empty Section");
//
Composite composite = toolkit.createComposite(section, SWT.NONE);
toolkit.paintBordersFor(composite);
section.setClient(composite);
}
public void dispose() {
// Dispose
}
public void setFocus() {
// Set focus
}
private void update() {
// Update
}
public boolean setFormInput(Object input) {
return false;
}
public void selectionChanged(IFormPart part, ISelection selection) {
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
update();
}
public void commit(boolean onSave) {
// Commit
}
public boolean isDirty() {
return false;
}
public boolean isStale() {
return false;
}
public void refresh() {
update();
}
}
The same thing happens when the class extends the abstract class and implements IDetailsPage.
Reverting the change back to the original "implements" makes the design view work again.
Would appreciate any help.
Thanks,
Roded
[Updated on: Mon, 28 November 2011 07:40] Report message to a moderator
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.28565 seconds