
set(libMvQtGui_srcs
    AbstractSearchLine.cc
    AbstractTextEditSearchInterface.cc
    CalendarDialog.cc
    DateEditWidget.cc
    GotoLineDialog.cc
    IconProvider.cc
    LocationMap.cc
    LocationView.cc
    LocationWidget.cc
    MessageControlPanel.cc
    MessageLabel.cc
    #OutputBrowser.cc
    PlainTextEdit.cc
    PlainTextSearchInterface.cc
    PlainTextSearchLine.cc
    PlainTextWidget.cc
    PropertyLineEditor.cc
    StatusMsgHandler.cc
    StringMatchCombo.cc
    StringMatchMode.cc
    TextEditSearchLine.cc
    TextDialog.cc
    TreeModelMatchCollector.cc
    MvQAbout.cc
    #MvQAbstractSearchLine.cc
    MvQApplication.cc
    MvQArrowSpinWidget.cc
    MvQCheckBoxCombo.cc
    MvQComboLine.cc
    MvQColourWidget.cc
    MvQConfigDialog.cc
    MvQDragDrop.cc
    MvQDropTarget.cc
    MvQFileDialog.cc
    MvQFileInfoLabel.cc
    MvQFileListModel.cc
    MvQFileListWidget.cc    
    MvQHighlighter.cc
    MvQKeyMimeData.cc
    MvQKeyModel.cc
    MvQKeyDialog.cc
    #MvQKeyFilterModel.cc
    MvQKeyProfileModel.cc
    MvQKeyProfileTree.cc
    MvQLineEdit.cc
    MvQLogBrowser.cc
    MvQLogPanel.cc
    MvQMailDialog.cc
    MvQMainWindow.cc
    MvQMethods.cc
    MvQAbstractMessageExaminer.cc
    MvQPanel.cc
    MvQPixmapCache.cc
    #MvQPlainTextEditSearchLine.cc
    MvQProfileWidget.cc
    MvQProfileView.cc
    MvQRangeWidget.cc
    MvQSearchLinePanel.cc
    MvQService.cc
    MvQServiceApplication.cc
    MvQSlider.cc
    MvQStackedEditor.cc
    MvQStationsWidget.cc
    MvQStyleTreeWidget.cc
    MvQTabManager.cc
    MvQTextDialog.cc
    #MvQTextEditSearchLine.cc
    MvQTreeExpandState.cc
    MvQTreeView.cc
    MvQTreeViewSearchLine.cc
    MvQMemoryWidget.cc

)


list (APPEND libMvQtGui_srcs MvQScmDataWidget.cc MvQScmModel.cc)

# for when we want to start using web-based help
# list(APPEND libMvQtGui_srcs MvQWebViewSearchLine.cc MvQWebViewSearchLine.h)


set(moc_files
    AbstractSearchLine.h
    CalendarDialog.h
    DateEditWidget.h
    GotoLineDialog.h
    LocationMap.h
    LocationView.h
    LocationWidget.h
    MessageControlPanel.h
    PlainTextEdit.h
    PlainTextWidget.h
    PropertyLineEditor.h
    TextEditSearchLine.h
    TextDialog.h
    MvQAbstractMessageExaminer.h
    #MvQAbstractSearchLine.h
    MvQArrowSpinWidget.h
    MvQApplication.h MvQCheckBoxCombo.h
    MvQColourWidget.h
    MvQComboLine.h
    MvQConfigDialog.h
    MvQFileListModel.h MvQFileListWidget.h
    MvQKeyDialog.h MvQKeyMimeData.h
    MvQKeyModel.h
    #MvQKeyFilterModel.h
    MvQKeyProfileModel.h
    MvQKeyProfileTree.h
    MvQLineEdit.h
    MvQLogBrowser.h
    MvQLogPanel.h
    MvQMailDialog.h
    MvQMemoryWidget.h
    MvQProfileView.h
    MvQProfileWidget.h
    MvQRangeWidget.h
    #MvQPlainTextEditSearchLine.h
    MvQScmDataWidget.h
    MvQScmModel.h
    MvQSearchLinePanel.h
    MvQService.h
    MvQStackedEditor.h
    MvQStationsWidget.h
    MvQStyleTreeWidget.h
    MvQTabManager.h
    #MvQTextEditSearchLine.h
    MvQWebViewSearchLine.h
    MvQTreeView.h
    MvQTreeViewSearchLine.h
    MvQWebViewSearchLine.h
)

set(form_files
    CalendarDialog.ui
    GotoLineDialog.ui
    LocationMap.ui
    LocationWidget.ui
    PlainTextWidget.ui
    SearchLineWidget.ui
    TextDialog.ui
   )

