Add support for clearing a place view when it goes away so that we can
better manage multiple outstanding place views. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1929 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: PlaceController.java,v 1.9 2002/05/13 23:03:24 mdb Exp $
|
// $Id: PlaceController.java,v 1.10 2002/11/08 09:31:59 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.crowd.client;
|
package com.threerings.crowd.client;
|
||||||
|
|
||||||
@@ -114,17 +114,21 @@ public abstract class PlaceController extends Controller
|
|||||||
*/
|
*/
|
||||||
public void didLeavePlace (final PlaceObject plobj)
|
public void didLeavePlace (final PlaceObject plobj)
|
||||||
{
|
{
|
||||||
// let the UI hierarchy know that we're outta here
|
|
||||||
if (_view != null ) {
|
|
||||||
PlaceViewUtil.dispatchDidLeavePlace(_view, plobj);
|
|
||||||
}
|
|
||||||
|
|
||||||
// let our delegates know what's up
|
// let our delegates know what's up
|
||||||
applyToDelegates(new DelegateOp() {
|
applyToDelegates(new DelegateOp() {
|
||||||
public void apply (PlaceControllerDelegate delegate) {
|
public void apply (PlaceControllerDelegate delegate) {
|
||||||
delegate.didLeavePlace(plobj);
|
delegate.didLeavePlace(plobj);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// let the UI hierarchy know that we're outta here
|
||||||
|
if (_view != null ) {
|
||||||
|
PlaceViewUtil.dispatchDidLeavePlace(_view, plobj);
|
||||||
|
_ctx.clearPlaceView(_view);
|
||||||
|
_view = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
_plobj = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: CrowdContext.java,v 1.7 2002/04/15 14:38:45 shaper Exp $
|
// $Id: CrowdContext.java,v 1.8 2002/11/08 09:31:59 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.crowd.util;
|
package com.threerings.crowd.util;
|
||||||
|
|
||||||
@@ -40,4 +40,11 @@ public interface CrowdContext extends PresentsContext
|
|||||||
* fully entered the place and are ready for user interaction.
|
* fully entered the place and are ready for user interaction.
|
||||||
*/
|
*/
|
||||||
public void setPlaceView (PlaceView view);
|
public void setPlaceView (PlaceView view);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When the client leaves a place, the place controller will remove
|
||||||
|
* any place view it set previously via {@link #setPlaceView} with a
|
||||||
|
* call to this method.
|
||||||
|
*/
|
||||||
|
public void clearPlaceView (PlaceView view);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: MiCasaClient.java,v 1.15 2002/08/14 19:07:49 mdb Exp $
|
// $Id: MiCasaClient.java,v 1.16 2002/11/08 09:31:59 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.micasa.client;
|
package com.threerings.micasa.client;
|
||||||
|
|
||||||
@@ -161,6 +161,11 @@ public class MiCasaClient
|
|||||||
_frame.setPanel((JPanel)view);
|
_frame.setPanel((JPanel)view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void clearPlaceView (PlaceView view)
|
||||||
|
{
|
||||||
|
// we'll just let the next place view replace our old one
|
||||||
|
}
|
||||||
|
|
||||||
public MiCasaFrame getFrame ()
|
public MiCasaFrame getFrame ()
|
||||||
{
|
{
|
||||||
return _frame;
|
return _frame;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: SimpleClient.java,v 1.7 2002/08/14 19:07:50 mdb Exp $
|
// $Id: SimpleClient.java,v 1.8 2002/11/08 09:31:59 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.micasa.simulator.client;
|
package com.threerings.micasa.simulator.client;
|
||||||
|
|
||||||
@@ -113,6 +113,11 @@ public class SimpleClient
|
|||||||
_frame.setPanel((JPanel)view);
|
_frame.setPanel((JPanel)view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void clearPlaceView (PlaceView view)
|
||||||
|
{
|
||||||
|
// we'll just let the next view replace the old one
|
||||||
|
}
|
||||||
|
|
||||||
public MiCasaFrame getFrame ()
|
public MiCasaFrame getFrame ()
|
||||||
{
|
{
|
||||||
return (MiCasaFrame)_frame;
|
return (MiCasaFrame)_frame;
|
||||||
|
|||||||
Reference in New Issue
Block a user