00001 #include <qpainter.h>
00002 #include <qimage.h>
00003 #include <qlineedit.h>
00004 #include <qpalette.h>
00005 #include <typeinfo>
00006 #include "iis.h"
00007 #include "value.h"
00008 #include "runtime.h"
00009 #include "spreadsheet.h"
00010
00011 SpreadSheet::SpreadSheet(QString loadfrom, QWidget* parent, const char* name, int wflags ) :
00012 QMainWindow(parent,name,wflags)
00013 {
00014 init();
00015 setFilename(loadfrom);
00016 load();
00017 }
00018
00019 SpreadSheet::SpreadSheet( QWidget* parent, const char* name, int wflags )
00020 : QMainWindow( parent, name, wflags )
00021 {
00022 init();
00023 }
00024
00025 void SpreadSheet::init()
00026 {
00027 table = new SpreadSheetTable(100,26,this,"table");
00028
00029 QHeader * h = table->verticalHeader();
00030 for(int i = 0 ; i < 100 ; i++)
00031 h->setLabel(i,QString::number(i));
00032 h = table->horizontalHeader();
00033 for(int i = 0 ; i < 26 ; i ++)
00034 {
00035 char c[2];
00036 c[0] = 'A'+i;
00037 c[1]=0;
00038 h->setLabel(i,QString(c));
00039 }
00040
00041 setCentralWidget(table);
00042 }
00043 void SpreadSheet::insertRows()
00044 {
00045 table->insertRows();
00046 }
00047
00048 void SpreadSheet::insertCols()
00049 {
00050 table->insertCols();
00051 }
00052
00053 void SpreadSheet::copyRight()
00054 {
00055 table->copyRight();
00056 }
00057
00058 void SpreadSheet::copyDown()
00059 {
00060 table->copyDown();
00061 }
00062
00063 SpreadSheet::~SpreadSheet()
00064 {
00065 }
00066
00067 void SpreadSheet::recalcSelection()
00068 {
00069 table->status_selection(true,false);
00070 }
00071
00072 void SpreadSheet::allowUserInput()
00073 {
00074 table->status_selection(true,true);
00075 }
00076
00077 bool SpreadSheet::hasFilename()
00078 {
00079 return !filename.isEmpty();
00080 }
00081
00082 void SpreadSheet::setFilename(QString fn)
00083 {
00084 filename = fn;
00085 setCaption(fn);
00086 }
00087
00088 void SpreadSheet::saveFile()
00089 {
00090 table->saveFile(filename);
00091 }
00092
00093 void SpreadSheet::load()
00094 {
00095 table->loadFile(filename);
00096 }
00097