#
# $Id$
# $HeadURL$
# $Author$
#
# Created by Filip Biedziak, SLTE, 2021-06-03
#

# Filter
SET(tln_event_types_SRCS
  #  EventTypes/BCContamination/tln_bccontamination_event_factory.cpp
  #  EventTypes/BCContamination/tln_bccontamination_event_factory.h
  #  EventTypes/BCContamination/tln_bccontamination_filter.cpp
  #  EventTypes/BCContamination/tln_bccontamination_filter.h
  #  EventTypes/BCContamination/tln_bccontamination_item.cpp
  #  EventTypes/BCContamination/tln_bccontamination_item.h

  EventTypes/BiteMessage/tln_bite_message_event_factory.cpp
  EventTypes/BiteMessage/tln_bite_message_event_factory.h
  EventTypes/BiteMessage/tln_bite_message_filter.cpp
  EventTypes/BiteMessage/tln_bite_message_filter.h
  EventTypes/BiteMessage/tln_bite_message_item.cpp
  EventTypes/BiteMessage/tln_bite_message_item.h

  EventTypes/Block/tln_block_item.cpp
  EventTypes/Block/tln_block_item.h

  #  EventTypes/Borderline/tln_borderline_event_factory.cpp
  #  EventTypes/Borderline/tln_borderline_event_factory.h
  #  EventTypes/Borderline/tln_borderline_filter.cpp
  #  EventTypes/Borderline/tln_borderline_filter.h
  #  EventTypes/Borderline/tln_borderline_item.cpp
  #  EventTypes/Borderline/tln_borderline_item.h

  EventTypes/CameraVideo/tln_camera_video_event_factory.cpp
  EventTypes/CameraVideo/tln_camera_video_event_factory.h
  EventTypes/CameraVideo/tln_camera_video_filter.cpp
  EventTypes/CameraVideo/tln_camera_video_filter.h
  EventTypes/CameraVideo/tln_camera_video_item.cpp
  EventTypes/CameraVideo/tln_camera_video_item.h

  EventTypes/CrossBorderline/tln_cross_borderline_event_factory.cpp
  EventTypes/CrossBorderline/tln_cross_borderline_event_factory.h
  EventTypes/CrossBorderline/tln_cross_borderline_filter.cpp
  EventTypes/CrossBorderline/tln_cross_borderline_filter.h
  EventTypes/CrossBorderline/tln_cross_borderline_item.cpp
  EventTypes/CrossBorderline/tln_cross_borderline_item.h

  #  EventTypes/DangerArea/tln_danger_area_event_factory.cpp
  #  EventTypes/DangerArea/tln_danger_area_event_factory.h
  #  EventTypes/DangerArea/tln_danger_area_filter.cpp
  #  EventTypes/DangerArea/tln_danger_area_filter.h
  #  EventTypes/DangerArea/tln_danger_area_item.cpp
  #  EventTypes/DangerArea/tln_danger_area_item.h

  #  EventTypes/EmergencyCall/tln_emergency_call_event_factory.cpp
  #  EventTypes/EmergencyCall/tln_emergency_call_event_factory.h
  #  EventTypes/EmergencyCall/tln_emergency_call_filter.cpp
  #  EventTypes/EmergencyCall/tln_emergency_call_filter.h
  #  EventTypes/EmergencyCall/tln_emergency_call_item.cpp
  #  EventTypes/EmergencyCall/tln_emergency_call_item.h

  #  EventTypes/EnterDangerArea/tln_enter_danger_area_event_factory.cpp
  #  EventTypes/EnterDangerArea/tln_enter_danger_area_event_factory.h
  #  EventTypes/EnterDangerArea/tln_enter_danger_area_filter.cpp
  #  EventTypes/EnterDangerArea/tln_enter_danger_area_filter.h
  #  EventTypes/EnterDangerArea/tln_enter_danger_area_item.cpp
  #  EventTypes/EnterDangerArea/tln_enter_danger_area_item.h

  #  EventTypes/EnterFunctionalArea/tln_enter_functional_area_event_factory.cpp
  #  EventTypes/EnterFunctionalArea/tln_enter_functional_area_event_factory.h
  #  EventTypes/EnterFunctionalArea/tln_enter_functional_area_filter.cpp
  #  EventTypes/EnterFunctionalArea/tln_enter_functional_area_filter.h
  #  EventTypes/EnterFunctionalArea/tln_enter_functional_area_item.cpp
  #  EventTypes/EnterFunctionalArea/tln_enter_functional_area_item.h

  #  EventTypes/EnterMineArea/tln_enter_mine_area_event_factory.cpp
  #  EventTypes/EnterMineArea/tln_enter_mine_area_event_factory.h
  #  EventTypes/EnterMineArea/tln_enter_mine_area_filter.cpp
  #  EventTypes/EnterMineArea/tln_enter_mine_area_filter.h
  #  EventTypes/EnterMineArea/tln_enter_mine_area_item.cpp
  #  EventTypes/EnterMineArea/tln_enter_mine_area_item.h

  #  EventTypes/EnterNuclear/tln_enter_nuclear_event_factory.cpp
  #  EventTypes/EnterNuclear/tln_enter_nuclear_event_factory.h
  #  EventTypes/EnterNuclear/tln_enter_nuclear_filter.cpp
  #  EventTypes/EnterNuclear/tln_enter_nuclear_filter.h
  #  EventTypes/EnterNuclear/tln_enter_nuclear_item.cpp
  #  EventTypes/EnterNuclear/tln_enter_nuclear_item.h

  #  EventTypes/EquipmentErrorReport/tln_equipment_error_report_event_factory.cpp
  #  EventTypes/EquipmentErrorReport/tln_equipment_error_report_event_factory.h
  #  EventTypes/EquipmentErrorReport/tln_equipment_error_report_filter.cpp
  #  EventTypes/EquipmentErrorReport/tln_equipment_error_report_filter.h
  #  EventTypes/EquipmentErrorReport/tln_equipment_error_report_item.cpp
  #  EventTypes/EquipmentErrorReport/tln_equipment_error_report_item.h

  EventTypes/FireEvent/tln_fire_event_event_factory.cpp
  EventTypes/FireEvent/tln_fire_event_event_factory.h
  EventTypes/FireEvent/tln_fire_event_filter.cpp
  EventTypes/FireEvent/tln_fire_event_filter.h
  EventTypes/FireEvent/tln_fire_event_item.cpp
  EventTypes/FireEvent/tln_fire_event_item.h

  EventTypes/Hit/tln_hit_event_factory.cpp
  EventTypes/Hit/tln_hit_event_factory.h
  EventTypes/Hit/tln_hit_filter.cpp
  EventTypes/Hit/tln_hit_filter.h
  EventTypes/Hit/tln_hit_item.cpp
  EventTypes/Hit/tln_hit_item.h

  EventTypes/HitBuilding/tln_hit_building_event_factory.cpp
  EventTypes/HitBuilding/tln_hit_building_event_factory.h
  EventTypes/HitBuilding/tln_hit_building_filter.cpp
  EventTypes/HitBuilding/tln_hit_building_filter.h
  EventTypes/HitBuilding/tln_hit_building_item.cpp
  EventTypes/HitBuilding/tln_hit_building_item.h

  EventTypes/HitEffectSimulation/tln_hit_effect_simulation_event_factory.cpp
  EventTypes/HitEffectSimulation/tln_hit_effect_simulation_event_factory.h
  EventTypes/HitEffectSimulation/tln_hit_effect_simulation_filter.cpp
  EventTypes/HitEffectSimulation/tln_hit_effect_simulation_filter.h
  EventTypes/HitEffectSimulation/tln_hit_effect_simulation_item.cpp
  EventTypes/HitEffectSimulation/tln_hit_effect_simulation_item.h

  EventTypes/Manipulation/tln_manipulation_event_factory.cpp
  EventTypes/Manipulation/tln_manipulation_event_factory.h
  EventTypes/Manipulation/tln_manipulation_filter.cpp
  EventTypes/Manipulation/tln_manipulation_filter.h
  EventTypes/Manipulation/tln_manipulation_item.cpp
  EventTypes/Manipulation/tln_manipulation_item.h

  EventTypes/Marker/tln_marker_event_factory.cpp
  EventTypes/Marker/tln_marker_event_factory.h
  EventTypes/Marker/tln_marker_filter.cpp
  EventTypes/Marker/tln_marker_filter.h
  EventTypes/Marker/tln_marker_item.cpp
  EventTypes/Marker/tln_marker_item.h

  EventTypes/RadioCnr/tln_radio_cnr_event_factory.cpp
  EventTypes/RadioCnr/tln_radio_cnr_event_factory.h
  EventTypes/RadioCnr/tln_radio_cnr_filter.cpp
  EventTypes/RadioCnr/tln_radio_cnr_filter.h
  EventTypes/RadioCnr/tln_radio_cnr_item.cpp
  EventTypes/RadioCnr/tln_radio_cnr_item.h

  EventTypes/RadioTvc/tln_radio_tvc_event_factory.cpp
  EventTypes/RadioTvc/tln_radio_tvc_event_factory.h
  EventTypes/RadioTvc/tln_radio_tvc_filter.cpp
  EventTypes/RadioTvc/tln_radio_tvc_filter.h
  EventTypes/RadioTvc/tln_radio_tvc_item.cpp
  EventTypes/RadioTvc/tln_radio_tvc_item.h

  EventTypes/WeaponAssignment/tln_weapon_assignment_event_factory.cpp
  EventTypes/WeaponAssignment/tln_weapon_assignment_event_factory.h
  EventTypes/WeaponAssignment/tln_weapon_assignment_filter.cpp
  EventTypes/WeaponAssignment/tln_weapon_assignment_filter.h
  EventTypes/WeaponAssignment/tln_weapon_assignment_item.cpp
  EventTypes/WeaponAssignment/tln_weapon_assignment_item.h

  #  EventTypes/MineArea/tln_mine_area_event_factory.cpp
  #  EventTypes/MineArea/tln_mine_area_event_factory.h
  #  EventTypes/MineArea/tln_mine_area_filter.cpp
  #  EventTypes/MineArea/tln_mine_area_filter.h
  #  EventTypes/MineArea/tln_mine_area_item.cpp
  #  EventTypes/MineArea/tln_mine_area_item.h
  )

