#
# $Id$
# $HeadURL$
# $Author$
#
# Created by Mike Wille, SLSE, 2016-10-28
#

# Make ${Qt6_Widgets} optional
if(QT6_GUI_AVAILABLE AND TARGET Qt6::Widgets)
  set(Qt6_Widgets ${Qt6_Widgets})
else()
  set(Qt6_Widgets "")
endif()


SET(src
  ExerciseAssignment/ism_exercise_assignment_dialog.cpp
  ExerciseAssignment/ism_exercise_assignment_dialog_model.cpp
  ExerciseAssignment/ism_exercise_assignment_dialog_requesters.cpp
  ExerciseAssignment/ism_exercise_assignment_dialog_proxy_model.cpp

  Overview/ism_overview_dialog.cpp
  Overview/ism_overview_dialog_model.cpp
  Overview/ism_overview_mounting_point_list_dialog.cpp
  Overview/ism_overview_mounting_point_list_model.cpp
  Overview/ism_overview_conflicts_dialog.cpp
  Overview/ism_overview_conflicts_model.cpp

  AssetList/ism_asset_list_dialog_model.cpp
  AssetList/ism_asset_list_dialog.cpp
  AssetList/ism_edit_asset_dialog.cpp
  AssetList/ism_filter_asset_dialog.cpp
  AssetList/ism_set_properties_dialog.cpp

  MountingPointInfo/ism_mounting_point_info_dialog.cpp

  MountingPointMapSelection/ism_dds_selector.cpp
  MountingPointMapSelection/ism_selector.cpp

  MountingPointList/ism_mounting_point_list_dialog.cpp
  MountingPointList/ism_mounting_point_list_dialog_model.cpp
  MountingPointList/ism_mounting_point_list_dialog_checkbox_delegate.cpp
  MountingPointList/ism_mounting_point_list_dialog_checkbox_proxy_model.cpp
  MountingPointList/ism_mounting_point_list_dialog_list_sort_model.cpp

  ApproachingPoints/ism_approaching_point_list_dialog_model.cpp
  ApproachingPoints/ism_approaching_point_list_dialog.cpp
  ApproachingPoints/ism_edit_approaching_point_dialog.cpp

  # ScheduleDifferences ersetzt durch neuen VollständigkeitsCheck:
  # Overview/ism_overview_mounting_point_list{model, dialog}
#  ScheduleDifferences/ism_schedule_differences_list_dialog.cpp
#  ScheduleDifferences/ism_schedule_differences_list_model.cpp

  ism_resource_gui_plugin.cpp
  ism_resource_gui_plugin.h

  ism_building_mount_point_dialog.cpp
  ism_building_mount_point_model.cpp

  ism_plan_dialog.cpp
  ism_plan_edit_dialog.cpp
  ism_plan_dialog_model.cpp

  #Timeline/ism_plan_tln_delegate.cpp
  #Timeline/ism_plan_tln_delegate.h
  #Timeline/ism_plan_tln_dialog.cpp
  #Timeline/ism_plan_tln_dialog.h
  #Timeline/ism_plan_tln_model.cpp
  #Timeline/ism_plan_tln_model.h

  PlanChooser/plan_chooser.cpp
  PlanChooser/new_plan_dialog.cpp

  CustomViews/ism_schedule.cpp
)

NGL_WRAP_UI(src
  Overview/ism_overview_dialog.ui
  Overview/ism_overview_mounting_point_list_dialog.ui
  Overview/ism_overview_conflicts_dialog.ui
  AssetList/ism_asset_list_dialog.ui
  AssetList/ism_edit_asset_dialog.ui
  AssetList/ism_filter_asset_dialog.ui
  AssetList/ism_set_properties_dialog.ui
  MountingPointInfo/ism_mounting_point_info_dialog.ui
  MountingPointList/ism_mounting_point_list_dialog.ui
#  ScheduleDifferences/ism_schedule_differences_list_dialog.ui
  ism_building_mount_point_dialog.ui
  ism_plan_dialog.ui
  ism_plan_edit_dialog.ui
  #Timeline/ism_plan_tln_dialog.ui
  PlanChooser/plan_chooser.ui
  PlanChooser/new_plan_dialog.ui
  CustomViews/ism_schedule.ui
  ApproachingPoints/ism_approaching_point_list_dialog.ui
  ApproachingPoints/ism_edit_approaching_point_dialog.ui
  ExerciseAssignment/ism_exercise_assignment_dialog.ui
)

NGL_ADD_LIBRARY(WS IsmResGuiPlugin MODULE ${src})
if(QT6_GUI_AVAILABLE)
  NGL_TARGET_LINK_LIBRARIES(IsmResGuiPlugin
    LtsPrinting
    NGLLogger
    nglwidgets
    ngltools
    LtsSession
    LtsSessionData
    LtsNotification
    AvmDataPluginInterface
    IsmResGuiPluginInterface
    IsmDataPluginInterface
    IsmShared
    ${Qt6_Widgets}
    LtsWidgets
    LtsDataView
    LtsUtilsCore # json
    LtsUtilsGuiDds
    LtsCoordTrans
    ltsCoordWidget
    SituationMapGuiPluginInterface
    situationMap
    LtsUtilsGuiConnectDialog
    LtsUtilsSettings
    #LtsTimeline
    LtsSessionDataDds
    ExmDataPluginInterface
    CmoDataPluginInterface
  )
endif()

NGL_INSTALL_TARGET(IsmResGuiPlugin)


