}
String connectorId = connector.getConnectorId();
- VConsole.log("Unregistering connector " + connectorId + " ("
- + connector.getClass().getName() + ")");
- // Warn if widget is still attached to DOM. It should never be at this
- // point.
- Widget widget = null;
- if (connector instanceof ComponentConnector) {
- widget = ((ComponentConnector) connector).getWidget();
- }
-
- if (widget != null && widget.isAttached()) {
- VConsole.log("Widget for unregistered connector " + connectorId
- + " is still attached to the DOM.");
- }
idToComponentDetail.remove(connectorId);
idToConnector.remove(connectorId);
+ connector.onUnregister();
if (connector instanceof ComponentContainerConnector) {
for (ComponentConnector child : ((ComponentContainerConnector) connector)
* The event to send.
*/
public void fireEvent(GwtEvent<?> event);
+
+ /**
+ * Event called when connector has been unregistered.
+ */
+ public void onUnregister();
+
}
import com.vaadin.terminal.gwt.client.MouseEventDetails;
import com.vaadin.terminal.gwt.client.TooltipInfo;
import com.vaadin.terminal.gwt.client.UIDL;
+import com.vaadin.terminal.gwt.client.Util;
import com.vaadin.terminal.gwt.client.VConsole;
import com.vaadin.terminal.gwt.client.communication.ServerRpc;
import com.vaadin.terminal.gwt.client.communication.SharedState;
return (reg != null && reg.contains(eventIdentifier));
}
+ @Override
+ public void onUnregister() {
+ super.onUnregister();
+
+ // Warn if widget is still attached to DOM. It should never be at this
+ // point.
+ if (getWidget() != null && getWidget().isAttached()) {
+ VConsole.log("Widget for unregistered connector "
+ + Util.getConnectorString(this)
+ + " is still attached to the DOM.");
+ }
+ }
}
+ " received by " + Util.getConnectorString(this));
}
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.vaadin.terminal.gwt.client.ServerConnector#onUnregister()
+ */
+ public void onUnregister() {
+ VConsole.log("Unregistered connector " + Util.getConnectorString(this));
+
+ }
}