public DebugAgentsMessagesMapWindow() {

    statusBar.add(mousexLabel);
    statusBar.add(mouseyLabel);
    mousexLabel.setWidth("100px");

    infoWindow = MessageInfoWindowOnCanvas.getInstance();
    infoWindow.setCanvas(gwtBitsCanvas);

    calculatePositions();
    mainAgentsPanel.add(gwtBitsCanvas);

    mainAgentsPanel.add(statusBar);
    mainAgentsPanel.add(propertyPanel);

    initWidget(mainAgentsPanel);

    gwtBitsCanvas.addMouseMoveHandler(
        new MouseMoveHandler() {
          public void onMouseMove(MouseMoveEvent event) {
            mouseX = event.getRelativeX(gwtBitsCanvas.getElement());
            mouseY = event.getRelativeY(gwtBitsCanvas.getElement());
            mousexLabel.setText("" + mouseX);
            mouseyLabel.setText("" + mouseY);
            //
            //                IAgent newagent =getSelectedAgent();
            //                if (currentAgent != newagent){
            //                    setNewAgentSelected(newagent);
            //                }
          }
        });

    gwtBitsCanvas.addMouseOverAgentHandler(
        new MouseOverCanvasItemHandler() {
          @Override
          public void mouseOverCanvasItem(GwtBitsCanvasItemBaseClass canvasItem) {
            propertyPanel.clear();
            propertyPanel.add(new Label(canvasItem.getDebugString()));
          }
        });

    Esb.register(this);
    Esb.registerScreenPosition(this, 0.9, 0.9);
  }