#  SPDX-License-Identifier: MPL-2.0
#    Copyright (c) 2022 Philipp Le <philipp@philipple.de>.
#  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 https://mozilla.org/MPL/2.0/.

from typing import List, Type
from . import base

from .ch02_phasor import Ch02PhasorWindow
from .ch02_fourier import Ch02FourierWindow
from .ch03_ergodic import Ch03ErgodicWindow


def get_windows() -> List[Type[base.Window]]:
    return [
        Ch02PhasorWindow,
        Ch02FourierWindow,
        Ch03ErgodicWindow,
    ]


def get_groups() -> List[Type[base.Group]]:
    return base.get_groups(get_windows())


def get_win_of_group(grp: Type[base.Group]) -> List[Type[base.Window]]:
    return base.get_win_of_group(get_windows(), grp)
