void DeepSkyBrowser::slotMarkSelected() { QItemSelectionModel* sm = treeView->selectionModel(); bool labelMarker = labelMarkerBox->checkState() == Qt::Checked; bool convertOK = false; QVariant markerData = markerSymbolBox->itemData(markerSymbolBox->currentIndex()); MarkerRepresentation::Symbol markerSymbol = (MarkerRepresentation::Symbol) markerData.toInt(&convertOK); QVariant markerSize = markerSizeBox->itemData(markerSizeBox->currentIndex()); float size = (float) markerSize.toInt(&convertOK); QColor markerColor = colorSwatch->color(); Color color((float) markerColor.redF(), (float) markerColor.greenF(), (float) markerColor.blueF()); Universe* universe = appCore->getSimulation()->getUniverse(); string label; int nRows = dsoModel->rowCount(QModelIndex()); for (int row = 0; row < nRows; row++) { if (sm->isRowSelected(row, QModelIndex())) { DeepSkyObject* dso = dsoModel->itemAtRow((unsigned int) row); if (dso != NULL) { if (convertOK) { if (labelMarker) { label = universe->getDSOCatalog()->getDSOName(dso, true); label = ReplaceGreekLetterAbbr(label); } universe->markObject(Selection(dso), MarkerRepresentation(markerSymbol, size, color, label), 1); } else { universe->unmarkObject(Selection(dso), 1); } } } // isRowSelected } // for }
void SolarSystemBrowser::slotMarkSelected() { #if 0 QItemSelectionModel* sm = treeView->selectionModel(); QModelIndexList rows = sm->selectedRows(); bool labelMarker = labelMarkerBox->checkState() == Qt::Checked; bool convertOK = false; QVariant markerData = markerSymbolBox->itemData(markerSymbolBox->currentIndex()); Marker::Symbol markerSymbol = (Marker::Symbol) markerData.toInt(&convertOK); QColor markerColor = colorSwatch->color(); Color color((float) markerColor.redF(), (float) markerColor.greenF(), (float) markerColor.blueF()); Universe* universe = appCore->getSimulation()->getUniverse(); string label; for (QModelIndexList::const_iterator iter = rows.begin(); iter != rows.end(); iter++) { Selection sel = solarSystemModel->objectAtIndex(*iter); if (!sel.empty()) { if (convertOK) { #if 0 if (labelMarker) { label = universe->getDSOCatalog()->getDSOName(dso); label = ReplaceGreekLetterAbbr(label); } #endif universe->markObject(sel, 10.0f, color, markerSymbol, 1, label); } else { universe->unmarkObject(sel, 1); } } } #endif }