Warning, file /maui/strike/src/controllers/cmakeproject.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 #include "cmakeproject.h" 0002 #include "cmakedata.h" 0003 #include "models/cmaketargetsmodel.h" 0004 #include "cmakeprojecttarget.h" 0005 #include "projectpreferences.h" 0006 #include "cmakeprojectmanager.h" 0007 #include "projectmanager.h" 0008 0009 #include <QDebug> 0010 0011 CMakeProject::CMakeProject(CMakeProjectManager *manager) : QObject(manager) 0012 ,m_targetsModel(new CMakeTargetsModel{this}) 0013 ,m_target(new CMakeProjectTarget(this)) 0014 ,m_manager(manager) 0015 { 0016 0017 0018 } 0019 0020 QString CMakeProject::title() const 0021 { 0022 return m_data.name; 0023 } 0024 0025 CMakeTargetsModel *CMakeProject::targetsModel() const 0026 { 0027 return m_targetsModel; 0028 } 0029 0030 CMakeProjectData CMakeProject::data() const 0031 { 0032 return m_data; 0033 } 0034 0035 CMakeProjectTarget *CMakeProject::target() const 0036 { 0037 return m_target; 0038 } 0039 0040 CMakeProjectManager *CMakeProject::manager() const 0041 { 0042 return m_manager; 0043 } 0044 0045 void CMakeProject::setData(CMakeProjectData data) 0046 { 0047 qDebug() << "Setting the cmake project data" << data.name; 0048 0049 m_data = data; 0050 0051 m_targetsModel->setTargetData(m_data.targets); 0052 auto execs = m_targetsModel->filterBy(CMakeTarget::Executable); 0053 0054 if(!execs.isEmpty()) 0055 { 0056 m_target->setData(execs.first(), m_manager->root()->projectPath ()); 0057 } 0058 0059 emit dataChanged(m_data); 0060 } 0061