00001 #include <qmainwindow.h> 00002 #include <qtable.h> 00003 #include "iiscell.h" 00004 #include "value.h" 00005 00006 class SpreadSheetTable: public QTable 00007 { 00008 list<IisCell*> needs_recalculation; 00009 public: 00010 SpreadSheetTable( int numRows, int numCols, QWidget * parent = 0, const char * name = 0 ); 00011 void queue_recalculation(IisCell * ss); 00012 void status_selection(bool force_recalculation, bool allow_user_input); 00013 IisCell * findItem(int row, int col); 00014 void recalc(); 00015 void insertRows(); 00016 void insertRows(int row, int nr); 00017 void insertCols(); 00018 void insertCols(int row, int nr); 00019 void copyRight(); 00020 void copyDown(); 00021 void saveFile(QString filename_prefix); 00022 void loadFile(QString filename); 00023 private: 00024 void restart_recalcing(); 00025 protected: 00026 virtual QWidget * beginEdit(int row, int col, bool replace ); 00027 virtual void customEvent( QCustomEvent * e ); 00028 }; 00029