public GBTileEditor(ImageViewer imViewer, ImageMapper imMapper) {
		super(Utils.lang("title"));
        this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
        
        JPanel sprbkg = setupEditingModePanel();
        JPanel zoomRadio = setupZoomPanel();
        
        JPanel upMenu = new JPanel();
        upMenu.setLayout(new GridLayout(0, 1));
        upMenu.add(sprbkg);
        upMenu.add(zoomRadio);
        
        JPanel jplRadio = setupSpriteModePanel();
        JPanel bkgRadio = setupMapSizePanel();
        
        menuBar = new MenuBar();
        this.setJMenuBar(menuBar);
        
        JScrollPane editorScroll = new JScrollPane(imMapper);
        editorScroll.setBackground(new Color(0, 0, 0, 0));
        imMapper.setSpanel(editorScroll);
        
        JPanel imPanel = new JPanel();
        imPanel.setLayout(new GridLayout(0, 2));
        imPanel.add(imViewer);
        imPanel.add(editorScroll);
        
        JPanel modePanel = new JPanel();
        modePanel.setLayout(new GridLayout(2, 1));
        modePanel.add(jplRadio);
        modePanel.add(bkgRadio);
        
        this.getContentPane().setLayout(new BorderLayout());
        this.getContentPane().add(upMenu, BorderLayout.NORTH);
        this.getContentPane().add(imPanel);
        this.getContentPane().add(modePanel, BorderLayout.SOUTH);
        
        this.pack();
        this.setVisible(true);
	}