mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
System : Performance improvements for TableViewModel
This commit is contained in:
parent
c4f3870cc9
commit
e063518460
@ -23,8 +23,6 @@ add_subdirectory(cafTests/cafTestApplication)
|
|||||||
add_subdirectory (cafProjectDataModel/cafPdmCore/cafPdmCore_UnitTests)
|
add_subdirectory (cafProjectDataModel/cafPdmCore/cafPdmCore_UnitTests)
|
||||||
add_subdirectory (cafProjectDataModel/cafPdmXml/cafPdmXml_UnitTests)
|
add_subdirectory (cafProjectDataModel/cafPdmXml/cafPdmXml_UnitTests)
|
||||||
|
|
||||||
add_subdirectory (cafUserInterface/cafUserInterface_UnitTests)
|
|
||||||
|
|
||||||
# Organize sub-projects into folders on Visual Studio
|
# Organize sub-projects into folders on Visual Studio
|
||||||
# Turn on using solution folders
|
# Turn on using solution folders
|
||||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||||
|
@ -194,14 +194,13 @@ QVariant PdmUiTableViewModel::data(const QModelIndex &index, int role /*= Qt::Di
|
|||||||
QList<PdmOptionItemInfo> valueOptions = uiFieldHandle->valueOptions(&fromMenuOnly);
|
QList<PdmOptionItemInfo> valueOptions = uiFieldHandle->valueOptions(&fromMenuOnly);
|
||||||
if (!valueOptions.isEmpty())
|
if (!valueOptions.isEmpty())
|
||||||
{
|
{
|
||||||
QStringList uiTexts = PdmOptionItemInfo::extractUiTexts(valueOptions);
|
|
||||||
int listIndex = uiFieldHandle->uiValue().toInt();
|
int listIndex = uiFieldHandle->uiValue().toInt();
|
||||||
if (listIndex == -1)
|
if (listIndex == -1)
|
||||||
{
|
{
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
return uiTexts.at(listIndex);
|
return valueOptions[listIndex].optionUiText;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant val;
|
QVariant val;
|
||||||
@ -280,15 +279,9 @@ void PdmUiTableViewModel::setPdmData(PdmChildArrayFieldHandle* listField, const
|
|||||||
|
|
||||||
PdmUiOrdering config;
|
PdmUiOrdering config;
|
||||||
|
|
||||||
std::vector<PdmObjectHandle*> listObjects;
|
if (m_pdmList && m_pdmList->size() > 0)
|
||||||
if (listField)
|
|
||||||
{
|
{
|
||||||
listField->childObjects(&listObjects);
|
PdmObjectHandle* firstObject = m_pdmList->at(0);
|
||||||
}
|
|
||||||
|
|
||||||
if (listObjects.size() > 0)
|
|
||||||
{
|
|
||||||
PdmObjectHandle* firstObject = listObjects[0];
|
|
||||||
|
|
||||||
PdmUiObjectHandle* uiObject = uiObj(firstObject);
|
PdmUiObjectHandle* uiObject = uiObj(firstObject);
|
||||||
if (uiObject)
|
if (uiObject)
|
||||||
@ -406,15 +399,9 @@ void PdmUiTableViewModel::setPdmData(PdmChildArrayFieldHandle* listField, const
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
PdmFieldHandle* PdmUiTableViewModel::getField(const QModelIndex &index) const
|
PdmFieldHandle* PdmUiTableViewModel::getField(const QModelIndex &index) const
|
||||||
{
|
{
|
||||||
std::vector<PdmObjectHandle*> listObjects;
|
if (m_pdmList && index.row() < static_cast<int>(m_pdmList->size()))
|
||||||
if (m_pdmList)
|
|
||||||
{
|
{
|
||||||
m_pdmList->childObjects(&listObjects);
|
PdmObjectHandle* pdmObject = m_pdmList->at(index.row());
|
||||||
}
|
|
||||||
|
|
||||||
if (index.row() < static_cast<int>(listObjects.size()))
|
|
||||||
{
|
|
||||||
PdmObjectHandle* pdmObject = listObjects[index.row()];
|
|
||||||
if (pdmObject)
|
if (pdmObject)
|
||||||
{
|
{
|
||||||
std::vector<PdmFieldHandle*> fields;
|
std::vector<PdmFieldHandle*> fields;
|
||||||
@ -506,33 +493,24 @@ void PdmUiTableViewModel::recreateTableItemEditors()
|
|||||||
}
|
}
|
||||||
m_tableItemEditors.clear();
|
m_tableItemEditors.clear();
|
||||||
|
|
||||||
std::vector<PdmObjectHandle*> listObjects;
|
|
||||||
if (m_pdmList)
|
if (m_pdmList)
|
||||||
{
|
{
|
||||||
m_pdmList->childObjects(&listObjects);
|
for (size_t i = 0; i < m_pdmList->size(); i++)
|
||||||
}
|
|
||||||
|
|
||||||
for (size_t i = 0; i < listObjects.size(); i++)
|
|
||||||
{
|
{
|
||||||
PdmObjectHandle* pdmObject = listObjects[i];
|
PdmObjectHandle* pdmObject = m_pdmList->at(i);
|
||||||
m_tableItemEditors.push_back(new PdmUiTableItemEditor(this, pdmObject, static_cast<int>(i)));
|
m_tableItemEditors.push_back(new PdmUiTableItemEditor(this, pdmObject, static_cast<int>(i)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
PdmObjectHandle* PdmUiTableViewModel::pdmObjectForRow(int row) const
|
PdmObjectHandle* PdmUiTableViewModel::pdmObjectForRow(int row) const
|
||||||
{
|
{
|
||||||
std::vector<PdmObjectHandle*> listObjects;
|
if (m_pdmList && row < m_pdmList->size())
|
||||||
if (m_pdmList)
|
|
||||||
{
|
{
|
||||||
m_pdmList->childObjects(&listObjects);
|
return m_pdmList->at(row);
|
||||||
}
|
|
||||||
|
|
||||||
if (row < static_cast<int>(listObjects.size()))
|
|
||||||
{
|
|
||||||
return listObjects[row];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -580,15 +558,9 @@ QItemSelection PdmUiTableViewModel::modelIndexFromPdmObject(PdmObjectHandle* pdm
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
int PdmUiTableViewModel::getFieldIndex(PdmFieldHandle* field) const
|
int PdmUiTableViewModel::getFieldIndex(PdmFieldHandle* field) const
|
||||||
{
|
{
|
||||||
std::vector<PdmObjectHandle*> listObjects;
|
if (m_pdmList && m_pdmList->size() > 0)
|
||||||
if (m_pdmList)
|
|
||||||
{
|
{
|
||||||
m_pdmList->childObjects(&listObjects);
|
PdmObjectHandle* pdmObject = m_pdmList->at(0);
|
||||||
}
|
|
||||||
|
|
||||||
if (listObjects.size() > 0)
|
|
||||||
{
|
|
||||||
PdmObjectHandle* pdmObject = listObjects[0];
|
|
||||||
if (pdmObject)
|
if (pdmObject)
|
||||||
{
|
{
|
||||||
std::vector<PdmFieldHandle*> fields;
|
std::vector<PdmFieldHandle*> fields;
|
||||||
|
Loading…
Reference in New Issue
Block a user