void Game4PlayersConfig::SetStartingCoord( Game4Players::eGame4_Player_t a_player, const Coordinate &a_startingCoord) { int32_t index = GetInternalIndex(a_player); m_startingCoords[index] = a_startingCoord; }
void Game4PlayersConfig::GetPlayerColour( Game4Players::eGame4_Player_t a_player, uint8_t &red, uint8_t &green, uint8_t &blue) const { int32_t colourIndex = GetInternalIndex(a_player); red = m_redArray[colourIndex]; green = m_greenArray[colourIndex]; blue = m_blueArray[colourIndex]; }
QMimeData* HierarchyTreeControl::mimeData(const QList<QTreeWidgetItem*> items) const { std::list<SortedItems> sortedItems; for (QList<QTreeWidgetItem*>::const_iterator iter = items.begin(); iter != items.end(); ++iter) { QTreeWidgetItem* item = (*iter); sortedItems.push_back(SortedItems(item, GetInternalIndex(item))); } sortedItems.sort(SortByInternalIndex); QList<QTreeWidgetItem* > qSortedItems; for (std::list<SortedItems>::iterator iter = sortedItems.begin(); iter != sortedItems.end(); ++iter) { qSortedItems.push_back(iter->item); } QMimeData* data = QTreeWidget::mimeData(qSortedItems); data->setUserData(TREE_MIME_DATA, new HierarchyTreeControlMimeData(qSortedItems)); return data; }
uint32 HierarchyTreeControl::GetInternalIndex(QTreeWidgetItem* item, int& factor) const { int idx = 0; QTreeWidgetItem* parent = item->parent(); if (parent) { idx = parent->indexOfChild(item) + 1; int a = GetInternalIndex(parent, factor); factor *= 10; idx = idx * factor + a; } else { for(int i = 0; i < topLevelItemCount(); ++i) { if (item == topLevelItem(i)) { return i + 1; } } } return idx; }
uint32 HierarchyTreeControl::GetInternalIndex(QTreeWidgetItem* item) const { int factor = 1; return GetInternalIndex(item, factor); }
const Coordinate& Game4PlayersConfig::GetStartingCoord( Game4Players::eGame4_Player_t a_player) const { int32_t index = GetInternalIndex(a_player); return m_startingCoords[index]; }