public boolean generateBarChart() {
			int A1 = m_attributeDropdownBar1.getSelectedIndex();
            int A2 = m_attributeDropdownBar2.getSelectedIndex();
            String header = m_barHeader.getText();
            String caption = m_Caption.getText();
            String author = m_Author.getText();
			String captionAndAuthor;
			if (author.isEmpty()) {
				captionAndAuthor = caption;
			} else {
				captionAndAuthor = caption + "\n" + "Author: " + author;
			}
            BarChart barChart = new BarChart(m_dataSet);
			barChart.setDataset(m_dataSet);
			barChart.setAttribute1(A1);
			barChart.setAttribute2(A2);
			barChart.setHeader(header);
			barChart.setxAxis(m_dataSet.GetAttributeName(A1));
			barChart.setyAxis(m_dataSet.GetAttributeName(A2));
            JFreeChart chart = barChart.MakeChart();
			DateTitle dateTitle = new DateTitle(); 
			Date now = new Date();
			String dateAndTime = dateTitle.getText();
			dateAndTime = dateAndTime + "\n" + ConvertTime(now.getTime());
			dateTitle.setText(dateAndTime);
			chart.addSubtitle(dateTitle);
			TextTitle capAndAuth = new TextTitle(captionAndAuthor);
			chart.addSubtitle(capAndAuth);
            
			
			CustomBarRenderer renderer = new CustomBarRenderer(
				DataVisualizerGUI.m_cm.GetActiveMap());
			CategoryPlot plot = (CategoryPlot) chart.getPlot();
			CategoryDataset barDataset = plot.getDataset();
			for (int i = 1; i <= barDataset.getRowCount(); i++) {
				renderer.SetColor(plot, i);
			}

			m_frame = new ChartPanel(chart);
            SetChartType(BARCHART);
            SetChart(chart);
            removeAll();
            add(m_frame);
            repaint();
            revalidate();
            GroupJVTApplication.dataVisualizer.ActivateColour();
            GroupJVTApplication.dataVisualizer.SelectChartTab();
            m_window.setVisible(false);
			return true;
		}