# SPDX-License-Identifier: GPL-3.0-only
# MuseScore-Studio-CLA-applies
#
# MuseScore Studio
# Music Composition & Notation
#
# Copyright (C) 2026 MuseScore Limited and others
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.

muse_create_qml_module(palette_qml FOR palette)

qt_add_qml_module(palette_qml
    URI MuseScore.Palette
    VERSION 1.0
    SOURCES
        internal/drumsetpanelview.cpp
        internal/drumsetpanelview.h
        internal/palettepropertiesmodel.cpp
        internal/palettepropertiesmodel.h
        internal/paletterootmodel.cpp
        internal/paletterootmodel.h
        internal/palettespanelcontextmenumodel.cpp
        internal/palettespanelcontextmenumodel.cpp
        internal/palettespanelcontextmenumodel.h
        internal/palettespanelcontextmenumodel.h
        internal/palettecellpropertiesmodel.h
        internal/palettecellpropertiesmodel.cpp
    QML_FILES
        DrumsetPanel.qml
        internal/AddPalettesPopup.qml
        internal/CreateCustomPalettePopup.qml
        internal/MoreElementsPopup.qml
        internal/PaletteGridLinesCanvas.qml
        internal/PaletteGridView.qml
        internal/PalettePropertyItem.qml
        internal/PalettesPanelHeader.qml
        internal/PaletteTree.qml
        internal/PlaceholderManager.qml
        internal/TreePaletteHeader.qml
        internal/PaletteUtils.mjs
        PaletteCellPropertiesDialog.qml
        PalettePropertiesDialog.qml
        PalettesPanel.qml
    IMPORTS
        TARGET muse_ui_qml
        TARGET muse_uicomponents_qml
)

fixup_qml_module_dependencies(palette_qml)

# Necessary for the auto-generated sources
target_include_directories(palette_qml PRIVATE internal)
