123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- #include "basicproperty.h"
- #include "changenamedialog.h"
- #include "collectionwindow.h"
- #include "statusconfiguration.h"
- #include "containerpool.h"
- #include "resfiledialog.h"
- #include <QListWidgetItem>
- #include <QListWidget>
- #include <QLabel>
- #include <iostream>
- #include <QHBoxLayout>
- #include <QMessageBox>
- #include <QFileDialog>
- #include <QDragEnterEvent>
- #include <QMimeData>
- #include <QUrl>
- MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent)
- , ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- QPixmap pix("/Users/menglanluo/pic.png");
- ui->label_pic->setPixmap(pix.scaled(50,50,Qt::KeepAspectRatio));
- this->setAcceptDrops(true);
- resource = new QLineEdit(this);
- resource->setAcceptDrops(false);
- ui->tableWidget_animation->setHorizontalHeaderLabels({"名称","资源","时间线","z-Order"});
- }
- MainWindow::~MainWindow()
- {
- delete ui;
- }
- void MainWindow::on_pushButton_chooseFile_clicked()
- {
- QString file_name = QFileDialog::getOpenFileName(this,"Open a file",QDir::homePath());
- QPixmap pix(file_name);
- ui->label_pic->setPixmap(pix.scaled(50,50,Qt::KeepAspectRatio));
- }
- void MainWindow::dragEnterEvent(QDragEnterEvent *event)
- {
- if(event->mimeData()->hasUrls()){
- event->acceptProposedAction();
- }
- else{
- event->ignore();
- }
- }
- void MainWindow::dropEvent(QDropEvent *event)
- {
- const QMimeData *mimeData = event->mimeData();
- if(mimeData->hasUrls()){
- QList<QUrl> urls = mimeData->urls();
- QString urlName = urls.at(0).toLocalFile();
- QString fileName = urlName;
- resource->setText(fileName);
- }
- }
- void MainWindow::on_pushButton_addAnimation_clicked()
- {
- int rowNum = ui->tableWidget_animation->rowCount();
- // ui->tableWidget_animation->insertRow(rowNum);
- ui->tableWidget_animation->setRowCount(rowNum+1);
- //TODO: 命名唯一性检查
- ui->tableWidget_animation->setItem(rowNum,0,new QTableWidgetItem("anim_1"));
- // ui->tableWidget_animation->setCellWidget(rowNum,1,resource);
- ui->tableWidget_animation->setItem(rowNum,1,new QTableWidgetItem("双击添加资源文件"));
- ui->tableWidget_animation->setCellWidget(rowNum,2,new QComboBox);
- ui->tableWidget_animation->setItem(rowNum,3,new QTableWidgetItem("0"));
- }
- void MainWindow::on_pushButton_addElem_clicked()
- {
- ui->listWidget_elem->addItem(new QListWidgetItem(QIcon("/Users/menglanluo/菜狗.png"),"新加元素"));
- }
- void MainWindow::on_pushButton_delElem_clicked()
- {
- QMessageBox::StandardButton reply = QMessageBox::question(this,"删除元素","确定要删除此元素吗?");
- if(reply == QMessageBox::Yes){
- delete ui->listWidget_elem->takeItem(ui->listWidget_elem->currentRow());
- }
- }
- void MainWindow::on_pushButton_addCollectAnim_clicked()
- {
- //TODO: 检查默认名称唯一性
- ui->listWidget_collectAnim->addItem(new QListWidgetItem("collAnim_1"));
- }
- void MainWindow::on_pushButton_delCollectAnim_clicked()
- {
- QMessageBox::StandardButton reply = QMessageBox::question(this,"删除动画","确定要删除此收集动画吗?");
- if(reply == QMessageBox::Yes){
- delete ui->listWidget_collectAnim->takeItem(ui->listWidget_collectAnim->currentRow());
- }
- }
- void MainWindow::on_listWidget_collectAnim_itemDoubleClicked(QListWidgetItem *item)
- {
- ChangeNameDialog newName;
- newName.setModal(true);
- newName.exec();
- if(!newName.getNewName().isEmpty()){
- item->setText(newName.getNewName());
- }
- }
- void MainWindow::on_pushButton_addStatus_clicked()
- {
- //TODO: 检查状态值合法性
- ui->listWidget_status->addItem("1");
- }
- void MainWindow::on_pushButton_delStatus_clicked()
- {
- QMessageBox::StandardButton reply = QMessageBox::question(this,"删除状态","确定要删除此状态吗?");
- if(reply == QMessageBox::Yes){
- delete ui->listWidget_status->takeItem(ui->listWidget_status->currentRow());
- }
- }
- void MainWindow::on_pushButton_addContainer_clicked()
- {
- //TODO: 检查名称唯一性
- ui->listWidget_pool->addItem("pool1");
- }
- void MainWindow::on_pushButton_delContainer_clicked()
- {
- QMessageBox::StandardButton reply = QMessageBox::question(this,"删除状态","确定要删除此容器吗?");
- if(reply == QMessageBox::Yes){
- delete ui->listWidget_pool->takeItem(ui->listWidget_pool->currentRow());
- }
- }
- void MainWindow::on_listWidget_pool_itemDoubleClicked(QListWidgetItem *item)
- {
- ChangeNameDialog newName;
- newName.setModal(true);
- newName.exec();
- QString name = newName.getNewName();
- if(!name.isEmpty()){
- //TODO: 检查新名字唯一性
- item->setText(name);
- }
- }
- void MainWindow::on_listWidget_elem_itemDoubleClicked(QListWidgetItem *item)
- {
- ChangeNameDialog newName;
- newName.setModal(true);
- newName.exec();
- if(!newName.getNewName().isEmpty()){
- item->setText(newName.getNewName());
- }
- }
- void MainWindow::on_tableWidget_animation_cellDoubleClicked(int row, int column)
- {
- if(column == 1){
- ResFileDialog res;
- res.setModal(true);
- res.exec();
- QString fileName = res.getResName();
- if(!fileName.isEmpty()){
- ui->tableWidget_animation->setItem(row,column,new QTableWidgetItem(fileName));
- }
- }
- //TODO: 处理其它单元格的修改,检查z-Order数值合法性
- }
- void MainWindow::on_pushButton_delAnimation_clicked()
- {
- QMessageBox::StandardButton reply = QMessageBox::question(this,"删除动画","确定要删除此动画吗?");
- if(reply == QMessageBox::Yes){
- int curRow = ui->tableWidget_animation->currentRow();
- ui->tableWidget_animation->removeRow(curRow);
- }
- }
|