if (METVIEW_ODB)
    list(APPEND libMvQtGui_srcs MvQOdbModel.cc MvQOdbDataWidget.cc MvQOdbModel.h)
    list(APPEND moc_files MvQOdbDataWidget.h)
    #list(APPEND generated_srcs MvQOdbDataWidget.moc.cpp)
    #######lib_libMvQtGui_a_CPPFLAGS += $(ODB_CPPFLAGS)
endif()

if(METVIEW_QT5)
 QT5_WRAP_CPP(libMvQtGui_MOC ${moc_files})
 QT5_ADD_RESOURCES(libMvQtGui_RES edit.qrc examiner.qrc find.qrc keyDialog.qrc mail.qrc window.qrc)
 QT5_WRAP_UI(libMvQtGui_FORMS_HEADERS ${form_files})
else()
 QT4_WRAP_CPP(libMvQtGui_MOC ${moc_files})
 QT4_ADD_RESOURCES(libMvQtGui_RES edit.qrc examiner.qrc find.qrc keyDialog.qrc mail.qrc window.qrc)
 QT4_WRAP_UI(libMvQtGui_FORMS_HEADERS ${viewer_wrap_ui_files})
endif()


###QT4_WRAP_CPP(libMvQtGui_HEADERS_MOC ${moc_files})

#foreach( f ${moc_files} )
#    QT4_WRAP_CPP(${f}.moc.cpp ${f})
#    set_source_files_properties( ${f}.moc.cpp GENERATED )
#    list(APPEND generated_srcs ${f}.moc.cpp)
#endforeach()

#set(generated_srcs
#    MvQAbstractMessageExaminer.moc.cpp
#    MvQAbstractSearchLine.moc.cpp
#    MvQApplication.moc.cpp MvQCheckBoxCombo.moc.cpp
#    MvQComboLine.moc.cpp
#    MvQConfigDialog.moc.cpp
#    MvQGuiItem.moc.cpp MvQGui.moc.cpp
#    MvQKeyDialog.moc.cpp MvQKeyMimeData.moc.cpp
#    MvQKeyModel.moc.cpp MvQKeyFilterModel.moc.cpp MvQKeyProfileModel.moc.cpp
#    MvQKeyProfileTree.moc.cpp
#    MvQLineEdit.moc.cpp
#    MvQMailDialog.moc.cpp
#    MvQProfileView.moc.cpp
#    MvQProfileWidget.moc.cpp
#    MvQRangeWidget.moc.cpp
#    MvQPlainTextEditSearchLine.moc.cpp
#    MvQScmDataWidget.moc.cpp
#    MvQScmModel.moc.cpp
#    MvQSearchLinePanel.moc.cpp
#    MvQService.moc.cpp
#    MvQStackedEditor.moc.cpp
#    MvQStationsWidget.moc.cpp
#    MvQTabManager.moc.cpp MvQTextEditSearchLine.moc.cpp  MvQWebViewSearchLine.moc.cpp
#    MvQTreeView.moc.cpp
#    MvQTreeViewSearchLine.moc.cpp 
#    MvQMemoryWidget.moc.cpp
#    edit.qrc.cpp examiner.qrc.cpp find.qrc.cpp keyDialog.qrc.cpp mail.qrc.cpp window.qrc.cpp
#)


#if (METVIEW_ODB)
#    list(APPEND libMvQtGui_srcs MvQOdbModel.cc MvQOdbDataWidget.cc MvQOdbModel.h MvQOdbDataWidget.h)
#    list(APPEND generated_srcs MvQOdbDataWidget.moc.cpp)
#    #######lib_libMvQtGui_a_CPPFLAGS += $(ODB_CPPFLAGS)
#endif()


foreach( f ${generated_srcs} )
    set_source_files_properties( ${f} GENERATED )
endforeach()

ecbuild_add_library( TARGET      MvQtGui
                     TYPE        STATIC
                     NOINSTALL
                     SOURCES     ${libMvQtGui_MOC} ${libMvQtGui_RES} ${libMvQtGui_srcs} ${libMvQtGui_FORMS_HEADERS}
                     TEMPLATES   ${common_templates}
                     LIBS        marsclient ${METVIEW_EXTRA_LIBRARIES}
                     INCLUDES     ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
                                  ${METVIEW_QT_INCLUDE_DIRS} ../uPlot  ${METVIEW_STANDARD_INCLUDES}
                     DEFINITIONS ${METVIEW_EXTRA_DEFINITIONS}
                     DEPENDS     
)
