COOPY » Guide  version 0.6.5
/home/paulfitz/cvs/coopy_scm/coopy/src/libcoopy_core/include/coopy/MergeOutputEditList.h
Go to the documentation of this file.
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
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines