public void addToComponent(Canvas component) {
        if (freeColClient.getGame() == null
            || freeColClient.getGame().getMap() == null) {
            return;
        }

        //
        // Relocate GUI Objects
        //
        
        infoPanel.setLocation(component.getWidth() - infoPanel.getWidth(), component.getHeight() - infoPanel.getHeight());
        miniMapPanel.setLocation(0, component.getHeight() - miniMapPanel.getHeight());
        compassRose.setLocation(component.getWidth() - compassRose.getWidth() - 20, 20);

        if (!unitButtons.isEmpty()) {
            final int WIDTH = this.unitButtons.get(0).getWidth();
            final int SPACE = 5;
            int length = unitButtons.size();
            int x = miniMapPanel.getWidth() + 1 +
                ((infoPanel.getX() - miniMapPanel.getWidth() -
                  length * WIDTH - (length - 1) * SPACE - WIDTH) / 2);
            int y = component.getHeight() - 40;
            int step = WIDTH + SPACE;

            for (UnitButton button : unitButtons) {
                button.setLocation(x, y);
                x += step;
            }
        }

        //
        // Add the GUI Objects to the container
        //
        component.addToCanvas(infoPanel, CONTROLS_LAYER);
        component.addToCanvas(miniMapPanel, CONTROLS_LAYER);
        if (freeColClient.getClientOptions()
            .getBoolean(ClientOptions.DISPLAY_COMPASS_ROSE)) {
            component.addToCanvas(compassRose, CONTROLS_LAYER);
        }

        if (!freeColClient.isMapEditor()) {
            for (UnitButton button : unitButtons) {
                component.addToCanvas(button, CONTROLS_LAYER);
                button.refreshAction();
            }
        }
    }