#
# $Id$
# $HeadURL$
# $Author$
#

#
# Lts Widgets library
#

SET(ltswidgets_SRCS
    #lts_abstract_table_model.h
    #lts_checkable_table_model.h
    lts_abstract_sequence_widget.cpp
    lts_abstract_sequence_widget.h
    lts_background_widget.cpp
    lts_background_widget.h
    lts_base.h
    lts_base_layout_widget.cpp
    lts_base_layout_widget.h
    lts_column_filter_proxy_model.cpp
    lts_column_filter_proxy_model.h
    lts_combo_box.cpp
    lts_combo_box.h
    lts_selection_popup.cpp
    lts_selection_popup.h
    lts_drag_icon.cpp
    lts_drag_icon.h
    #lts_drop_handler.h
    lts_elided_label.cpp
    lts_elided_label.h
    lts_events.cpp
    lts_events.h
    lts_frameless_dialog.cpp
    lts_frameless_dialog.h
    lts_grid_layout.cpp
    lts_grid_layout.h
    lts_height_plot_widget.cpp
    lts_height_plot_widget.h
    lts_message_dialog.cpp
    lts_message_dialog.h
    lts_message_dialog_helper.cpp
    lts_message_dialog_helper.h
    lts_profile_button.cpp
    lts_profile_button.h
    lts_progress_dialog_helper.cpp
    lts_progress_dialog_helper.h
    lts_splitter.cpp
    lts_splitter.h
    lts_splitter_handle.cpp
    lts_splitter_handle.h
    lts_tab_bar.cpp
    lts_tab_bar.h
    lts_tab_widget.cpp
    lts_tab_widget.h
    lts_tab_sequence_widget.cpp
    lts_tab_sequence_widget.h
    lts_tool_bar.cpp
    lts_tool_bar.h
    lts_tool_box.cpp
    lts_tool_box.h
    lts_tool_bar_area.cpp
    lts_tool_bar_area.h
    lts_dialog.cpp
    lts_dialog.h
    lts_dialog_helper.cpp
    lts_dialog_helper.h
    lts_dialog_button_box.cpp
    lts_dialog_button_box.h
    lts_operator_menu.cpp
    lts_operator_menu.h
    lts_image_editor.cpp
    lts_image_editor.h
    lts_led_widget.cpp
    lts_led_widget.h
    ui_requirement.cpp
    ui_requirement.h
    #lts_widgets_export.h
    lts_picture_view.cpp
    lts_picture_view.h
    lts_global_wait_dialog.cpp
    lts_global_wait_dialog.h
    lts_wait_dialog.cpp
    lts_wait_dialog.h
    lts_splash.cpp
    lts_splash.h
    lts_info_dialog.cpp
    lts_info_dialog.h
    lts_spinbox.cpp
    lts_spinbox.h
    lts_multi_range_spinbox.cpp
    lts_multi_range_spinbox.h
    lts_text_editor.cpp
    lts_text_editor.h
    lts_text_edit_dialog.h
    lts_text_edit_dialog.cpp
    lts_range_slider.cpp
    lts_range_slider.h
    lts_notification_box.cpp
    lts_notification_box.h
    lts_msec_date_time_edit.cpp
    lts_msec_date_time_edit.h
    lts_bitfield_widget.cpp
    lts_bitfield_widget.h
    lts_overlay_loading.cpp
    lts_angle_edit.cpp
    lts_angle_edit.h
    lts_text_editor2.h
    lts_text_editor2.cpp



    LtsImageCropper/lts_image_cropper.cpp
)


#if (TABLET_MODE)
#  LIST(APPEND ltswidgets_SRCS
#    lts_date_time_edit_touch.h
#    lts_date_time_edit_touch.cpp
#  )
#  NGL_WRAP_UI(ltswidgets_SRCS
#    lts_date_time_edit_touch.ui
#  )
#else()
  LIST(APPEND ltswidgets_SRCS
    lts_date_time_edit.h
    lts_date_time_edit.cpp
    lts_date_time_edit_p.h
    lts_date_time_edit_p.cpp
  )  
#endif()


NGL_WRAP_UI(ltswidgets_SRCS
    lts_selection_popup.ui
    lts_base_layout.ui
    lts_tool_bar_area.ui
    lts_overlay_loading.ui
    lts_dialog_button_box.ui
    lts_operator_menu.ui
    lts_dialog_helper.ui
    lts_info_dialog.ui
    lts_text_editor.ui
    lts_notification_box.ui
    lts_angle_edit.ui
    lts_date_time_edit_touch.ui
)

NGL_ADD_BIG_RESOURCES(ltswidgets_SRCS resources/lts_resources.qrc)
NGL_ADD_LIBRARY(WS TOOLSWS TOOLSSV LtsWidgets SHARED ${ltswidgets_SRCS})


NGL_TARGET_INCLUDE_DIRECTORIES(LtsWidgets
  PUBLIC
    ${CMAKE_CURRENT_SOURCE_DIR}/../
)

NGL_TARGET_LINK_LIBRARIES(LtsWidgets
  PRIVATE
    Qt5::Network # for QHostInfo - for portability
    Qt5::Svg
    ngltools
    ngltranslator
    TabBarTabStyle
    LtsSessionData
    LtsUtilsSettings
  PUBLIC
    LtsUtilsCore
    Qt5::Core
    Qt5::Widgets
    Qt5::Gui
)

NGL_INSTALL_TARGET(LtsWidgets)

#
# Designer-Plugin
#
SET(ltswidgetsplugin_SRCS ltswidgetsplugin.cpp ltswidgetsplugin.json)
NGL_ADD_LIBRARY(WS ltswidgetsplugin MODULE ${ltswidgetsplugin_SRCS})
NGL_TARGET_LINK_LIBRARIES(ltswidgetsplugin LtsWidgets ltsCoordWidget LtsDataView LtsFileDialog LtsReportDisplay svcFlmCommon)
NGL_SET_TARGET_PROPERTIES(ltswidgetsplugin PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/designer)
NGL_INSTALL_TARGET(ltswidgetsplugin DESTINATION lib/designer COMPONENT Devel)

IF(BUILD_TESTING)
  # picture_editing_test
  SET(pet_SRCS
    tests/lts_picture_editing.cpp
    tests/lts_picture_editing.h
    tests/lts_picture_editing_main.cpp
  )
  NGL_WRAP_UI(pet_SRCS
    tests/lts_picture_editing.ui
  )
  NGL_ADD_EXECUTABLE(WS NO_TRANSLATION picture_editing_test ${pet_SRCS})
  NGL_TARGET_LINK_LIBRARIES(picture_editing_test
    LtsWidgets
  )


#  # LtsWidgetsTest
#  SET(src_test
#    tests/main.cpp
#    tests/window.h
#    tests/window.cpp
#  )

#  NGL_ADD_EXECUTABLE(WS NO_TRANSLATION LtsWidgetsTest ${src_test})
#  NGL_TARGET_LINK_LIBRARIES(LtsWidgetsTest
#    LtsWidgets
#  )
ENDIF()
