COOPY » Guide
version 0.6.5
|
00001 #ifndef COOPY_MERGEOUTPUTEDITLIST 00002 #define COOPY_MERGEOUTPUTEDITLIST 00003 00004 #include <coopy/MergeOutput.h> 00005 #include <coopy/CsvSheet.h> 00006 00007 #include <map> 00008 00009 namespace coopy { 00010 namespace cmp { 00011 class MergeOutputEditList; 00012 } 00013 } 00014 00015 class coopy::cmp::MergeOutputEditList : public Patcher { 00016 private: 00017 std::string sheet_name; 00018 std::map<std::string,int> col_map; 00019 int x; 00020 int y; 00021 00022 bool outputField(const std::string& str) { 00023 return outputField(coopy::store::SheetCell(str,false)); 00024 } 00025 00026 bool makeSafe(); 00027 bool outputField(const coopy::store::SheetCell& cell); 00028 bool outputRecord(); 00029 00030 public: 00031 MergeOutputEditList() { 00032 sheet_name = coopy_get_default_table_name(); 00033 x = y = -1; 00034 } 00035 00036 virtual bool wantDiff() { return true; } 00037 00038 virtual bool changeColumn(const OrderChange& change); 00039 virtual bool changeRow(const RowChange& change); 00040 00041 virtual bool mergeStart() { return true; } 00042 virtual bool mergeDone() { return true; } 00043 00044 virtual bool mergeAllDone() { return true; } 00045 00046 virtual bool changeName(const NameChange& change); 00047 00048 virtual bool outputStartsFromInput() { 00049 return true; 00050 } 00051 00052 virtual bool needOutputBook() { 00053 return true; 00054 } 00055 00056 virtual bool setSheet(const char *name); 00057 }; 00058 00059 #endif