You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.5 KiB

  1. /*
  2. * This program source code file is part of KiCad, a free EDA CAD application.
  3. *
  4. * Copyright (C) 2017 Chris Pavlina <pavlina.chris@gmail.com>
  5. * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
  6. *
  7. * This program is free software: you can redistribute it and/or modify it
  8. * under the terms of the GNU General Public License as published by the
  9. * Free Software Foundation, either version 3 of the License, or (at your
  10. * option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful, but
  13. * WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License along
  18. * with this program. If not, see <http://www.gnu.org/licenses/>.
  19. */
  20. #pragma once
  21. #include <optional>
  22. #include <wx/string.h>
  23. class FP_LIB_TABLE;
  24. class FOOTPRINT;
  25. class LIB_ID;
  26. /**
  27. * Return an HTML page describing a #LIB_ID in a #FP_LIB_TABLE. This is suitable for inclusion
  28. * in a wxHtmlWindow.
  29. */
  30. wxString GenerateFootprintInfo( FP_LIB_TABLE* aFpLibTable, LIB_ID const& aLibId );
  31. /**
  32. * Get a URL to the documentation for a #LIB_ID in a #FP_LIB_TABLE. This is suitable for opening
  33. * in a web browser. Currently, for want of a proper home in the format, this is usually
  34. * found in the "description" field of the footprint.
  35. *
  36. * @return The URL, or std::nullopt if no URL is available.
  37. */
  38. std::optional<wxString> GetFootprintDocumentationURL( const FOOTPRINT& aFootprint );