00001 /* 00002 * lib-controler-gmap : Le contrôleur de 3-G-cartes, surcouche de lib-controler. 00003 * Copyright (C) 2004, Moka Team, Université de Poitiers, Laboratoire SIC 00004 * http://www.sic.sp2mi.univ-poitiers.fr/ 00005 * Copyright (C) 2009, Guillaume Damiand, CNRS, LIRIS, 00006 * guillaume.damiand@liris.cnrs.fr, http://liris.cnrs.fr/ 00007 * 00008 * This file is part of lib-controler-gmap 00009 * 00010 * This program is free software: you can redistribute it and/or modify 00011 * it under the terms of the GNU Lesser General Public License as published by 00012 * the Free Software Foundation, either version 3 of the License, or 00013 * (at your option) any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU Lesser General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU Lesser General Public License 00021 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00022 */ 00023 00024 //****************************************************************************** 00025 #include "g-map-vertex.hh" 00026 #include "controler-gmap.hh" 00027 #include <cassert> 00028 00029 using namespace GMap3d; 00030 //****************************************************************************** 00031 bool CControlerGMap::deleteSelection() 00032 { 00033 bool res = false; 00034 00035 if (canApplyOperation(COperation(OPERATION_DELETE_DARTS))) 00036 { 00037 undoRedoPreSave(); 00038 00039 int nb = FMap->deleteMarkedDarts(getSelectionMark()); 00040 00041 if (nb==0) 00042 { 00043 setMessage("Aucun brin supprimé"); 00044 undoRedoPostSaveFailed(); 00045 } 00046 else 00047 { 00048 undoRedoPostSaveOk(); 00049 unsetLastSelectedDart(); 00050 00051 setModelChanged(); 00052 res = true; 00053 00054 setMessage(nb, (nb==1 ? " brin supprimé" : " brins supprimés")); 00055 } 00056 } 00057 00058 return res; 00059 00060 } 00061 //****************************************************************************** 00062 bool CControlerGMap::duplicateSelection() 00063 { 00064 bool res = false; 00065 00066 if (canApplyOperation(COperation(OPERATION_DUPLICATE_DARTS))) 00067 { 00068 undoRedoPreSave(); 00069 00070 int nb= FMap->duplicateMarkedDarts(getSelectionMark()); 00071 00072 if (nb==0) 00073 { 00074 setMessage("Aucun brin dupliqué"); 00075 undoRedoPostSaveFailed(); 00076 } 00077 else 00078 { 00079 undoRedoPostSaveOk(); 00080 setModelChanged(); 00081 setMessage(nb, (nb==1 ? " brin dupliqué" : " brins dupliqués")); 00082 res = true; 00083 } 00084 } 00085 00086 return res; 00087 } 00088 //******************************************************************************
1.5.8