1a25f0a04SGreg Roach<?php 23976b470SGreg Roach 3a25f0a04SGreg Roach/** 4a25f0a04SGreg Roach * webtrees: online genealogy 58fcd0d32SGreg Roach * Copyright (C) 2019 webtrees development team 6a25f0a04SGreg Roach * This program is free software: you can redistribute it and/or modify 7a25f0a04SGreg Roach * it under the terms of the GNU General Public License as published by 8a25f0a04SGreg Roach * the Free Software Foundation, either version 3 of the License, or 9a25f0a04SGreg Roach * (at your option) any later version. 10a25f0a04SGreg Roach * This program is distributed in the hope that it will be useful, 11a25f0a04SGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of 12a25f0a04SGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13a25f0a04SGreg Roach * GNU General Public License for more details. 14a25f0a04SGreg Roach * You should have received a copy of the GNU General Public License 15a25f0a04SGreg Roach * along with this program. If not, see <http://www.gnu.org/licenses/>. 16a25f0a04SGreg Roach */ 17*fcfa147eSGreg Roach 18e7f56f2aSGreg Roachdeclare(strict_types=1); 19e7f56f2aSGreg Roach 2076692c8bSGreg Roachnamespace Fisharebest\Webtrees\Module; 21a25f0a04SGreg Roach 22ade503dfSGreg Roachuse Fisharebest\Webtrees\Fact; 23ade503dfSGreg Roachuse Fisharebest\Webtrees\Individual; 24ade503dfSGreg Roachuse Fisharebest\Webtrees\Menu; 250c8c69d4SGreg Roachuse Fisharebest\Webtrees\Tree; 26ade503dfSGreg Roach 27a25f0a04SGreg Roach/** 28ade503dfSGreg Roach * Interface ModuleThemelInterface - Classes and libraries for module system 29a25f0a04SGreg Roach */ 3037eb8894SGreg Roachinterface ModuleThemeInterface extends ModuleInterface 31c1010edaSGreg Roach{ 32ade503dfSGreg Roach /** 33ade503dfSGreg Roach * Display an icon for this fact. 34ade503dfSGreg Roach * 35ade503dfSGreg Roach * @param Fact $fact 36ade503dfSGreg Roach * 37ade503dfSGreg Roach * @return string 38ade503dfSGreg Roach */ 39ade503dfSGreg Roach public function icon(Fact $fact): string; 40ade503dfSGreg Roach 41ade503dfSGreg Roach /** 42ade503dfSGreg Roach * Links, to show in chart boxes; 43ade503dfSGreg Roach * 44ade503dfSGreg Roach * @param Individual $individual 45ade503dfSGreg Roach * 46ade503dfSGreg Roach * @return Menu[] 47ade503dfSGreg Roach */ 48ade503dfSGreg Roach public function individualBoxMenu(Individual $individual): array; 49ade503dfSGreg Roach 50ade503dfSGreg Roach /** 51ade503dfSGreg Roach * Themes menu. 52ade503dfSGreg Roach * 53ade503dfSGreg Roach * @return Menu|null 54ade503dfSGreg Roach */ 55e364afe4SGreg Roach public function menuThemes(): ?Menu; 56ade503dfSGreg Roach 57ade503dfSGreg Roach /** 58ade503dfSGreg Roach * Misecellaneous dimensions, fonts, styles, etc. 59ade503dfSGreg Roach * 60ade503dfSGreg Roach * @param string $parameter_name 61ade503dfSGreg Roach * 62ade503dfSGreg Roach * @return string|int|float 63ade503dfSGreg Roach */ 64ade503dfSGreg Roach public function parameter($parameter_name); 65ade503dfSGreg Roach 66ade503dfSGreg Roach /** 67ade503dfSGreg Roach * Generate a list of items for the main menu. 68ade503dfSGreg Roach * 690c8c69d4SGreg Roach * @param Tree|null $tree 700c8c69d4SGreg Roach * 71ade503dfSGreg Roach * @return Menu[] 72ade503dfSGreg Roach */ 730c8c69d4SGreg Roach public function genealogyMenu(?Tree $tree): array; 74ade503dfSGreg Roach 75ade503dfSGreg Roach /** 76ade503dfSGreg Roach * Generate a list of items for the user menu. 77ade503dfSGreg Roach * 780c8c69d4SGreg Roach * @param Tree|null $tree 790c8c69d4SGreg Roach * 80ade503dfSGreg Roach * @return Menu[] 81ade503dfSGreg Roach */ 820c8c69d4SGreg Roach public function userMenu(?Tree $tree): array; 83ade503dfSGreg Roach 84ade503dfSGreg Roach /** 85ade503dfSGreg Roach * A list of CSS files to include for this page. 86ade503dfSGreg Roach * 87ade503dfSGreg Roach * @return string[] 88ade503dfSGreg Roach */ 89ade503dfSGreg Roach public function stylesheets(): array; 90a25f0a04SGreg Roach} 91