SET(tln_event_types_UICS
  )

# Timeline
SET(tln_event_timeline_gui_SRCS
  tln_filter_dialog.cpp
  tln_filter_dialog.h
  tln_filter_edit_dialog.cpp
  tln_filter_edit_dialog.h
  tln_filter_model.cpp
  tln_filter_model.h
  tln_item_info_dialog.cpp
  tln_item_info_dialog.h
  tln_item_list_dialog.cpp
  tln_item_list_dialog.h
  tln_item_list_model.cpp
  tln_item_list_model.h
  tln_legend.cpp
  tln_legend.h
  tln_timeline_delegate.cpp
  tln_timeline_delegate.h
  tln_timeline_dialog.cpp
  tln_timeline_dialog.h
  tln_timeline_model.cpp
  tln_timeline_model.h
  tln_timeline_select_handler.cpp
  tln_timeline_select_handler.h
  tln_timeline_proxy_model.cpp
  tln_timeline_proxy_model.h
  tln_timeline_progress.cpp
  tln_timeline_progress.h
  tln_utils.cpp
  tln_utils.h

  tln_abstract_event_factory.cpp
  tln_abstract_event_factory.h
  tln_abstract_event_filter.cpp
  tln_abstract_event_filter.h
  tln_abstract_event_item.cpp
  tln_abstract_event_item.h
  tln_abstract_participant_event_item.cpp
  tln_abstract_participant_event_item.h
  tln_filter_attribute.cpp
  tln_filter_attribute.h
  tln_participant_track.cpp
  tln_participant_track.h
  tln_party_track.cpp
  tln_party_track.h
  tln_av_tracks.cpp
  tln_av_tracks.h
  tln_marker_track.cpp
  tln_marker_track.h

  logger.cpp
  logger.h

  tln_event_timeline_gui_plugin.cpp
  tln_event_timeline_gui_plugin.h

  ${tln_event_types_SRCS}
  )

