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 DCRemoveCellCodeClassCommand : public DCCommand
174 DCContainer *d_container;
175 QList<DCCellCode*> d_cellCodes;
179 DCRemoveCellCodeClassCommand(const void *requester, DCCreator *creator, DCContainer *container, DCCellCode* cellCode);
180 DCRemoveCellCodeClassCommand(const void *requester, DCCreator *creator, DCContainer *container, const QList<DCCellCode*> &cellcodes);
181 virtual ~DCRemoveCellCodeClassCommand();
186 //------------------------------------------
188 class DCAddCellCommand : public DCCommand
190 DCContainer *d_container;
196 DCAddCellCommand(const void *requester, DCCreator *creator, DCContainer *container, const QString& path, const QString& name, const QString &type);
197 virtual ~DCAddCellCommand() {}
202 //------------------------------------------
204 class DCRenameCellCommand : public DCCommand
210 DCRenameCellCommand(const void *requester, DCCreator *creator, DCCell *cell, const QString& newName);
211 virtual ~DCRenameCellCommand();
216 //------------------------------------------
218 class DCMoveCellCommand : public DCCommand
224 DCMoveCellCommand(const void *requester, DCCreator *creator, DCCell *cell, DCVCPage *newPage);
225 virtual ~DCMoveCellCommand();
230 //------------------------------------------
232 class DCRemoveCellCommand : public DCCommand
234 DCContainer *d_container;
235 QList<DCCell*> d_cells;
238 DCRemoveCellCommand(const void *requester, DCCreator *creator, DCContainer *container, DCCell *cell);
239 DCRemoveCellCommand(const void *requester, DCCreator *creator, DCContainer *container, const QList<DCCell*> &cells);
240 virtual ~DCRemoveCellCommand();
245 //------------------------------------------
247 class DCAddPageCommand : public DCCommand
252 DCAddPageCommand(const void *requester, DCCreator *creator, const QString& containerBasedPathName);
253 virtual ~DCAddPageCommand() {}
258 //------------------------------------------
260 class DCMovePageCommand : public DCCommand
266 DCMovePageCommand(const void *requester, DCCreator *creator, const QString& oldContainerBasedPathName, const QString& newContainerBasedPathName);
267 virtual ~DCMovePageCommand();
272 //------------------------------------------
274 class DCRemovePageCommand : public DCCommand
277 QUndoStack d_undoStack;
280 DCRemovePageCommand(const void *requester, DCCreator *creator, DCVCPage *page);
281 virtual ~DCRemovePageCommand();
286 //------------------------------------------
288 class DCAddDirectoryCommand : public DCCommand
292 DCAddDirectoryCommand(const void *requester, DCCreator *creator, const QString& sysFilePath);
293 virtual ~DCAddDirectoryCommand() {}
298 //------------------------------------------
300 class DCRenameDirectoryCommand : public DCCommand
306 DCRenameDirectoryCommand(const void *requester, DCCreator *creator, const QString& sysOldDirPath, const QString& sysNewDirPath);
307 virtual ~DCRenameDirectoryCommand() {}
311 bool moveComponentsToDirectory(const QString& orgDirectory, const QString& destDirectory);
314 //------------------------------------------
316 class DCRemoveDirectoryCommand : public DCCommand
320 DCRemoveDirectoryCommand(const void *requester, DCCreator *creator, const QString& sysFilePath);
321 virtual ~DCRemoveDirectoryCommand() {}
326 //------------------------------------------
328 class DCRenameReceptorNameCommand : public DCCommand
335 DCRenameReceptorNameCommand(const void *requester, DCCreator *creator, DCCell *cell, const QString& oldName, const QString& newName);
336 virtual ~DCRenameReceptorNameCommand() {}
341 #endif // DCEDITCOMMANDS_H