[eclipse CDT,Qt] pas de complétion
Bonjour,
je voudrais savoir comment ajouter de la complétion de code C++ à eclipse, que j'utilise avec Qt; voici le code de spreadsheet.cpp et spreadsheet.h; ces deux fichiers sont ceux d'un tableur (spreadsheet en anglais), la classe spreadsheet hérite de QTableWidget, contrôle gérant une grille de données.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#include <QtGui>
#include "cell.h"
#include "spreadsheet.h"
Spreadsheet::Spreadsheet(QWidget* parent):QTableWidget(parent)
{
autoRecalculate=true;
setItemPrototype(new Cell);
setSelectionMode(ContiguousSelection);
connect(this,SIGNAL(itemChanged(QTableWidgetItem*)),this,
SLOT(somethingChanged()));
clear();
}
void spreadsheet::clear()
{
setRowCount(0);
setColumnCount(0);
setRowCount(RowCount);
setColumnCount(ColumnCount);
for (int i=0;i<Column;i++)
{
QTableWidgetItem* item=new QTableWidgetItem;
item->setText(QString(QChar('A'+i)));
setHorizontalHeaderItem(i,item);
}
setCurrentCell(0,0);
} |
et spreadsheet.h:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
#ifndef SPREADSHEET_
#define SPREADSHEET_
#include <QTableWidget>
class Cell;
class SpreadsheetCompare;
class Spreadsheet:public QTableWidget
{
Q_OBJECT
public:
Spreadsheet(QWidget* parent=0);
bool autoRecalculate() const {return autoRecalculate;}
QString currentLocation() const;
QString currentFormula() const;
QTableWidgetSelectionRange selectedRange() const;
void clear();
bool readFile(const QString& fileName);
bool writeFile(const QString & fileName);
void sort(const SpreadsheetCompare & compare);
public slots:
void cut();
void copy();
void paste();
void del();
void selectCurrentRow();
void setCurrentColumn();
void recalculate();
void setAutoRecalculate();
void findNext(const QString &str,Qt::CaseSensitivity cs);
void findPrevious(const QString& str,Qt::CaseSensitivity cs);
signals:
void modified();
private slots:
void somethingChanged();
private:
enum {MagicNumber=0x7F51C883,rowCount=999,ColumnCount=26};
Cell* cell(int row,int column) const;
QString text(int row,int column) const;
QString formula(int row,int column) const;
void setFormula(int row,int column,const QString& formula);
bool autoRecalculate;
};
class SpreadsheetCompare
{
public:
bool operator()(const QStringList& row1,const QStringList& row2) const;
enum {KeyCount=3};
int Keys[KeyCount];
bool ascending[KeyCount];
};
#endif /*SPREADSHEET_*/ |
le truc particulier c'est que ces deux fichiers sont dans le sous-répertoire "spreadsheet" du projet, pas dans le répertoire principal.
je n'ai pas la complétion et ça m'embête bien, est-ce qu'eclipse interrompt la complétion si une inclusion est non valable(en effet, le fichier cell.h n'existe pas encore).
lolveley.