|
@@ -132,7 +132,10 @@ void StatusConfig::setUi(QString elem)
|
|
currentElem = elem;
|
|
currentElem = elem;
|
|
//设置状态配置界面
|
|
//设置状态配置界面
|
|
ui->listWidget_status->clear();
|
|
ui->listWidget_status->clear();
|
|
- ui->listWidget_status->addItems(DataManager::getInstance()->getList(elem,DataManager::ListType::StatusVal));
|
|
|
|
|
|
+ for(const QString &i:DataManager::getInstance()->getList(elem,DataManager::ListType::StatusVal)){
|
|
|
|
+ QListWidgetItem* item = new QListWidgetItem(i);
|
|
|
|
+ ui->listWidget_status->addItem(item);
|
|
|
|
+ }
|
|
//切换元素时状态尚未选中,先清除事件表格内容
|
|
//切换元素时状态尚未选中,先清除事件表格内容
|
|
int rowCnt = ui->tableWidget_event->rowCount();
|
|
int rowCnt = ui->tableWidget_event->rowCount();
|
|
for(int i=0;i<rowCnt;i++){
|
|
for(int i=0;i<rowCnt;i++){
|
|
@@ -271,7 +274,8 @@ void StatusConfig::on_pushButton_genTemp_clicked()
|
|
if(ui->listWidget_status->count() > 0) return;
|
|
if(ui->listWidget_status->count() > 0) return;
|
|
int maxLayer = DataManager::getInstance()->getMaxLayer(currentElem).toInt();
|
|
int maxLayer = DataManager::getInstance()->getMaxLayer(currentElem).toInt();
|
|
for(int i=0;i<maxLayer;i++){
|
|
for(int i=0;i<maxLayer;i++){
|
|
- ui->listWidget_status->addItem(QString::number(i));
|
|
|
|
|
|
+ QListWidgetItem* item = new QListWidgetItem(QString::number(i));
|
|
|
|
+ ui->listWidget_status->addItem(item);
|
|
DataManager::getInstance()->addStatus(currentElem,QString::number(i));
|
|
DataManager::getInstance()->addStatus(currentElem,QString::number(i));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -288,13 +292,13 @@ void StatusConfig::on_pushButton_addStatus_clicked()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(!statusName.isEmpty()){
|
|
if(!statusName.isEmpty()){
|
|
- ui->listWidget_status->addItem(statusName);
|
|
|
|
|
|
+ QListWidgetItem* item = new QListWidgetItem(statusName);
|
|
|
|
+ ui->listWidget_status->addItem(item);
|
|
ElemPropertyData::StatusConfig status(statusName);
|
|
ElemPropertyData::StatusConfig status(statusName);
|
|
DataManager::getInstance()->addStatus(currentElem,statusName);
|
|
DataManager::getInstance()->addStatus(currentElem,statusName);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-//TODO: 删除状态值时出现数组越界
|
|
|
|
///删除状态
|
|
///删除状态
|
|
void StatusConfig::on_pushButton_delStatus_clicked()
|
|
void StatusConfig::on_pushButton_delStatus_clicked()
|
|
{
|
|
{
|
|
@@ -302,8 +306,8 @@ void StatusConfig::on_pushButton_delStatus_clicked()
|
|
if(row == -1) return;
|
|
if(row == -1) return;
|
|
QMessageBox::StandardButton reply = QMessageBox::question(this,"删除状态","确定要删除此状态吗?");
|
|
QMessageBox::StandardButton reply = QMessageBox::question(this,"删除状态","确定要删除此状态吗?");
|
|
if(reply == QMessageBox::Yes){
|
|
if(reply == QMessageBox::Yes){
|
|
|
|
+ delete ui->listWidget_status->takeItem(row);
|
|
DataManager::getInstance()->delStatus(currentElem,row);
|
|
DataManager::getInstance()->delStatus(currentElem,row);
|
|
- delete ui->listWidget_status->takeItem(ui->listWidget_status->currentRow());
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -315,7 +319,6 @@ void StatusConfig::on_listWidget_status_itemDoubleClicked(QListWidgetItem *item)
|
|
newName.exec();
|
|
newName.exec();
|
|
QString name = newName.getNewName();
|
|
QString name = newName.getNewName();
|
|
if(!name.isEmpty()){
|
|
if(!name.isEmpty()){
|
|
- //TODO: 检查状态值合法性并转移数据
|
|
|
|
bool isNum;double tmp = name.toDouble(&isNum);
|
|
bool isNum;double tmp = name.toDouble(&isNum);
|
|
int maxLayer = DataManager::getInstance()->getMaxLayer(currentElem).toInt();
|
|
int maxLayer = DataManager::getInstance()->getMaxLayer(currentElem).toInt();
|
|
int statusNum = name.toInt();
|
|
int statusNum = name.toInt();
|
|
@@ -455,8 +458,8 @@ void StatusConfig::on_pushButton_delEvent_clicked()
|
|
if(statusIndex == -1 || row == -1) return;
|
|
if(statusIndex == -1 || row == -1) return;
|
|
QMessageBox::StandardButton reply = QMessageBox::question(this,"删除事件","确定要删除此事件吗?");
|
|
QMessageBox::StandardButton reply = QMessageBox::question(this,"删除事件","确定要删除此事件吗?");
|
|
if(reply == QMessageBox::Yes){
|
|
if(reply == QMessageBox::Yes){
|
|
- DataManager::getInstance()->delEvent(currentElem,statusIndex,row);
|
|
|
|
ui->tableWidget_event->removeRow(row);
|
|
ui->tableWidget_event->removeRow(row);
|
|
|
|
+ DataManager::getInstance()->delEvent(currentElem,statusIndex,row);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -482,7 +485,8 @@ void StatusConfig::on_pushButton_copyStatus_clicked()
|
|
}
|
|
}
|
|
if(!statusName.isEmpty()){
|
|
if(!statusName.isEmpty()){
|
|
DataManager::getInstance()->copyStatus(currentElem,statusName,curRow);
|
|
DataManager::getInstance()->copyStatus(currentElem,statusName,curRow);
|
|
- ui->listWidget_status->addItem(statusName);
|
|
|
|
|
|
+ QListWidgetItem* item = new QListWidgetItem(statusName);
|
|
|
|
+ ui->listWidget_status->addItem(item);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|