#
# $Id$
# $HeadURL$
# $Author$
#
# Created by Mike Wille, SLSE, 2017-03-15
#
# Make ${Qt6_Widgets} optional
if(QT6_GUI_AVAILABLE AND TARGET Qt6::Widgets)
  set(Qt6_Widgets ${Qt6_Widgets})
else()
  set(Qt6_Widgets "")
endif()


ADD_SUBDIRECTORY(SanNineLinerEdit)

SET(evl_edit_gui_SRCS
  evl_edit_gui_plugin.cpp
  evl_edit_gui_plugin.h

  CriteriumEdit/evl_dialog.h
  CriteriumEdit/evl_dialog.cpp
  CriteriumEdit/evl_edit_dialog.cpp
  CriteriumEdit/evl_edit_dialog.h
  CriteriumEdit/evl_model.cpp
  CriteriumEdit/evl_model.h
  CriteriumEdit/evl_element_dialog.cpp
  CriteriumEdit/evl_element_dialog.h
  CriteriumEdit/evl_element_model.cpp
  CriteriumEdit/evl_element_model.h
  CriteriumEdit/evl_edit_element_dialog.cpp
  CriteriumEdit/evl_edit_element_dialog.h
  CriteriumEdit/TopicEditor/topic_editor.cpp
  CriteriumEdit/TopicEditor/topic_editor.h
  CriteriumEdit/TopicEditor/evl_topic_editor_model.cpp
  CriteriumEdit/TopicEditor/evl_topic_editor_model.h


  SchemaEdit/evl_comment_model.cpp
  SchemaEdit/evl_comment_model.h
  SchemaEdit/evl_comment_tuple.h
  SchemaEdit/evl_comments.cpp
  SchemaEdit/evl_comments.h
  SchemaEdit/evl_edit_schema_element_data.cpp
  SchemaEdit/evl_edit_schema_element_data.h
  SchemaEdit/evl_edit_schema.cpp
  SchemaEdit/evl_edit_schema.h

  SchemaEdit/evl_edit_treemodel_general.cpp
  SchemaEdit/evl_edit_treemodel_general.h
  SchemaEdit/evl_edit_treemodel_schema.cpp
  SchemaEdit/evl_edit_treemodel_schema.h
  SchemaEdit/evl_new_comment_dialog.cpp
  SchemaEdit/evl_new_comment_dialog.h
  )

NGL_WRAP_UI(evl_edit_gui_SRCS
  CriteriumEdit/evl_dialog.ui
  CriteriumEdit/evl_element_dialog.ui
  CriteriumEdit/evl_edit_dialog.ui
  CriteriumEdit/evl_edit_element_dialog.ui
  CriteriumEdit/TopicEditor/topic_editor.ui

  SchemaEdit/evl_comments.ui
  SchemaEdit/evl_edit_schema.ui
  SchemaEdit/evl_new_comment_dialog.ui
  )



NGL_ADD_LIBRARY(WS EvlEditGuiPlugin MODULE ${evl_edit_gui_SRCS})
if(QT6_GUI_AVAILABLE)
  NGL_TARGET_LINK_LIBRARIES(EvlEditGuiPlugin
    LtsPrinting
    NGLLogger
    LtsSession
    EvlDataPluginInterface
    EvlGuiPluginInterface
    OpmDataPluginInterface
    AvmDataPluginInterface
    ExmDataPluginInterface
    FlmDataPluginInterface
    OscDataPluginInterface
  
    svcEvlCommon
    ${Qt6_Widgets}
    LtsWidgets
    LtsDataView
    LtsUtilsGuiDds
    LtsUtilsSettings
    LtsSessionData
    ProjectConfig
    ngltools
    nglwidgets
    FltAesGuiCommon
    FltAesGuiPluginInterface
    FlmDataPluginInterface
    TopicEditorBase
    LtsScriptTimeline # TopicEditor
    LtsUtilsSettings
    )
endif()

NGL_INSTALL_TARGET(EvlEditGuiPlugin)
