1 // Copyright (c) 2012 Dennco Project
3 // This program is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, either version 3 of the License, or
6 // (at your option) any later version.
8 // This program is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU General Public License for more details.
13 // You should have received a copy of the GNU General Public License
14 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 // Created by tkawata on Sep-30, 2012.
19 #ifndef DCEDITCOMMANDS_H
20 #define DCEDITCOMMANDS_H
22 #include "dccommand.h"
32 class DCStartAddAxonTerminalCommandFromAxon : public DCCommand
37 DCStartAddAxonTerminalCommandFromAxon(const void *requester, DCCreator *creator, DCCell *ownerCell);
38 virtual ~DCStartAddAxonTerminalCommandFromAxon() {}
44 class DCStartAddAxonTerminalCommandFromReceptor : public DCCommand
47 QString d_receptorName;
50 DCStartAddAxonTerminalCommandFromReceptor(const void *requester, DCCreator *creator, DCCell *ownerCell, const QString &receptorName);
51 virtual ~DCStartAddAxonTerminalCommandFromReceptor() {}
57 //------------------------------------------
59 class DCCommitAddAxonTerminalCommand : public DCCommand
62 DCCell *d_receptorCell;
63 DCReceptor *d_receptor;
64 QString d_receptorName;
68 DCCommitAddAxonTerminalCommand(const void *requester, DCCreator *creator, DCAxon *axon, DCCell *receptorCell, const QString &receptorName);
69 DCCommitAddAxonTerminalCommand(const void *requester, DCCreator *creator, DCCell *axonCell, DCReceptor *receptor);
70 virtual ~DCCommitAddAxonTerminalCommand() {}
75 //------------------------------------------
77 class DCRemoveAxonTerminalCommand : public DCCommand
80 DCAxonTerminal *d_axonTerminal;
81 QString d_receptorName;
84 DCRemoveAxonTerminalCommand(const void *requester, DCCreator *creator, DCCell *axonCell, DCAxonTerminal *terminal);
85 DCRemoveAxonTerminalCommand(const void *requester, DCCreator *creator, DCCell *receptorCell, const QString& receptorName);
86 virtual ~DCRemoveAxonTerminalCommand() {}
91 //------------------------------------------
93 class DCStartCellCodeEditCommand : public DCCommand
97 DCStartCellCodeEditCommand(const void *requester, DCCreator *creator, DCCell *ownerCell);
98 virtual ~DCStartCellCodeEditCommand() {}
103 //------------------------------------------
105 class DCFinishCellCodeEditCommand : public DCCommand
108 DCFinishCellCodeEditCommand(const void *requester, DCCreator *creator);
109 virtual ~DCFinishCellCodeEditCommand() {}
114 //------------------------------------------
116 class DCAssignCellCodeClassToCellCommand : public DCCommand
119 DCCellCode *d_cellCode;
120 DCCellCode *d_prevClass;
122 DCAssignCellCodeClassToCellCommand(const void *requester, DCCreator *creator, DCCell *cell, DCCellCode *cellCode);
123 virtual ~DCAssignCellCodeClassToCellCommand() {}
128 //------------------------------------------
130 class DCUnassignCellCodeClassFromCellCommand : public DCCommand
133 DCCellCode *d_prevClass;
135 DCUnassignCellCodeClassFromCellCommand(const void *requester, DCCreator *creator, DCCell *cell);
136 virtual ~DCUnassignCellCodeClassFromCellCommand() {}
141 //------------------------------------------
143 class DCAddCellCodeClassCommand : public DCCommand
145 DCContainer *d_container;
150 DCAddCellCodeClassCommand(const void *requester, DCCreator *creator, DCContainer *container, const QString& name, const QString &type);
151 virtual ~DCAddCellCodeClassCommand() {}
156 //------------------------------------------
158 class DCMoveCellCodeClassCommand : public DCCommand
164 DCMoveCellCodeClassCommand(const void *requester, DCCreator *creator, const QString& name, const QString &type);
165 virtual ~DCMoveCellCodeClassCommand();
170 //------------------------------------------
172 class DCChangeCellCodeClassTypeCommand : public DCCommand
174 DCCellCode* d_cellCode;
178 DCChangeCellCodeClassTypeCommand(const void *requester, DCCreator *creator, DCCellCode* cellCode, const QString& newType);
179 virtual ~DCChangeCellCodeClassTypeCommand() {}
184 //------------------------------------------
186 class DCRemoveCellCodeClassCommand : public DCCommand
188 DCContainer *d_container;
189 QList<DCCellCode*> d_cellCodes;
193 DCRemoveCellCodeClassCommand(const void *requester, DCCreator *creator, DCContainer *container, DCCellCode* cellCode);
194 DCRemoveCellCodeClassCommand(const void *requester, DCCreator *creator, DCContainer *container, const QList<DCCellCode*> &cellcodes);
195 virtual ~DCRemoveCellCodeClassCommand();
200 //------------------------------------------
202 class DCAddCellCommand : public DCCommand
204 DCContainer *d_container;
210 DCAddCellCommand(const void *requester, DCCreator *creator, DCContainer *container, const QString& path, const QString& name, const QString &type);
211 virtual ~DCAddCellCommand() {}
216 //------------------------------------------
218 class DCChangeCellTypeCommand : public DCCommand
224 DCChangeCellTypeCommand(const void *requester, DCCreator *creator, DCCell *cell, const QString& newType);
225 virtual ~DCChangeCellTypeCommand() {}
230 //------------------------------------------
232 class DCRenameCellCommand : public DCCommand
238 DCRenameCellCommand(const void *requester, DCCreator *creator, DCCell *cell, const QString& newName);
239 virtual ~DCRenameCellCommand();
244 //------------------------------------------
246 class DCMoveCellCommand : public DCCommand
252 DCMoveCellCommand(const void *requester, DCCreator *creator, DCCell *cell, DCVCPage *newPage);
253 virtual ~DCMoveCellCommand();
258 //------------------------------------------
260 class DCRemoveCellCommand : public DCCommand
262 DCContainer *d_container;
263 QList<DCCell*> d_cells;
266 DCRemoveCellCommand(const void *requester, DCCreator *creator, DCContainer *container, DCCell *cell);
267 DCRemoveCellCommand(const void *requester, DCCreator *creator, DCContainer *container, const QList<DCCell*> &cells);
268 virtual ~DCRemoveCellCommand();
273 //------------------------------------------
275 class DCAddPageCommand : public DCCommand
280 DCAddPageCommand(const void *requester, DCCreator *creator, const QString& containerBasedPathName);
281 virtual ~DCAddPageCommand() {}
286 //------------------------------------------
288 class DCMovePageCommand : public DCCommand
294 DCMovePageCommand(const void *requester, DCCreator *creator, const QString& oldContainerBasedPathName, const QString& newContainerBasedPathName);
295 virtual ~DCMovePageCommand();
300 //------------------------------------------
302 class DCRemovePageCommand : public DCCommand
305 QUndoStack d_undoStack;
308 DCRemovePageCommand(const void *requester, DCCreator *creator, DCVCPage *page);
309 virtual ~DCRemovePageCommand();
314 //------------------------------------------
316 class DCAddDirectoryCommand : public DCCommand
320 DCAddDirectoryCommand(const void *requester, DCCreator *creator, const QString& sysFilePath);
321 virtual ~DCAddDirectoryCommand() {}
326 //------------------------------------------
328 class DCRenameDirectoryCommand : public DCCommand
334 DCRenameDirectoryCommand(const void *requester, DCCreator *creator, const QString& sysOldDirPath, const QString& sysNewDirPath);
335 virtual ~DCRenameDirectoryCommand() {}
339 bool moveComponentsToDirectory(const QString& orgDirectory, const QString& destDirectory);
342 //------------------------------------------
344 class DCRemoveDirectoryCommand : public DCCommand
348 DCRemoveDirectoryCommand(const void *requester, DCCreator *creator, const QString& sysFilePath);
349 virtual ~DCRemoveDirectoryCommand() {}
354 //------------------------------------------
356 class DCRenameReceptorNameCommand : public DCCommand
363 DCRenameReceptorNameCommand(const void *requester, DCCreator *creator, DCCell *cell, const QString& oldName, const QString& newName);
364 virtual ~DCRenameReceptorNameCommand() {}
369 #endif // DCEDITCOMMANDS_H