mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Restore selection after open another designer
This commit is contained in:
+28
-13
@@ -54,15 +54,6 @@ public class RadPropertyTable extends PropertyTable implements DataProvider, Com
|
||||
|
||||
myProject = project;
|
||||
|
||||
getSelectionModel().addListSelectionListener(new ListSelectionListener() {
|
||||
@Override
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
if (myDesigner != null) {
|
||||
myDesigner.setSelectionProperty(getCurrentKey(), getSelectionProperty());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
getModel().addTableModelListener(new TableModelListener() {
|
||||
@Override
|
||||
public void tableChanged(TableModelEvent e) {
|
||||
@@ -73,6 +64,23 @@ public class RadPropertyTable extends PropertyTable implements DataProvider, Com
|
||||
});
|
||||
}
|
||||
|
||||
private final ListSelectionListener myListener = new ListSelectionListener() {
|
||||
@Override
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
if (myDesigner != null) {
|
||||
myDesigner.setSelectionProperty(getCurrentKey(), getSelectionProperty());
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
private void addSelectionListener() {
|
||||
getSelectionModel().addListSelectionListener(myListener);
|
||||
}
|
||||
|
||||
private void removeSelectionListener() {
|
||||
getSelectionModel().removeListSelectionListener(myListener);
|
||||
}
|
||||
|
||||
public void initQuickFixManager(JViewport viewPort) {
|
||||
myQuickFixManager = new QuickFixManager(this, viewPort);
|
||||
}
|
||||
@@ -133,11 +141,18 @@ public class RadPropertyTable extends PropertyTable implements DataProvider, Com
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
if (myArea == null) {
|
||||
update(Collections.<PropertiesContainer>emptyList(), null);
|
||||
try {
|
||||
removeSelectionListener();
|
||||
|
||||
if (myArea == null) {
|
||||
update(Collections.<PropertiesContainer>emptyList(), null);
|
||||
}
|
||||
else {
|
||||
update(myArea.getSelection(), myDesigner.getSelectionProperty(getCurrentKey()));
|
||||
}
|
||||
}
|
||||
else {
|
||||
update(myArea.getSelection(), myDesigner.getSelectionProperty(getCurrentKey()));
|
||||
finally {
|
||||
addSelectionListener();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user