[Buix-commits] r682 - in trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui: . util/ui
Author: tchemit Date: 2008-05-26 09:43:05 +0000 (Mon, 26 May 2008) New Revision: 682 Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/SynchUI.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/ui/AbstractTabOneFileUI.java trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/ui/AbstractTabUI.java Log: VCSThreadListener must be add when ui is activated (for synchUI), now in common class AbstractTabUI Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/SynchUI.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/SynchUI.java 2008-05-26 07:43:57 UTC (rev 681) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/SynchUI.java 2008-05-26 09:43:05 UTC (rev 682) @@ -19,7 +19,6 @@ import javax.swing.AbstractButton; import javax.swing.JPopupMenu; -import java.awt.event.WindowEvent; /** @author chemit */ public abstract class SynchUI extends AbstractTabUI<SynchUIHandler> { @@ -54,19 +53,24 @@ public abstract JPopupMenu getPopup(); - @Override + /*@Override public void windowOpened(WindowEvent e) { - if (getHandler().isUseThreadListener()) { - // add action manager listener - getHandler().getActionManager().addVCSActionThreadEventListener(getHandler()); - } + addVCSActionThreadEventListener(); } @Override public void windowClosed(WindowEvent e) { - if (getHandler().isUseThreadListener()) { - // remove action manager listener - getHandler().getActionManager().removeVCSActionThreadEventListener(getHandler()); - } + removeVCSActionThreadEventListener(); } + + @Override + public synchronized void windowActivated(WindowEvent e) { + addVCSActionThreadEventListener(); + super.windowActivated(e); + } + + @Override + public synchronized void windowDeactivated(WindowEvent e) { + removeVCSActionThreadEventListener(); + } */ } \ No newline at end of file Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/ui/AbstractTabOneFileUI.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/ui/AbstractTabOneFileUI.java 2008-05-26 07:43:57 UTC (rev 681) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/ui/AbstractTabOneFileUI.java 2008-05-26 09:43:05 UTC (rev 682) @@ -17,7 +17,6 @@ import org.codelutin.vcs.ui.util.handler.AbstractTabOneFileUIHandler; import javax.swing.AbstractButton; -import java.awt.event.WindowEvent; /** @author chemit */ public abstract class AbstractTabOneFileUI<H extends AbstractTabOneFileUIHandler<?, ?>> extends AbstractTabUI<H> { @@ -26,24 +25,4 @@ public abstract AbstractButton getPreviousFile(); - protected boolean hasListener; - - @Override - public synchronized void windowActivated(WindowEvent e) { - if (!hasListener && getHandler().isUseThreadListener()) { - // add action manager listener - getHandler().getActionManager().addVCSActionThreadEventListener(getHandler()); - hasListener = true; - } - super.windowActivated(e); - } - - @Override - public synchronized void windowDeactivated(WindowEvent e) { - if (!isVisible() && getHandler().isUseThreadListener() && hasListener) { - // remove action manager listener - getHandler().getActionManager().removeVCSActionThreadEventListener(getHandler()); - hasListener = false; - } - } } \ No newline at end of file Modified: trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/ui/AbstractTabUI.java =================================================================== --- trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/ui/AbstractTabUI.java 2008-05-26 07:43:57 UTC (rev 681) +++ trunk/lutinvcs/ui/common/src/main/java/org/codelutin/vcs/ui/util/ui/AbstractTabUI.java 2008-05-26 09:43:05 UTC (rev 682) @@ -19,10 +19,13 @@ import javax.swing.AbstractButton; import javax.swing.ButtonGroup; +import java.awt.event.WindowEvent; /** @author chemit */ public abstract class AbstractTabUI<H extends AbstractTabUIHandler<?, ?>> extends AbstractBasicUI<H> { + protected boolean hasListener; + public abstract ButtonGroup getTabs(); public abstract AbstractButton getAllTab(); @@ -72,4 +75,33 @@ throw new IllegalStateException("no button found for " + modelName); } + @Override + public synchronized void windowActivated(WindowEvent e) { + addVCSActionThreadEventListener(); + super.windowActivated(e); + } + + @Override + public synchronized void windowDeactivated(WindowEvent e) { + removeVCSActionThreadEventListener(); + super.windowDeactivated(e); + } + + public void addVCSActionThreadEventListener() { + if (!hasListener && getHandler().isUseThreadListener()) { + // add action manager listener + getHandler().getActionManager().addVCSActionThreadEventListener(getHandler()); + hasListener = true; + } + } + + public void removeVCSActionThreadEventListener() { + // remove listener only if no more visible and has a preivous listener registered + if (!isVisible() && hasListener && getHandler().isUseThreadListener()) { + // remove action manager listener + getHandler().getActionManager().removeVCSActionThreadEventListener(getHandler()); + hasListener = false; + } + } + }
participants (1)
-
tchemit@users.labs.libre-entreprise.org