private JComponent createMainPanel() {
JPanel categoryChartDonutAndProcessChart = new JPanel(new GridBagLayout());
categoryChartDonutAndProcessChart.setBackground(ColorConst.CONTENT_BACKGROUND);
categoryChartDonutAndProcessChart.setMinimumSize(new Dimension(0, 0));
categoryChartDonutAndProcessChart.add(categoryChartPanelService.createCategoryChartPanel(), new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
categoryChartDonutAndProcessChart.add(categoryDonutPanelService.createCategoryDonutPanel(), new GridBagConstraints(1, 0, 1, 2, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
categoryChartDonutAndProcessChart.add(processChartPanelService.createProcessChartPanel(), new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
JPanel processTreePanel = processTreePanelService.createProcessTreePanel();
processTreePanel.setMinimumSize(new Dimension(0, 0));
JSplitPane mainSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, categoryChartDonutAndProcessChart, processTreePanel);
PgsSplitPaneUI pgsSplitPaneUI = new PgsSplitPaneUI();
mainSplitPane.setUI(pgsSplitPaneUI);
pgsSplitPaneUI.getDivider().setBorder(BorderFactory.createEmptyBorder());
pgsSplitPaneUI.getDivider().setBackground(ColorConst.CONTENT_BACKGROUND);
mainSplitPane.setContinuousLayout(true);
mainSplitPane.setBorder(BorderFactory.createEmptyBorder());
mainSplitPane.setOneTouchExpandable(false);
mainSplitPane.setResizeWeight(0.5D);
mainSplitPane.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, new SnagToEdgesJSplitPanePropertyChangeListener(mainSplitPane));
return mainSplitPane;
}
}