package husacct.analyse.presentation.decompositionview;
import husacct.analyse.presentation.AnalyseUIController;
import husacct.common.dto.AnalysisStatisticsDTO;
import husacct.common.dto.SoftwareUnitDTO;
import husacct.common.help.presentation.HelpableJPanel;
import java.awt.Color;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.UIManager;
import javax.swing.border.TitledBorder;
public class StatisticsPanel extends HelpableJPanel {
private static final long serialVersionUID = 8505333261388679299L;
private static final Color PANELBACKGROUND = UIManager.getColor("Panel.background");
private AnalyseUIController dataControl;
private StatisticsPanelWholeApplication wholeApplicationPanel;
private StatisticsPanelSelection selectionPanel;
public StatisticsPanel(AnalyseUIController uiController) {
this.dataControl = uiController;
createBaseLayout();
setBorder(new TitledBorder(dataControl.translate("Statistics")));
setBackground(PANELBACKGROUND);
}
private void createBaseLayout() {
wholeApplicationPanel = new StatisticsPanelWholeApplication(dataControl);
selectionPanel = new StatisticsPanelSelection(dataControl);
GroupLayout group1Layout = new GroupLayout(this);
group1Layout.setHorizontalGroup(
group1Layout.createParallelGroup(Alignment.TRAILING)
.addGroup(group1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(group1Layout.createParallelGroup(Alignment.LEADING)
.addComponent(wholeApplicationPanel, GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addComponent(selectionPanel, GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
.addContainerGap())
);
group1Layout.setVerticalGroup(
group1Layout.createParallelGroup(Alignment.LEADING)
.addGroup(group1Layout.createSequentialGroup()
.addComponent(wholeApplicationPanel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addGap(10)
.addComponent(selectionPanel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
setLayout(group1Layout);
}
public void reload(SoftwareUnitDTO selectedModule) {
AnalysisStatisticsDTO statistics;
if ((selectedModule != null) && !selectedModule.name.equals("xLibraries")) {
statistics = dataControl.getAnalyseTaskControl().getAnalysisStatistics(selectedModule);
} else {
statistics = dataControl.getAnalyseTaskControl().getAnalysisStatistics(null);
}
wholeApplicationPanel.reload(statistics.totalNrOfPackages, statistics.totalNrOfClasses, statistics.totalNrOfLinesOfCode, statistics.totalNrOfDependencies);
selectionPanel.reload(statistics.selectionNrOfPackages, statistics.selectionNrOfClasses, statistics.selectionNrOfLinesOfCode);
this.repaint();
}
}