johnny_sparx
1st April 2006, 19:44
I have a class where I defined the following:
const QModelIndex *Current_Model_Index;
The class has a slot that defines the value of Current_Model_Index (a slot):
void AcquisitionBrowserWidget::Display_File_Path(QStrin g *File_Path_Clicked, const QModelIndex *index)
{
Acquisition_Browser->MainFilePathDisplay->setText(*File_Path_Clicked);
// Update the internal target file path.
Target_File_Path = *File_Path_Clicked;
Current_Model_Index = index;
Update_All_Browser_Information();
//Acquisition_Browser->Transfer_Progress_Bar->setValue(0);
}
The following bit of code results in an error that I can't seem to interpret:
Current_Model_Index->model()->setData(*Current_Model_Index,Qt::blue,Qt::TextColo rRole);
The error:
roetgen 1121% make
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/export/data/jsalik/local/Qt-4.1.1/mkspecs/linux-g++ -I. -I/export/data/jsalik/local/Qt-4.1.1/include/QtCore -I/export/data/jsalik/local/Qt-4.1.1/include/QtGui -I/export/data/jsalik/local/Qt-4.1.1/include -I. -I. -I. -o AcquisitionBrowserWidget.o AcquisitionBrowserWidget.cpp
AcquisitionBrowserWidget.cpp: In member function `void
AcquisitionBrowserWidget::DICOM_Tree_Changed(QTree WidgetItem*, int)':
AcquisitionBrowserWidget.cpp:225: error: passing `const QAbstractItemModel' as
`this' argument of `virtual bool QAbstractItemModel::setData(const
QModelIndex&, const QVariant&, int)' discards qualifiers
AcquisitionBrowserWidget.cpp:202: warning: unused parameter `int column'
AcquisitionBrowserWidget.cpp: In member function `void
AcquisitionBrowserWidget::DICOM_Tree_Item_Double_C licked(QTreeWidgetItem*,
int)':
AcquisitionBrowserWidget.cpp:708: warning: unused parameter `int column'
AcquisitionBrowserWidget.cpp: In member function `int
AcquisitionBrowserWidget::Move_Files(QString, QString)':
AcquisitionBrowserWidget.cpp:799: warning: unused variable `
QClipboard*clipboard'
make: *** [AcquisitionBrowserWidget.o] Error 1
roetgen 1122%
The function where the error occurs is:
void AcquisitionBrowserWidget::DICOM_Tree_Changed(QTree WidgetItem * item, int column )
{
if(Target_File_Path!="" || Acquisition_Browser->Read_Only_Checkbox->checkState()==Qt::Unchecked)
{
Acquisition_Browser->Update_Header_Button->setIcon(QIcon("blueball.png"));
DICOM_Tree_Data_Changed = true;
DICOM_Tree_Data_Updated = false;
}
else
{
Acquisition_Browser->Update_Header_Button->setIcon(QIcon("greenball.png"));
DICOM_Tree_Data_Changed = false;
DICOM_Tree_Data_Updated = false;
}
if(item==DICOM_Information__Patient_Information__N ame)
{
QString Patient_Name = item->text(1);
//Acquisition_Browser->Transfer_Message->setText(item->text(1));
if(Patient_Name_Valid(Patient_Name))
{
Current_Flag_Database_Update(PATIENT_NAME_FIELD_IN VALID,false);
Acquisition_Browser->Transfer_Message->setText("Patient name is \nVALID.");
Current_Model_Index->model()->setData(*Current_Model_Index,Qt::blue,Qt::TextColo rRole);
//DICOM_Information__Patient_Information__Name->setTextColor(1,Qt::black);
}
else
{
Current_Flag_Database_Update(PATIENT_NAME_FIELD_IN VALID,true);
Acquisition_Browser->Transfer_Message->setText("Patient name is \nINVALID.");
//Current_Model_Index->setData(Current_Model_Index,Qt::blue,Qt::TextColor Role);
//item->setTextColor(0,Qt::red);
}
emit Flags_Updated();
}
}
Can anyone tell me what I am doing wrong? I feel this is something simple and I am just stressed out... either that, or my brain has a C++ memory leak.
Thanks.
const QModelIndex *Current_Model_Index;
The class has a slot that defines the value of Current_Model_Index (a slot):
void AcquisitionBrowserWidget::Display_File_Path(QStrin g *File_Path_Clicked, const QModelIndex *index)
{
Acquisition_Browser->MainFilePathDisplay->setText(*File_Path_Clicked);
// Update the internal target file path.
Target_File_Path = *File_Path_Clicked;
Current_Model_Index = index;
Update_All_Browser_Information();
//Acquisition_Browser->Transfer_Progress_Bar->setValue(0);
}
The following bit of code results in an error that I can't seem to interpret:
Current_Model_Index->model()->setData(*Current_Model_Index,Qt::blue,Qt::TextColo rRole);
The error:
roetgen 1121% make
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/export/data/jsalik/local/Qt-4.1.1/mkspecs/linux-g++ -I. -I/export/data/jsalik/local/Qt-4.1.1/include/QtCore -I/export/data/jsalik/local/Qt-4.1.1/include/QtGui -I/export/data/jsalik/local/Qt-4.1.1/include -I. -I. -I. -o AcquisitionBrowserWidget.o AcquisitionBrowserWidget.cpp
AcquisitionBrowserWidget.cpp: In member function `void
AcquisitionBrowserWidget::DICOM_Tree_Changed(QTree WidgetItem*, int)':
AcquisitionBrowserWidget.cpp:225: error: passing `const QAbstractItemModel' as
`this' argument of `virtual bool QAbstractItemModel::setData(const
QModelIndex&, const QVariant&, int)' discards qualifiers
AcquisitionBrowserWidget.cpp:202: warning: unused parameter `int column'
AcquisitionBrowserWidget.cpp: In member function `void
AcquisitionBrowserWidget::DICOM_Tree_Item_Double_C licked(QTreeWidgetItem*,
int)':
AcquisitionBrowserWidget.cpp:708: warning: unused parameter `int column'
AcquisitionBrowserWidget.cpp: In member function `int
AcquisitionBrowserWidget::Move_Files(QString, QString)':
AcquisitionBrowserWidget.cpp:799: warning: unused variable `
QClipboard*clipboard'
make: *** [AcquisitionBrowserWidget.o] Error 1
roetgen 1122%
The function where the error occurs is:
void AcquisitionBrowserWidget::DICOM_Tree_Changed(QTree WidgetItem * item, int column )
{
if(Target_File_Path!="" || Acquisition_Browser->Read_Only_Checkbox->checkState()==Qt::Unchecked)
{
Acquisition_Browser->Update_Header_Button->setIcon(QIcon("blueball.png"));
DICOM_Tree_Data_Changed = true;
DICOM_Tree_Data_Updated = false;
}
else
{
Acquisition_Browser->Update_Header_Button->setIcon(QIcon("greenball.png"));
DICOM_Tree_Data_Changed = false;
DICOM_Tree_Data_Updated = false;
}
if(item==DICOM_Information__Patient_Information__N ame)
{
QString Patient_Name = item->text(1);
//Acquisition_Browser->Transfer_Message->setText(item->text(1));
if(Patient_Name_Valid(Patient_Name))
{
Current_Flag_Database_Update(PATIENT_NAME_FIELD_IN VALID,false);
Acquisition_Browser->Transfer_Message->setText("Patient name is \nVALID.");
Current_Model_Index->model()->setData(*Current_Model_Index,Qt::blue,Qt::TextColo rRole);
//DICOM_Information__Patient_Information__Name->setTextColor(1,Qt::black);
}
else
{
Current_Flag_Database_Update(PATIENT_NAME_FIELD_IN VALID,true);
Acquisition_Browser->Transfer_Message->setText("Patient name is \nINVALID.");
//Current_Model_Index->setData(Current_Model_Index,Qt::blue,Qt::TextColor Role);
//item->setTextColor(0,Qt::red);
}
emit Flags_Updated();
}
}
Can anyone tell me what I am doing wrong? I feel this is something simple and I am just stressed out... either that, or my brain has a C++ memory leak.
Thanks.