void GraphicalSummaryWnd::GenerateGraph() {
    DeleteSideBars();

    m_sizer.reset(new BarSizer(m_summaries, ClientSize()));

    for (std::map<int, CombatSummary>::iterator it = m_summaries.begin(); it != m_summaries.end(); ++it) {
        if (it->second.total_max_health > EPSILON) {
            it->second.Sort();
            SideBar* box = new SideBar(it->second, *m_sizer);
            m_side_boxes.push_back(box);
            AttachChild(box);
        }
    }

    if (m_options_bar) {
        DebugLogger() << "GraphicalSummaryWnd::GenerateGraph(): m_options_bar "
                         "already exists, calling DeleteChild(m_options_bar) "
                         "before creating a new one.";
        DeleteChild(m_options_bar);
    }
    m_options_bar = new OptionsBar(m_sizer);
    AttachChild(m_options_bar);
    GG::Connect(m_options_bar->ChangedSignal,
                &GraphicalSummaryWnd::HandleButtonChanged,
                this);

    MinSizeChangedSignal();
    DoLayout();
}
void GraphicalSummaryWnd::GenerateGraph() {
    DeleteSideBars();

    m_sizer.reset(new BarSizer(m_summaries, ClientSize()));

    for(std::map<int, CombatSummary>::iterator it = m_summaries.begin(); it != m_summaries.end(); ++it ) {
        if ( it->second.total_max_health > EPSILON ) {
            it->second.Sort();
            SideBar* box = new SideBar(it->second, *m_sizer);
            m_side_boxes.push_back(box);
            AttachChild(box);
        }
    }
    DoLayout();
}