/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * */ #pragma once #include "scdllapi.h" #include #include #include "Sparkline.hxx" #include "SparklineGroup.hxx" namespace sc { /** Tracks and gathers all created sparklines and sparkline groups. * * All the collections of sparkline groups and sparklines don't take * the ownership of the pointers. */ class SC_DLLPUBLIC SparklineList { private: std::vector> m_aSparklineGroups; std::map, std::vector>, std::owner_less<>> m_aSparklineGroupMap; public: SparklineList(); void addSparkline(std::shared_ptr const& pSparkline); void removeSparkline(std::shared_ptr const& pSparkline); std::vector> getSparklineGroups(); std::vector> getSparklinesFor(std::shared_ptr const& pSparklineGroup); }; } // end sc /* vim:set shiftwidth=4 softtabstop=4 expandtab: */