[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.platform.rcp] new to RCP, problems with jface preference
|
Hi all!
I'm trying to receiving notification of preference changes. I've made a
simple jface application that with a preference dialog. I only wish to
display a simple output string at each preference change made by the user
with the dialog. So far no luck with this code:
------------------------------------------------------------------------------
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.CoolBarManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.StatusLineManager;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class Main extends ApplicationWindow implements
IPropertyChangeListener {
private IPreferenceStore ps;
private PreferencesAction _preferencesAction = new
PreferencesAction(this);
/**
* Create the application window
*/
public Main() {
super(null);
createActions();
addCoolBar(SWT.FLAT);
addMenuBar();
addStatusLine();
ps = new PreferenceStore("my.properties");
ps.addPropertyChangeListener(this);
}
public void propertyChange(PropertyChangeEvent event) {
System.out.println("changes");
}
/**
* Create contents of the application window
* @param parent
*/
@Override
protected Control createContents(Composite parent) {
Composite container = new Composite(parent, SWT.NONE);
//
return container;
}
/**
* Create the actions
*/
private void createActions() {
// Create the actions
}
/**
* Create the menu manager
* @return the menu manager
*/
@Override
protected MenuManager createMenuManager() {
MenuManager menuManager = new MenuManager("menu");
menuManager.add(_preferencesAction);
return menuManager;
}
/**
* Create the coolbar manager
* @return the coolbar manager
*/
@Override
protected CoolBarManager createCoolBarManager(int style) {
CoolBarManager coolBarManager = new CoolBarManager(style);
return coolBarManager;
}
/**
* Create the status line manager
* @return the status line manager
*/
@Override
protected StatusLineManager createStatusLineManager() {
StatusLineManager statusLineManager = new StatusLineManager();
statusLineManager.setMessage(null, "");
return statusLineManager;
}
/**
* Launch the application
* @param args
*/
public static void main(String args[]) {
try {
Main window = new Main();
window.setBlockOnOpen(true);
window.open();
Display.getCurrent().dispose();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Configure the shell
* @param newShell
*/
@Override
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText("New Application");
}
/**
* Return the initial size of the window
*/
@Override
protected Point getInitialSize() {
return new Point(500, 375);
}
}
------------------------------------------------------------------------------
Thanks in advance for your help.