kplato

kptcommand.h
1/* This file is part of the KDE project
2 Copyright (C) 2004, 2005 Dag Andersen <danders@get2net.dk>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation;
7 version 2 of the License.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18*/
19
20#ifndef KPTCOMMAND_H
21#define KPTCOMMAND_H
22
23#include <kcommand.h>
24
25#include "kptappointment.h"
26#include "kptnode.h"
27#include "kptduration.h"
28#include "kptpart.h"
29#include "kpttask.h"
30
31class TQString;
32
33namespace KPlato
34{
35
36class Account;
37class Accounts;
38class Project;
39class Task;
40class Calendar;
41class CalendarDay;
42class Relation;
43class ResourceGroupRequest;
44class ResourceRequest;
45class ResourceGroup;
46class Resource;
47class Schedule;
48class StandardWorktime;
49
50class NamedCommand : public KNamedCommand
51{
52public:
53 NamedCommand(Part *part, TQString name)
54 : KNamedCommand(name), m_part(part)
55 {}
56
57 void setCommandType(int type);
58
59protected:
60 void setSchDeleted();
61 void setSchDeleted(bool state);
62 void setSchScheduled();
63 void setSchScheduled(bool state);
64 void addSchScheduled(Schedule *sch);
65 void addSchDeleted(Schedule *sch);
66
67 TQMap<Schedule*, bool> m_schedules;
68private:
69 Part *m_part;
70};
71
72class CalendarAddCmd : public NamedCommand
73{
74public:
75 CalendarAddCmd(Part *part, Project *project, Calendar *cal, TQString name=0);
76 void execute();
77 void unexecute();
78
79private:
80 Project *m_project;
81 Calendar *m_cal;
82 bool m_added;
83};
84
85class CalendarDeleteCmd : public NamedCommand
86{
87public:
88 CalendarDeleteCmd(Part *part, Calendar *cal, TQString name=0);
89 void execute();
90 void unexecute();
91
92private:
93 Calendar *m_cal;
94};
95
96class CalendarModifyNameCmd : public NamedCommand
97{
98public:
99 CalendarModifyNameCmd(Part *part, Calendar *cal, TQString newvalue, TQString name=0);
100 void execute();
101 void unexecute();
102
103private:
104 Calendar *m_cal;
105 TQString m_newvalue;
106 TQString m_oldvalue;
107};
108
109class CalendarModifyParentCmd : public NamedCommand
110{
111public:
112 CalendarModifyParentCmd(Part *part, Calendar *cal, Calendar *newvalue, TQString name=0);
113 void execute();
114 void unexecute();
115
116private:
117 Calendar *m_cal;
118 Calendar *m_newvalue;
119 Calendar *m_oldvalue;
120};
121
122class CalendarAddDayCmd : public NamedCommand
123{
124public:
125 CalendarAddDayCmd(Part *part, Calendar *cal, CalendarDay *newvalue, TQString name=0);
126 ~CalendarAddDayCmd();
127 void execute();
128 void unexecute();
129
130protected:
131 Calendar *m_cal;
132 CalendarDay *m_newvalue;
133 bool m_mine;
134};
135
136class CalendarRemoveDayCmd : public NamedCommand
137{
138public:
139 CalendarRemoveDayCmd(Part *part, Calendar *cal, const TQDate &day, TQString name=0);
140 void execute();
141 void unexecute();
142
143protected:
144 Calendar *m_cal;
145 CalendarDay *m_value;
146 bool m_mine;
147};
148
149class CalendarModifyDayCmd : public NamedCommand
150{
151public:
152 CalendarModifyDayCmd(Part *part, Calendar *cal, CalendarDay *value, TQString name=0);
153 ~CalendarModifyDayCmd();
154 void execute();
155 void unexecute();
156
157private:
158 Calendar *m_cal;
159 CalendarDay *m_newvalue;
160 CalendarDay *m_oldvalue;
161 bool m_mine;
162};
163
164class CalendarModifyWeekdayCmd : public NamedCommand
165{
166public:
167 CalendarModifyWeekdayCmd(Part *part, Calendar *cal, int weekday, CalendarDay *value, TQString name=0);
168 ~CalendarModifyWeekdayCmd();
169 void execute();
170 void unexecute();
171
172private:
173 int m_weekday;
174 Calendar *m_cal;
175 CalendarDay *m_value;
176 bool m_mine;
177};
178
179
180class NodeDeleteCmd : public NamedCommand
181{
182public:
183 NodeDeleteCmd(Part *part, Node *node, TQString name=0);
184 ~NodeDeleteCmd();
185 void execute();
186 void unexecute();
187
188private:
189 Node *m_node;
190 Node *m_parent;
191 Project *m_project;
192 int m_index;
193 bool m_mine;
194 TQPtrList<Appointment> m_appointments;
195
196};
197
198class TaskAddCmd : public NamedCommand
199{
200public:
201 TaskAddCmd(Part *part, Project *project, Node *node, Node *after, TQString name=0);
202 ~TaskAddCmd();
203 void execute();
204 void unexecute();
205
206private:
207 Project *m_project;
208 Node *m_node;
209 Node *m_after;
210 bool m_added;
211};
212
213class SubtaskAddCmd : public NamedCommand
214{
215public:
216 SubtaskAddCmd(Part *part, Project *project, Node *node, Node *parent, TQString name=0);
217 ~SubtaskAddCmd();
218 void execute();
219 void unexecute();
220
221private:
222 Project *m_project;
223 Node *m_node;
224 Node *m_parent;
225 bool m_added;
226};
227
228
229class NodeModifyNameCmd : public NamedCommand
230{
231public:
232 NodeModifyNameCmd(Part *part, Node &node, TQString nodename, TQString name=0);
233 void execute();
234 void unexecute();
235
236private:
237 Node &m_node;
238 TQString newName;
239 TQString oldName;
240};
241
242class NodeModifyLeaderCmd : public NamedCommand
243{
244public:
245 NodeModifyLeaderCmd(Part *part, Node &node, TQString leader, TQString name=0);
246 void execute();
247 void unexecute();
248
249private:
250 Node &m_node;
251 TQString newLeader;
252 TQString oldLeader;
253};
254
255class NodeModifyDescriptionCmd : public NamedCommand
256{
257public:
258 NodeModifyDescriptionCmd(Part *part, Node &node, TQString description, TQString name=0);
259 void execute();
260 void unexecute();
261
262private:
263 Node &m_node;
264 TQString newDescription;
265 TQString oldDescription;
266};
267
268class NodeModifyConstraintCmd : public NamedCommand
269{
270public:
271 NodeModifyConstraintCmd(Part *part, Node &node, Node::ConstraintType c, TQString name=0);
272 void execute();
273 void unexecute();
274
275private:
276 Node &m_node;
277 Node::ConstraintType newConstraint;
278 Node::ConstraintType oldConstraint;
279
280};
281
282class NodeModifyConstraintStartTimeCmd : public NamedCommand
283{
284public:
285 NodeModifyConstraintStartTimeCmd(Part *part, Node &node, TQDateTime dt, TQString name=0);
286 void execute();
287 void unexecute();
288
289private:
290 Node &m_node;
291 TQDateTime newTime;
292 TQDateTime oldTime;
293
294};
295class NodeModifyConstraintEndTimeCmd : public NamedCommand
296{
297public:
298 NodeModifyConstraintEndTimeCmd(Part *part, Node &node, TQDateTime dt, TQString name=0);
299 void execute();
300 void unexecute();
301
302private:
303 Node &m_node;
304 TQDateTime newTime;
305 TQDateTime oldTime;
306
307};
308class NodeModifyStartTimeCmd : public NamedCommand
309{
310public:
311 NodeModifyStartTimeCmd(Part *part, Node &node, TQDateTime dt, TQString name=0);
312 void execute();
313 void unexecute();
314
315private:
316 Node &m_node;
317 TQDateTime newTime;
318 TQDateTime oldTime;
319};
320class NodeModifyEndTimeCmd : public NamedCommand
321{
322public:
323 NodeModifyEndTimeCmd(Part *part, Node &node, TQDateTime dt, TQString name=0);
324 void execute();
325 void unexecute();
326
327private:
328 Node &m_node;
329 TQDateTime newTime;
330 TQDateTime oldTime;
331};
332class NodeModifyIdCmd : public NamedCommand
333{
334public:
335 NodeModifyIdCmd(Part *part, Node &node, TQString id, TQString name=0);
336 void execute();
337 void unexecute();
338
339private:
340 Node &m_node;
341 TQString newId;
342 TQString oldId;
343};
344
345class NodeIndentCmd : public NamedCommand
346{
347public:
348 NodeIndentCmd(Part *part, Node &node, TQString name=0);
349 void execute();
350 void unexecute();
351
352private:
353 Node &m_node;
354 Node *m_oldparent, *m_newparent;
355 int m_oldindex, m_newindex;
356};
357
358class NodeUnindentCmd : public NamedCommand
359{
360public:
361 NodeUnindentCmd(Part *part, Node &node, TQString name=0);
362 void execute();
363 void unexecute();
364
365private:
366 Node &m_node;
367 Node *m_oldparent, *m_newparent;
368 int m_oldindex, m_newindex;
369};
370
371class NodeMoveUpCmd : public NamedCommand
372{
373public:
374 NodeMoveUpCmd(Part *part, Node &node, TQString name=0);
375 void execute();
376 void unexecute();
377
378private:
379 Node &m_node;
380 Project *m_project;
381 bool m_moved;
382};
383
384class NodeMoveDownCmd : public NamedCommand
385{
386public:
387 NodeMoveDownCmd(Part *part, Node &node, TQString name=0);
388 void execute();
389 void unexecute();
390
391private:
392 Node &m_node;
393 Project *m_project;
394 bool m_moved;
395};
396
397class AddRelationCmd : public NamedCommand
398{
399public:
400 AddRelationCmd(Part *part, Relation *rel, TQString name=0);
401 ~AddRelationCmd();
402 void execute();
403 void unexecute();
404
405private:
406 Relation *m_rel;
407 bool m_taken;
408
409};
410
411class DeleteRelationCmd : public NamedCommand
412{
413public:
414 DeleteRelationCmd(Part *part, Relation *rel, TQString name=0);
415 ~DeleteRelationCmd();
416 void execute();
417 void unexecute();
418
419private:
420 Relation *m_rel;
421 bool m_taken;
422
423};
424
425class ModifyRelationTypeCmd : public NamedCommand
426{
427public:
428 ModifyRelationTypeCmd(Part *part, Relation *rel, Relation::Type type, TQString name=0);
429 void execute();
430 void unexecute();
431
432private:
433 Relation *m_rel;
434 Relation::Type m_newtype;
435 Relation::Type m_oldtype;
436
437};
438
439class ModifyRelationLagCmd : public NamedCommand
440{
441public:
442 ModifyRelationLagCmd(Part *part, Relation *rel, Duration lag, TQString name=0);
443 void execute();
444 void unexecute();
445
446private:
447 Relation *m_rel;
448 Duration m_newlag;
449 Duration m_oldlag;
450
451};
452
453class AddResourceRequestCmd : public NamedCommand
454{
455public:
456 AddResourceRequestCmd(Part *part, ResourceGroupRequest *group, ResourceRequest *request, TQString name=0);
457 ~AddResourceRequestCmd();
458 void execute();
459 void unexecute();
460
461private:
462 ResourceGroupRequest *m_group;
463 ResourceRequest *m_request;
464 bool m_mine;
465
466};
467
468class RemoveResourceRequestCmd : public NamedCommand
469{
470public:
471 RemoveResourceRequestCmd(Part *part, ResourceGroupRequest *group, ResourceRequest *request, TQString name=0);
472 ~RemoveResourceRequestCmd();
473 void execute();
474 void unexecute();
475
476private:
477 ResourceGroupRequest *m_group;
478 ResourceRequest *m_request;
479 bool m_mine;
480
481};
482
483class ModifyEffortCmd : public NamedCommand
484{
485public:
486 ModifyEffortCmd(Part *part, Node &node, Duration oldvalue, Duration newvalue, TQString name=0);
487 void execute();
488 void unexecute();
489
490private:
491 Effort *m_effort;
492 Duration m_oldvalue, m_newvalue;
493
494};
495
496class EffortModifyOptimisticRatioCmd : public NamedCommand
497{
498public:
499 EffortModifyOptimisticRatioCmd(Part *part, Node &node, int oldvalue, int newvalue, TQString name=0);
500 void execute();
501 void unexecute();
502
503private:
504 Effort *m_effort;
505 int m_oldvalue, m_newvalue;
506
507};
508
509class EffortModifyPessimisticRatioCmd : public NamedCommand
510{
511public:
512 EffortModifyPessimisticRatioCmd(Part *part, Node &node, int oldvalue, int newvalue, TQString name=0);
513 void execute();
514 void unexecute();
515
516private:
517 Effort *m_effort;
518 int m_oldvalue, m_newvalue;
519
520};
521
522class ModifyEffortTypeCmd : public NamedCommand
523{
524public:
525 ModifyEffortTypeCmd(Part *part, Node &node, int oldvalue, int newvalue, TQString name=0);
526 void execute();
527 void unexecute();
528
529private:
530 Effort *m_effort;
531 int m_oldvalue, m_newvalue;
532
533};
534
535class EffortModifyRiskCmd : public NamedCommand
536{
537public:
538 EffortModifyRiskCmd(Part *part, Node &node, int oldvalue, int newvalue, TQString name=0);
539 void execute();
540 void unexecute();
541
542private:
543 Effort *m_effort;
544 int m_oldvalue, m_newvalue;
545
546};
547
548class AddResourceGroupRequestCmd : public NamedCommand
549{
550public:
551 AddResourceGroupRequestCmd(Part *part, Task &task, ResourceGroupRequest *request, TQString name=0);
552 void execute();
553 void unexecute();
554
555private:
556 Task &m_task;
557 ResourceGroupRequest *m_request;
558 bool m_mine;
559};
560
561class RemoveResourceGroupRequestCmd : public NamedCommand
562{
563public:
564 RemoveResourceGroupRequestCmd(Part *part, ResourceGroupRequest *request, TQString name=0);
565 RemoveResourceGroupRequestCmd(Part *part, Task &task, ResourceGroupRequest *request, TQString name=0);
566 void execute();
567 void unexecute();
568
569private:
570 Task &m_task;
571 ResourceGroupRequest *m_request;
572 bool m_mine;
573};
574
575class AddResourceCmd : public NamedCommand
576{
577public:
578 AddResourceCmd(Part *part, ResourceGroup *group, Resource *resource, TQString name=0);
579 ~AddResourceCmd();
580 void execute();
581 void unexecute();
582
583protected:
584
585 ResourceGroup *m_group;
586 Resource *m_resource;
587 bool m_mine;
588};
589
590class RemoveResourceCmd : public AddResourceCmd
591{
592public:
593 RemoveResourceCmd(Part *part, ResourceGroup *group, Resource *resource, TQString name=0);
594 ~RemoveResourceCmd();
595 void execute();
596 void unexecute();
597
598private:
599 TQPtrList<ResourceRequest> m_requests;
600 TQPtrList<Appointment> m_appointments;
601};
602
603class ModifyResourceNameCmd : public NamedCommand
604{
605public:
606 ModifyResourceNameCmd(Part *part, Resource *resource, TQString value, TQString name=0);
607 void execute();
608 void unexecute();
609
610private:
611
612 Resource *m_resource;
613 TQString m_newvalue;
614 TQString m_oldvalue;
615};
616class ModifyResourceInitialsCmd : public NamedCommand
617{
618public:
619 ModifyResourceInitialsCmd(Part *part, Resource *resource, TQString value, TQString name=0);
620 void execute();
621 void unexecute();
622
623private:
624 Resource *m_resource;
625 TQString m_newvalue;
626 TQString m_oldvalue;
627};
628class ModifyResourceEmailCmd : public NamedCommand
629{
630public:
631 ModifyResourceEmailCmd(Part *part, Resource *resource, TQString value, TQString name=0);
632 void execute();
633 void unexecute();
634
635private:
636 Resource *m_resource;
637 TQString m_newvalue;
638 TQString m_oldvalue;
639};
640class ModifyResourceTypeCmd : public NamedCommand
641{
642public:
643 ModifyResourceTypeCmd(Part *part, Resource *resource, int value, TQString name=0);
644 void execute();
645 void unexecute();
646
647private:
648 Resource *m_resource;
649 int m_newvalue;
650 int m_oldvalue;
651};
652
653class ModifyResourceUnitsCmd : public NamedCommand
654{
655public:
656 ModifyResourceUnitsCmd(Part *part, Resource *resource, int value, TQString name=0);
657 void execute();
658 void unexecute();
659
660private:
661 Resource *m_resource;
662 int m_newvalue;
663 int m_oldvalue;
664};
665
666class ModifyResourceAvailableFromCmd : public NamedCommand
667{
668public:
669 ModifyResourceAvailableFromCmd(Part *part, Resource *resource, DateTime value, TQString name=0);
670 void execute();
671 void unexecute();
672
673private:
674 Resource *m_resource;
675 DateTime m_newvalue;
676 DateTime m_oldvalue;
677};
678class ModifyResourceAvailableUntilCmd : public NamedCommand
679{
680public:
681 ModifyResourceAvailableUntilCmd(Part *part, Resource *resource, DateTime value, TQString name=0);
682 void execute();
683 void unexecute();
684
685private:
686 Resource *m_resource;
687 DateTime m_newvalue;
688 DateTime m_oldvalue;
689};
690
691class ModifyResourceNormalRateCmd : public NamedCommand
692{
693public:
694 ModifyResourceNormalRateCmd(Part *part, Resource *resource, double value, TQString name=0);
695 void execute();
696 void unexecute();
697
698private:
699 Resource *m_resource;
700 double m_newvalue;
701 double m_oldvalue;
702};
703class ModifyResourceOvertimeRateCmd : public NamedCommand
704{
705public:
706 ModifyResourceOvertimeRateCmd(Part *part, Resource *resource, double value, TQString name=0);
707 void execute();
708 void unexecute();
709
710private:
711 Resource *m_resource;
712 double m_newvalue;
713 double m_oldvalue;
714};
715class ModifyResourceCalendarCmd : public NamedCommand
716{
717public:
718 ModifyResourceCalendarCmd(Part *part, Resource *resource, Calendar *value, TQString name=0);
719 void execute();
720 void unexecute();
721
722private:
723 Resource *m_resource;
724 Calendar *m_newvalue;
725 Calendar *m_oldvalue;
726};
727
728class RemoveResourceGroupCmd : public NamedCommand
729{
730public:
731 RemoveResourceGroupCmd(Part *part, ResourceGroup *group, TQString name=0);
732 ~RemoveResourceGroupCmd();
733 void execute();
734 void unexecute();
735
736protected:
737
738 ResourceGroup *m_group;
739 bool m_mine;
740};
741
742class AddResourceGroupCmd : public RemoveResourceGroupCmd
743{
744public:
745 AddResourceGroupCmd(Part *part, ResourceGroup *group, TQString name=0);
746 void execute();
747 void unexecute();
748};
749
750class ModifyResourceGroupNameCmd : public NamedCommand
751{
752public:
753 ModifyResourceGroupNameCmd(Part *part, ResourceGroup *group, TQString value, TQString name=0);
754 void execute();
755 void unexecute();
756
757private:
758 ResourceGroup *m_group;
759 TQString m_newvalue;
760 TQString m_oldvalue;
761};
762
763class TaskModifyProgressCmd : public NamedCommand
764{
765public:
766 TaskModifyProgressCmd(Part *part, Task &task, struct Task::Progress &value, TQString name=0);
767 void execute();
768 void unexecute();
769
770private:
771 Task &m_task;
772 struct Task::Progress m_newvalue;
773 struct Task::Progress m_oldvalue;
774};
775
776class ProjectModifyBaselineCmd : public NamedCommand
777{
778public:
779 ProjectModifyBaselineCmd(Part *part, Project &project, bool value, TQString name=0);
780 void execute();
781 void unexecute();
782
783private:
784 Project &m_project;
785 bool m_newvalue;
786 bool m_oldvalue;
787};
788
789class AddAccountCmd : public NamedCommand
790{
791public:
792 AddAccountCmd(Part *part, Project &project, Account *account, Account *parent=0, TQString name=0);
793 AddAccountCmd(Part *part, Project &project, Account *account, TQString parent, TQString name=0);
794 ~AddAccountCmd();
795 void execute();
796 void unexecute();
797
798protected:
799 bool m_mine;
800
801private:
802 Project &m_project;
803 Account *m_account;
804 Account *m_parent;
805 TQString m_parentName;
806};
807
808class RemoveAccountCmd : public NamedCommand
809{
810public:
811 RemoveAccountCmd(Part *part, Project &project, Account *account, TQString name=0);
812 ~RemoveAccountCmd();
813 void execute();
814 void unexecute();
815
816private:
817 Project &m_project;
818 Account *m_account;
819 bool m_isDefault;
820 bool m_mine;
821
822};
823
824class RenameAccountCmd : public NamedCommand
825{
826public:
827 RenameAccountCmd(Part *part, Account *account, TQString value, TQString name=0);
828 void execute();
829 void unexecute();
830
831private:
832 Account *m_account;
833 TQString m_oldvalue;
834 TQString m_newvalue;
835};
836
837class ModifyAccountDescriptionCmd : public NamedCommand
838{
839public:
840 ModifyAccountDescriptionCmd(Part *part, Account *account, TQString value, TQString name=0);
841 void execute();
842 void unexecute();
843
844private:
845 Account *m_account;
846 TQString m_oldvalue;
847 TQString m_newvalue;
848};
849
850class NodeModifyStartupCostCmd : public NamedCommand
851{
852public:
853 NodeModifyStartupCostCmd(Part *part, Node &node, double value, TQString name=0);
854 void execute();
855 void unexecute();
856
857private:
858 Node &m_node;
859 double m_oldvalue;
860 double m_newvalue;
861};
862
863class NodeModifyShutdownCostCmd : public NamedCommand
864{
865public:
866 NodeModifyShutdownCostCmd(Part *part, Node &node, double value, TQString name=0);
867 void execute();
868 void unexecute();
869
870private:
871 Node &m_node;
872 double m_oldvalue;
873 double m_newvalue;
874};
875
876class NodeModifyRunningAccountCmd : public NamedCommand
877{
878public:
879 NodeModifyRunningAccountCmd(Part *part, Node &node, Account *oldvalue, Account *newvalue, TQString name=0);
880 void execute();
881 void unexecute();
882
883private:
884 Node &m_node;
885 Account *m_oldvalue;
886 Account *m_newvalue;
887};
888
889class NodeModifyStartupAccountCmd : public NamedCommand
890{
891public:
892 NodeModifyStartupAccountCmd(Part *part, Node &node, Account *oldvalue, Account *newvalue, TQString name=0);
893 void execute();
894 void unexecute();
895
896private:
897 Node &m_node;
898 Account *m_oldvalue;
899 Account *m_newvalue;
900};
901
902class NodeModifyShutdownAccountCmd : public NamedCommand
903{
904public:
905 NodeModifyShutdownAccountCmd(Part *part, Node &node, Account *oldvalue, Account *newvalue, TQString name=0);
906 void execute();
907 void unexecute();
908
909private:
910 Node &m_node;
911 Account *m_oldvalue;
912 Account *m_newvalue;
913};
914
915class ModifyDefaultAccountCmd : public NamedCommand
916{
917public:
918 ModifyDefaultAccountCmd(Part *part, Accounts &acc, Account *oldvalue, Account *newvalue, TQString name=0);
919 void execute();
920 void unexecute();
921
922private:
923 Accounts &m_accounts;
924 Account *m_oldvalue;
925 Account *m_newvalue;
926};
927
928class ProjectModifyConstraintCmd : public NamedCommand
929{
930public:
931 ProjectModifyConstraintCmd(Part *part, Project &node, Node::ConstraintType c, TQString name=0);
932 void execute();
933 void unexecute();
934
935private:
936 Project &m_node;
937 Node::ConstraintType newConstraint;
938 Node::ConstraintType oldConstraint;
939
940};
941
942class ProjectModifyStartTimeCmd : public NamedCommand
943{
944public:
945 ProjectModifyStartTimeCmd(Part *part, Project &node, TQDateTime dt, TQString name=0);
946 void execute();
947 void unexecute();
948
949private:
950 Project &m_node;
951 TQDateTime newTime;
952 TQDateTime oldTime;
953
954};
955
956class ProjectModifyEndTimeCmd : public NamedCommand
957{
958public:
959 ProjectModifyEndTimeCmd(Part *part, Project &project, TQDateTime dt, TQString name=0);
960 void execute();
961 void unexecute();
962
963private:
964 Project &m_node;
965 TQDateTime newTime;
966 TQDateTime oldTime;
967
968};
969
970
971class CalculateProjectCmd : public NamedCommand
972{
973public:
974 CalculateProjectCmd(Part *part, Project &project, TQString tname, int type, TQString name=0);
975 void execute();
976 void unexecute();
977
978private:
979 Project &m_node;
980 TQString m_typename;
981 int m_type;
982 Schedule *newSchedule;
983 Schedule *oldCurrent;
984};
985
986class RecalculateProjectCmd : public NamedCommand
987{
988public:
989 RecalculateProjectCmd(Part *part, Project &project, Schedule &sch, TQString name=0);
990 void execute();
991 void unexecute();
992
993private:
994 Project &m_node;
995 Schedule &oldSchedule;
996 Schedule *newSchedule;
997 bool oldDeleted;
998 Schedule *oldCurrent;
999};
1000
1001class ModifyStandardWorktimeYearCmd : public NamedCommand
1002{
1003public:
1004 ModifyStandardWorktimeYearCmd(Part *part, StandardWorktime *wt, double oldvalue, double newvalue, TQString name=0);
1005 void execute();
1006 void unexecute();
1007private:
1008 StandardWorktime *swt;
1009 double m_oldvalue;
1010 double m_newvalue;
1011};
1012
1013class ModifyStandardWorktimeMonthCmd : public NamedCommand
1014{
1015public:
1016 ModifyStandardWorktimeMonthCmd(Part *part, StandardWorktime *wt, double oldvalue, double newvalue, TQString name=0);
1017 void execute();
1018 void unexecute();
1019private:
1020 StandardWorktime *swt;
1021 double m_oldvalue;
1022 double m_newvalue;
1023};
1024
1025class ModifyStandardWorktimeWeekCmd : public NamedCommand
1026{
1027public:
1028 ModifyStandardWorktimeWeekCmd(Part *part, StandardWorktime *wt, double oldvalue, double newvalue, TQString name=0);
1029 void execute();
1030 void unexecute();
1031private:
1032 StandardWorktime *swt;
1033 double m_oldvalue;
1034 double m_newvalue;
1035};
1036
1037class ModifyStandardWorktimeDayCmd : public NamedCommand
1038{
1039public:
1040 ModifyStandardWorktimeDayCmd(Part *part, StandardWorktime *wt, double oldvalue, double newvalue, TQString name=0);
1041 void execute();
1042 void unexecute();
1043private:
1044 StandardWorktime *swt;
1045 double m_oldvalue;
1046 double m_newvalue;
1047};
1048
1049
1050} //KPlato namespace
1051
1052#endif //COMMAND_H
Account holds one account.
Definition kptaccount.h:49
Accounts administrates all accounts.
Definition kptaccount.h:180
Calendar defines the working and nonworking days and hours.
Project is the main node in a project, it contains child nodes and possibly sub-projects.
Definition kptproject.h:52
The relation class couples a 2 nodes together which are dependent on each other.
Definition kptrelation.h:45
This class represents a group of similar resources to be assigned to a task e.g.
Definition kptresource.h:66
Any resource that is used by a task.
The Schedule class holds data calculated during project calculation and scheduling,...
Definition kptschedule.h:55
A task in the scheduling software is represented by this class.
Definition kpttask.h:40