#include #include #include #include #include #include #include #include #include #include #include #include #include #include SpreadSheetMainWindow::SpreadSheetMainWindow(QWidget* /* parent */) { window()->setWindowTitle("SpreadSheet"); setActions(); m_table = new QTableWidget(100, 100); setCentralWidget(m_table); setStatusBar(); } void SpreadSheetMainWindow::setStatusBar() { m_labelCoord = new QLabel("Coord"); m_labelFormula = new QLabel("Formula"); statusBar()->addWidget(m_labelCoord); statusBar()->addWidget(m_labelFormula); connect(m_table, SIGNAL(currentCellChanged(int, int, int, int)), this, SLOT(onCellChanged(int, int))); } void SpreadSheetMainWindow::contextMenuEvent(QContextMenuEvent *event) { QMenu menu(this); menu.addAction(ki18n("cut").toString(), this, SLOT(onCut())); menu.addAction(ki18n("copy").toString(), this, SLOT(onCopy())); menu.addAction(ki18n("paste").toString(), this, SLOT(onPaste())); menu.exec(event->globalPos()); } void SpreadSheetMainWindow::setActions() { actionCollection()->addAction(KStandardAction::New, this, SLOT(onNew())); actionCollection()->addAction(KStandardAction::Open, this, SLOT(onOpen())); actionCollection()->addAction(KStandardAction::Save, this, SLOT(onSave())); actionCollection()->addAction(KStandardAction::SaveAs, this, SLOT(onSaveAs())); actionCollection()->addAction(KStandardAction::Cut, this, SLOT(onCut())); actionCollection()->addAction(KStandardAction::Copy, this, SLOT(onCopy())); actionCollection()->addAction(KStandardAction::Paste, this, SLOT(onPaste())); actionCollection()->addAction(KStandardAction::Quit, this, SLOT(close())); setupGUI(); } void SpreadSheetMainWindow::onCellChanged(int row, int col) { m_labelCoord->setText(QString::number(row+1)+":"+QString::number(col+1)); m_labelFormula->setText(m_table->indexAt(QPoint(row, col)).data().toString()); } void SpreadSheetMainWindow::onNew() { } void SpreadSheetMainWindow::onOpen() { } void SpreadSheetMainWindow::onSave() { } void SpreadSheetMainWindow::onSaveAs() { } void SpreadSheetMainWindow::onCut() { } void SpreadSheetMainWindow::onCopy() { } void SpreadSheetMainWindow::onPaste() { }