| 2970 | map->push(undo_step); |
| 2971 | } |
| 2972 | void MapEditorController::selectObjectsClicked(bool select_exclusively) |
| 2973 | { |
| 2974 | bool selection_changed = false; |
| 2975 | if (select_exclusively) |
| 2976 | { |
| 2977 | if (map->getNumSelectedObjects() > 0) |
| 2978 | selection_changed = true; |
| 2979 | map->clearObjectSelection(false); |
| 2980 | } |
| 2981 | |
| 2982 | bool object_selected = false; |
| 2983 | MapPart* part = map->getCurrentPart(); |
| 2984 | for (int i = 0, size = part->getNumObjects(); i < size; ++i) |
| 2985 | { |
| 2986 | Object* object = part->getObject(i); |
| 2987 | if (symbol_widget->isSymbolSelected(object->getSymbol()) && !(!select_exclusively && map->isObjectSelected(object))) |
| 2988 | { |
| 2989 | map->addObjectToSelection(object, false); |
| 2990 | object_selected = true; |
| 2991 | } |
| 2992 | } |
| 2993 | |
| 2994 | selection_changed |= object_selected; |
| 2995 | if (selection_changed) |
| 2996 | map->emitSelectionChanged(); |
| 2997 | |
| 2998 | if (object_selected) |
| 2999 | { |
| 3000 | if (current_tool && current_tool->isDrawTool()) |
| 3001 | setEditTool(); |
| 3002 | } |
| 3003 | else |
| 3004 | { |
| 3005 | QMessageBox::warning(window, tr("Object selection"), tr("No objects were selected because there are no objects with the selected symbols.")); |
| 3006 | } |
| 3007 | } |
| 3008 | |
| 3009 | void MapEditorController::deselectObjectsClicked() |
| 3010 | { |
nothing calls this directly
no test coverage detected