00001 #ifndef __CONTOUR_THING__ 00002 #define __CONTOUR_THING__ 00003 00004 00005 00006 //------------------------------------------------------------------------------------------------------------ 00007 // Includes 00008 //------------------------------------------------------------------------------------------------------------ 00009 #include <iostream> 00010 #include "CommandObject.h" 00011 #include "ExecutableCommand.h" 00012 #include "ComposedCommand.h" 00013 #include "manualContourModel.h" 00014 00015 class ContourThing{ 00016 00017 //------------------------------------------------------------------------------------------------------------ 00018 // Constructors & Destructors 00019 //------------------------------------------------------------------------------------------------------------ 00020 public: 00021 00022 /* 00023 * Creates a ContourThing 00024 */ 00025 ContourThing(manualBaseModel * model); 00026 00027 /* 00028 * Destroys a ContourThing 00029 */ 00030 ~ContourThing(); 00031 //------------------------------------------------------------------------------------------------------------ 00032 // Methods 00033 //------------------------------------------------------------------------------------------------------------ 00034 00035 /* 00036 * 00037 */ 00038 std::string getName(); 00039 00040 /* 00041 * 00042 */ 00043 void setName(std::string aName); 00044 00045 00046 manualBaseModel * getModel(); 00047 00048 void setModel(manualBaseModel * model); 00049 00050 /* 00051 * Executes the given command if posible and returns is posible or not 00052 * @param theSpecificCommand Is the specific command to execute 00053 * @return Returns if the command was successfuly executed 00054 */ 00055 bool executeCommand (CommandObject * theSpecificCommand); 00056 00057 /* 00058 * Interprets the given command and constructs the opposite command for returning it 00059 * @param theSpecificDOCommand Is the specific DO command 00060 * @return Returns the UNDO command of the given one 00061 */ 00062 CommandObject * getUndoCommandOf(CommandObject * theSpecificDOCommand); 00063 00064 00065 //------------------------------------------------------------------------------------------------------------ 00066 // Constants 00067 //------------------------------------------------------------------------------------------------------------ 00068 00069 private: 00070 //------------------------------------------------------------------------------------------------------------ 00071 // Attributes 00072 //------------------------------------------------------------------------------------------------------------ 00073 00074 std::string outlineName; 00075 00076 manualBaseModel * theModel; 00077 }; 00078 #endif