Skip to content
Snippets Groups Projects
Commit bc9da975 authored by GIRARDOT Raphael's avatar GIRARDOT Raphael Committed by MADELA Patrick
Browse files

- better listeners management. Big change --> version set to 1.1.0-SNAPSHOT

- added the possibility to change IView's icon and title (JAVAAPI-262)
parent 1f2c5a4e
No related branches found
No related tags found
No related merge requests found
......@@ -9,7 +9,7 @@
</parent>
<groupId>fr.soleil.lib</groupId>
<artifactId>DockingInfoNode</artifactId>
<version>1.0.10-SNAPSHOT</version>
<version>1.1.0-SNAPSHOT</version>
<name>Docking InfoNode</name>
<description>InfoNode implementation of DockingCore</description>
<developers>
......
......@@ -15,12 +15,13 @@ import javax.swing.Icon;
import net.infonode.docking.AbstractTabWindow;
import net.infonode.docking.DockingWindow;
import net.infonode.docking.DockingWindowListener;
import net.infonode.docking.OperationAbortedException;
import net.infonode.docking.DockingWindowAdapter;
import net.infonode.docking.RootWindow;
import net.infonode.docking.View;
import fr.soleil.docking.event.DockingEvent;
import fr.soleil.docking.listener.IViewListener;
import fr.soleil.docking.listener.ViewListenerDelegate;
import fr.soleil.docking.view.IView;
import fr.soleil.docking.view.IViewListener;
/**
* A dynamically created view containing an id.
......@@ -30,9 +31,10 @@ import fr.soleil.docking.view.IViewListener;
*/
public class InfoNodeView extends View implements IView {
private static final long serialVersionUID = 1934485690520898657L;
private static final long serialVersionUID = 6381456606851418094L;
protected Object id;
protected final ViewListenerDelegate delegate;
/**
* Constructor.
......@@ -45,6 +47,24 @@ public class InfoNodeView extends View implements IView {
public InfoNodeView(String title, Icon icon, Component component, Object id) {
super(title, icon, component);
this.id = id;
delegate = new ViewListenerDelegate();
addListener(new DockingWindowAdapter() {
@Override
public void windowClosed(DockingWindow window) {
delegate.warnListeners(new DockingEvent(InfoNodeView.this, DockingEvent.VIEW_CLOSED));
}
@Override
public void viewFocusChanged(View previouslyFocusedView, View focusedView) {
if (InfoNodeView.this.equals(focusedView)) {
delegate.warnListeners(new DockingEvent(InfoNodeView.this, DockingEvent.FOCUS_GAINED));
} else {
delegate.warnListeners(new DockingEvent(InfoNodeView.this, DockingEvent.FOCUS_LOST));
}
}
});
}
@Override
......@@ -105,7 +125,6 @@ public class InfoNodeView extends View implements IView {
super.update();
super.setVisible(true);
super.setEnabled(true);
}
@Override
......@@ -228,98 +247,30 @@ public class InfoNodeView extends View implements IView {
@Override
public void addViewListener(final IViewListener listener) {
addListener(new DockingWindowListener() {
@Override
public void windowUndocking(DockingWindow window) throws OperationAbortedException {
// Not used yet.
}
@Override
public void windowUndocked(DockingWindow window) {
// Not used yet.
}
@Override
public void windowShown(DockingWindow window) {
// Not used yet.
}
@Override
public void windowRestoring(DockingWindow window) throws OperationAbortedException {
// Not used yet.
}
@Override
public void windowRestored(DockingWindow window) {
// Not used yet.
}
@Override
public void windowRemoved(DockingWindow removedFromWindow, DockingWindow removedWindow) {
// Not used yet.
}
@Override
public void windowMinimizing(DockingWindow window) throws OperationAbortedException {
// Not used yet.
}
@Override
public void windowMinimized(DockingWindow window) {
// Not used yet.
}
@Override
public void windowMaximizing(DockingWindow window) throws OperationAbortedException {
// Not used yet.
}
@Override
public void windowMaximized(DockingWindow window) {
// Not used yet.
}
@Override
public void windowHidden(DockingWindow window) {
// Not used yet.
}
@Override
public void windowDocking(DockingWindow window) throws OperationAbortedException {
// Not used yet.
}
@Override
public void windowDocked(DockingWindow window) {
// Not used yet.
}
@Override
public void windowClosing(DockingWindow window) throws OperationAbortedException {
// Not used yet.
}
@Override
public void windowClosed(DockingWindow window) {
listener.viewClosed();
}
delegate.addViewListener(listener);
}
@Override
public void windowAdded(DockingWindow addedToWindow, DockingWindow addedWindow) {
// Not used yet.
}
@Override
public void removeViewListener(IViewListener listener) {
delegate.removeViewListener(listener);
}
@Override
public void viewFocusChanged(View previouslyFocusedView, View focusedView) {
if (InfoNodeView.this.equals(focusedView)) {
listener.focusGained();
} else {
listener.focusLost();
}
}
});
@Override
public void setTitle(String title) {
getViewProperties().setTitle(title == null ? "" : title);
RootWindow rootWindow = getRootWindow();
if (rootWindow != null) {
rootWindow.repaint();
}
}
@Override
public void setIcon(Icon icon) {
getViewProperties().setIcon(icon);
RootWindow rootWindow = getRootWindow();
if (rootWindow != null) {
rootWindow.repaint();
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment