Слияние кода завершено, страница обновится автоматически
#ifndef SPREADSHEET_H
#define SPREADSHEET_H
#include<QTableWidget>
class Cell;
class SpreadsheetCompare;
class Spreadsheet:public QTableWidget
{
Q_OBJECT
public:
Spreadsheet(QWidget*parent=0);
bool readFile(const QString &fileName);
bool writeFile(const QString &fileName);
void clear();
void sort(const SpreadsheetCompare &compare);
QTableWidgetSelectionRange selectedRange() const;
QString currentLocation()const;
QString currentFormula()const;
public slots:
void cut();
void copy();
void paste();
void del();
void selectCurrentRow();
void selectCurrentColumn();
void recalculate();
void setAutoRecalculate(bool recal);
void findNext(const QString &str, Qt::CaseSensitivity cs);
void findPrevious(const QString &str, Qt::CaseSensitivity cs);
private slots:
void somethingChanged();
signals:
void modified();
private:
enum{MagicNumber=0x7F51C883, RowCount=999,ColumCount=26};
Cell* cell(int row,int column)const;
QString formula(int row,int column) const;
void setFormula(int row,int column,const QString &formula);
bool autoRecalc;
QString text(int row,int column) const;
};
class SpreadsheetCompare
{
public:
bool operator()(const QStringList &row1,
const QStringList &row2) const;
enum{KeyCount=3};
int keys[KeyCount];
bool ascending[KeyCount];
};
#endif // SPREADSHEET_H
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )