void ThreadedDetector::update(){
	if(detector.getState()==Detector::Init){
		analizeNext();
	}
	if(detector.getState()==Detector::Finished){
		locationDB.addLocation(currentAdvert);
		if(!currentAdvert.hasAlias()){
			currentAdvert.getMD5File().moveTo(moveFinishedTo+currentAdvert.getMD5File().getFileName()+".notready");

			ofLogError("artvertiserServer") << "finished analysis copying images to server folder" << endl;
			ofFile md5(currentAdvert.getMD5File().path(),ofFile::WriteOnly);
			md5 << currentAdvert.generateMD5();
			md5.close();

			ofImage iconImg(currentAdvert.getCompressedImage());
			iconImg.resize(160,120);
			iconImg.saveImage(moveFinishedTo+currentAdvert.getUID()+".icon.jpg");

			currentAdvert.getMD5File().moveTo(moveFinishedTo+currentAdvert.getMD5File().getFileName());
			currentAdvert.getModel().moveTo(moveFinishedTo+currentAdvert.getModel().getFileName());
			currentAdvert.getLocationFile().moveTo(moveFinishedTo+currentAdvert.getLocationFile().getFileName());
			currentAdvert.getCompressedImage().copyTo(moveFinishedTo+currentAdvert.getCompressedImage().getFileName());
			currentAdvert.getROIFile().moveTo(moveFinishedTo+currentAdvert.getROIFile().getFileName());
			currentAdvert.getDetectorData().moveTo(moveFinishedTo+currentAdvert.getDetectorData().getFileName());
			currentAdvert.getTrackerData().moveTo(moveFinishedTo+currentAdvert.getTrackerData().getFileName());
		}
		analizeNext();
	}
}
void ThreadedDetector::setup(string _srcFolder, string _moveFinishedTo){
	moveFinishedTo = ofFilePath::addTrailingSlash(_moveFinishedTo);
	srcFolder = ofFilePath::addTrailingSlash(_srcFolder);

	//TODO: save artverts xml in the corresponding folder
	vector<Artvert> artverts = Artvert::listAll(srcFolder);
	for(int i=0; i<(int)artverts.size(); i++){
		if(artverts[i].checkIntegrity()){
			if(!Artvert(artverts[i].getUID(),_moveFinishedTo).isReady()){
				ofLogVerbose("artvertiserServer") << "loading already uploaded " << artverts[i].getUID();
				adverts.push(artverts[i]);
			}
		}else{
			ofLogError("artvertiserServer") << "found corrupt or incomplete advert " << artverts[i].getUID() << " deleting";
			artverts[i].remove();
		}
	}

	artverts = Artvert::listAll(_moveFinishedTo);
	for(int i=0; i<(int)artverts.size(); i++){
		if(!artverts[i].checkIntegrity()){
			ofLogError("artvertiserServer") << "found corrupt or incomplete advert " << artverts[i].getUID() << " deleting";
			artverts[i].remove();
		}else{
			ofFile icon(_moveFinishedTo+artverts[i].getUID()+".icon.jpg");
			if(!icon.exists()){
				ofImage iconImg(artverts[i].getCompressedImage());
				iconImg.resize(160,120);
				iconImg.saveImage(_moveFinishedTo+artverts[i].getUID()+".icon.jpg");
			}
		}
	}
}
Exemplo n.º 3
0
CreatModel::CreatModel(QWidget* parent)
: QDialog(parent), m_flag(0), m_infos(new QStandardItemModel),m_flagName("")
{ 
	this->setFixedSize(572, 554);
	//this->resize(572, 580);
	QPixmap iconImg(QDir::currentPath() +"/image/model.png");
	QIcon icon(iconImg);
	this->setWindowIcon(icon);
	this->setWindowTitle("模型管理封装工具");

	menuBar = new QMenuBar(this);
	QMenu* menuStart = menuBar->addMenu("开始");
	QAction* actionNew = menuStart->addAction("新建");
	actionNew->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N));
	QAction* actionOpen = menuStart->addAction("打开");
	actionOpen->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O));
	QAction* actionSave = menuStart->addAction("保存");
	actionSave->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_S));
	QAction* actionSaveAs = menuStart->addAction("另存为...");
	QAction* actionExit = menuStart->addAction("退出(Exit)");
	QMenu* menuHelp = menuBar->addMenu("帮助");

	//connect(actionSave, SIGNAL(triggered()), this, SLOT(OnSave()));
	//connect(actionSaveAs, SIGNAL(triggered()), this, SLOT(OnSaveAs()));
	//connect(actionNew, SIGNAL(triggered()), this, SLOT(OnNew()));
	//connect(actionOpen, SIGNAL(triggered()), this, SLOT(OnOpen()));
	//connect(actionExit, SIGNAL(triggered()), this, SLOT(OnQuit()));

	//btn_new = new QPushButton(this);
	//btn_new->setGeometry(QRect(19, 10, 50, 20));
	//btn_new->setIcon(QIcon("image/new.png"));
	//btn_new->setText("新建");
	//btn_new->setFlat(true);

	//btn_open = new QPushButton(this);
	//btn_open->setGeometry(QRect(90, 10, 50, 20));
	//btn_open->setIcon(QIcon("image/open.png"));
	//btn_open->setText("打开");
	//btn_open->setFlat(true);

	//btn_save = new QPushButton(this);
	//btn_save->setGeometry(QRect(160, 10, 50, 20));
	//btn_save->setIcon(QIcon("image/save.png"));
	//btn_save->setText("保存");
	//btn_save->setFlat(true);

	//btn_saveAs = new QPushButton(this);
	//btn_saveAs->setGeometry(QRect(230, 10, 65, 20));
	//btn_saveAs->setIcon(QIcon("image/saveAs.png"));
	//btn_saveAs->setText("另存为");
	//btn_saveAs->setFlat(true);

	//lb_filePath = new QLabel(this);
	//lb_filePath->setGeometry(QRect(20, 29,520 , 36));

	//connect(btn_save, SIGNAL(clicked()), this, SLOT(OnSave()));
	//connect(btn_saveAs, SIGNAL(clicked()), this, SLOT(OnSaveAs()));
	//connect(btn_new, SIGNAL(clicked()), this, SLOT(OnNew()));
	//connect(btn_open, SIGNAL(clicked()), this, SLOT(OnOpen()));
	
	gb_modelInfo = new QGroupBox(this);
	gb_modelInfo->setGeometry(QRect(9, 70, 551, 226));

	lb_modelName = new QLabel(gb_modelInfo);
	lb_modelName->setGeometry(QRect(10, 22, 60, 16));
	ledit_modelName = new QLineEdit(gb_modelInfo);
	ledit_modelName->setGeometry(QRect(76, 22, 161, 20));

	lb_modelId = new QLabel(gb_modelInfo);
	lb_modelId->setGeometry(QRect(299, 22, 48, 16));
	ledit_modelId = new QLineEdit(gb_modelInfo);
	ledit_modelId->setGeometry(QRect(365, 22, 161, 20));
	ledit_modelId->setEnabled(false);

	lb_version = new QLabel(gb_modelInfo);
	lb_version->setGeometry(QRect(10, 48, 48, 16));
	ledit_version = new QLineEdit(gb_modelInfo);
	ledit_version->setGeometry(QRect(76, 48, 161, 20));
	ledit_version->setEnabled(false);

	lb_subject = new QLabel(gb_modelInfo);
	lb_subject->setGeometry(QRect(299, 48, 60, 16));
	ledit_subject = new QLineEdit(gb_modelInfo);
	ledit_subject->setGeometry(QRect(365, 48, 161, 20));

	lb_type = new QLabel(gb_modelInfo);
	lb_type->setGeometry(QRect(10, 74, 60, 16));
	combox_type = new QComboBox(gb_modelInfo);
	combox_type->setGeometry(QRect(76, 74, 161, 20));
	readTypeInfo();
	combox_type->addItems(m_typeList);

	lb_property = new QLabel(gb_modelInfo);
	lb_property->setGeometry(QRect(299, 74, 60, 16));
	combox_property = new QComboBox(gb_modelInfo);
	combox_property->setGeometry(QRect(365, 74, 161, 20));
	combox_property->addItems(m_propertyList);

	lb_group = new QLabel(gb_modelInfo);
	lb_group->setGeometry(QRect(10, 100, 60, 16));
	combox_group = new QComboBox(gb_modelInfo);
	combox_group->setGeometry(QRect(76, 100, 161, 20));
	readGroupInfo();
	combox_group->addItems(m_groupList);

	lb_descript = new QLabel(gb_modelInfo);
	lb_descript->setGeometry(QRect(10, 126, 60, 16));
	ledit_descript = new QLineEdit(gb_modelInfo);
	ledit_descript->setGeometry(QRect(76, 126, 450, 20));

	lb_log = new QLabel(gb_modelInfo);
	lb_log->setGeometry(QRect(10, 152, 60, 16));
	tedit_log = new QTextEdit(gb_modelInfo);
	tedit_log->setGeometry(QRect(76, 152, 450, 40));

	lb_author = new QLabel(gb_modelInfo);
	lb_author->setGeometry(QRect(299, 100, 60, 16));
	ledit_author = new QLineEdit(gb_modelInfo);
	ledit_author->setGeometry(QRect(365, 100, 161, 20));

	lb_update = new QLabel(gb_modelInfo);
	lb_update->setGeometry(QRect(10, 198, 60, 16));
	date_update = new QDateTimeEdit(QDate::currentDate(), gb_modelInfo);
	date_update->setDisplayFormat("yyyy-M-d");
	date_update->setGeometry(QRect(76, 198, 161, 20));
	date_update->setCalendarPopup(true);
	
	
	gb_fileInfo = new QGroupBox(this);
	gb_fileInfo->setGeometry(QRect(9, 310, 552, 266));
	gridLayout = new QGridLayout(gb_fileInfo);
	tv_fileInfo = new QTableView(gb_fileInfo);

	gridLayout->addWidget(tv_fileInfo, 0, 0, 1, 3);
	btn_add = new QPushButton(gb_fileInfo);

	gridLayout->addWidget(btn_add, 1, 1, 1, 1);
	btn_delete = new QPushButton(gb_fileInfo);
	btn_delete->setEnabled(false);
	
	gridLayout->addWidget(btn_delete, 1, 2, 1, 1);
	hSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
	gridLayout->addItem(hSpacer, 1, 0, 1, 1);

	gb_modelInfo->setTitle("模型信息");
	gb_fileInfo->setTitle("模型文件信息");
	lb_modelName->setText("模型名称");
	lb_modelId->setText("模型id");
	lb_version->setText("版本号");
	lb_subject->setText("学科信息");
	lb_type->setText("型号");
	lb_property->setText("模型属性");
	lb_group->setText("模型分类");
	lb_descript->setText("模型描述");
	lb_log->setText("日志信息");
	lb_author->setText("创建者");
	lb_update->setText("更新日期");
	btn_add->setText("添加文件");
	btn_delete->setText("删除文件");

	QStandardItemModel *fileInfo = new QStandardItemModel();
	tbViewInit(fileInfo);
	tv_fileInfo->setModel(fileInfo);

	tv_fileInfo->horizontalHeader()->setStretchLastSection(true);
	tv_fileInfo->verticalHeader()->setHidden(true);
	tv_fileInfo->setSelectionBehavior(QAbstractItemView::SelectRows);

	//添加QTableView中的右键操作
	tv_fileInfo->setContextMenuPolicy(Qt::CustomContextMenu);
	connect(tv_fileInfo, SIGNAL(customContextMenuRequested(const QPoint&)), 
		this, SLOT(showContextMenu(const QPoint&)));

	menu_right = new QMenu(tv_fileInfo);
	QAction *actionDelete = menu_right->addAction("删除");
	connect(actionDelete, SIGNAL(triggered()), this, SLOT(OnDelete()));

	connect(btn_add, SIGNAL(clicked()), this, SLOT(OnAppend()));
	connect(btn_delete, SIGNAL(clicked()) ,this, SLOT(OnDelete()));

}