NGL_WRAP_UI(tln_event_timeline_gui_SRCS
  tln_timeline_dialog.ui
  tln_item_info_dialog.ui
  tln_item_list_dialog.ui
  tln_filter_dialog.ui
  tln_filter_edit_dialog.ui
  tln_legend.ui
  tln_timeline_progress.ui

  ${tln_event_types_UICS}
  )

NGL_ADD_LIBRARY(WS TlnEventTimelineGuiPlugin MODULE ${tln_event_timeline_gui_SRCS})
NGL_TARGET_LINK_LIBRARIES(TlnEventTimelineGuiPlugin
  Qt5::Widgets
  Qt5::WebSockets
  Qt5::Concurrent
  LtsAppManager
  LtsPluginManager
  LtsDataView
  LtsPrinting
  LtsSession
  LtsSessionData
  LtsTimeline
  LtsUtilsCore # data mod
  LtsUtilsGuiDds
  LtsUtilsSettings
  LtsWidgets
  NGLLogger
  ngldb
  nglsettings
  ngltools # dtg, get settings from fileLts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/CMakeLists.txt

  AvmDataPluginInterface
  ExmDataPluginInterface
  IsmDataPluginInterface
  MrkDataPluginInterface
  OpmDataPluginInterface
  PdmDataPluginInterface
  PpmDataPluginInterface

  FlmExplorerGuiPluginInterface
  FltAesGuiPluginInterface # SitMap Filter
  TlnDataPluginInterface
  TlnViewGuiPluginInterface

  MrkCommon # SitMap Filter Helper

  PpmDataPluginInterface
  PpmParticipantSelectionGui
  AvmShared
  )

NGL_INSTALL_TARGET(TlnEventTimelineGuiPlugin)



## LtsTimelineTest
#NGL_ADD_EXECUTABLE(WS EventTimelineTest main.cpp logger.cpp tln_timeline_model.cpp)
#NGL_TARGET_LINK_LIBRARIES(EventTimelineTest
#  LtsTimeline
#  nglapplication
#  NGLLogger
#  Qt5::Core
#  Qt5::Gui
#  Qt5::Widgets

#  ngltools # get settings from file
#  ngldb
#  nglsettings
#)
