Exemplo n.º 1
0
void VegetationWidget::slotDeleteSelected()
{
	QListView* view = qobject_cast<QListView*>(sender());
	QStandardItemModel* model = qobject_cast<QStandardItemModel*>(view->model());
	QString dirString("");
	if (view == _treeListView)
	{
		std::string plantDir = g_SystemContext._workContextDir;
		plantDir.append(CONTEXT_DIR);
		plantDir.append("/Plant/");
		dirString = chineseTextUTF8ToQString(plantDir + "Tree/");
	}
	else
	{
		std::string plantDir = g_SystemContext._workContextDir;
		plantDir.append(CONTEXT_DIR);
		plantDir.append("/Plant/");
		dirString = chineseTextUTF8ToQString(plantDir + "Grass/");
	}
	QItemSelectionModel* selectionModel = view->selectionModel();
	QModelIndexList	modelList = selectionModel->selectedIndexes();
	if (modelList.size() < 1)
		return;
	for (int i = 0; i < modelList.size(); ++i)
	{
		QStandardItem* everyItem = model->itemFromIndex(modelList.at(i));
		QFile::remove(dirString + everyItem->text());
		int row = everyItem->row();
		model->removeRow(row);
	}
}
Exemplo n.º 2
0
void Database::init()
{
   std::map<string, string> insertParamMap0 = { {"id", "1"}, 
                                                {"username", "admin"},
                                                {"password", encryptPassword("admin")} };
   std::map<string, string> insertParamMap1 = { {"id", "2"}, 
                                                {"username", "anonymous"},
                                                {"password", encryptPassword("anonymous")} };
   std::map<string, string> insertParamMap2 = { {"id", "3"}, 
                                                {"username", "charles"},
                                                {"password", encryptPassword("charles")} };
   std::map<string, string> insertParamMap3 = { {"id", "4"}, 
                                                {"username", "davey"},
                                                {"password", encryptPassword("davey")} };

   std::map<string, string> selectParamMap = {  {"id", "1"}, {"username", "Paul"} };
   std::map<string, string> updateParamMap = {  {"username", "davey"}, {"password", "dddd"} };

   create();
   insert("user", insertParamMap0);
   insert("user", insertParamMap1);
   insert("user", insertParamMap2);
   insert("user", insertParamMap3);
   //select("user", selectParamMap);

   // init user's root working directory
   if(findALL("user"))
   {
      vector< map<string ,string> > myresultMapVector;
      getResult(myresultMapVector);
      for (vector< map<string ,string> >::iterator iter=myresultMapVector.begin(); iter!=myresultMapVector.end(); ++iter)
      {
         string dirString(ROOTDIR);
         dirString += (*iter)["USERNAME"];
         DIR* d = opendir(dirString.c_str());
         if(d)
         {  
            fprintf(stderr, "Already exists: %s\n",  dirString.c_str());
            closedir(d);
         }else if(mkdir(dirString.c_str(), 0777) == -1)
         {
            char buf[MAXLINE];
            fprintf(stdout, "Error(%s): %s\n", dirString.c_str(), strerror_r(errno, buf, MAXLINE));
         } else {
            fprintf(stdout, "Directory created: %s\n", dirString.c_str());
         }

         //traverseFiles(dirString);
      }
   }

   

   //update("user", "2", updateParamMap);
   //find("user", "2");
}
Exemplo n.º 3
0
void VegetationWidget::slotViewSelected()
{
	QListView* view = qobject_cast<QListView*>(sender());
	QItemSelectionModel* selectionModel = view->selectionModel();
	QModelIndexList	modelList = selectionModel->selectedIndexes();
	if (modelList.size() < 1)
		return;
	QStandardItemModel* model = qobject_cast<QStandardItemModel*>(view->model());
	std::string dirString("");
	if (view == _treeListView)
	{
		std::string plantDir = g_SystemContext._workContextDir;
		plantDir.append(CONTEXT_DIR);
		plantDir.append("/Plant/");
		dirString = plantDir + "Tree/";
	}
	else
	{
		std::string plantDir = g_SystemContext._workContextDir;
		plantDir.append(CONTEXT_DIR);
		plantDir.append("/Plant/");
		dirString = plantDir + "Grass/";
	}
	QStandardItem* currentItem = model->itemFromIndex(modelList.at(0));
	dirString.append(chineseTextToUTF8String(currentItem->text()));
	osg::ref_ptr<osg::Node> node;
	if (currentItem->text().endsWith(".osgb"))
	{
		node = g_SystemContext._resourceLoader->getNodeByName(dirString, false);
	}
	else
	{
		osg::ref_ptr<osg::Image> image = g_SystemContext._resourceLoader->getImageByFileName(dirString);
		if (image.valid())
		{
			float s = image->s();
			float t = image->t();
			osg::ref_ptr<osg::Geometry> geometry = osg::createTexturedQuadGeometry(osg::Vec3(-s / 2.0f, -t / 2.0f, 0), osg::Vec3(s, 0, 0), osg::Vec3(0, t, 0));
			osg::ref_ptr<osg::Geode> geode = new osg::Geode;
			geode->addDrawable(geometry);
			osg::StateSet* ss = geode->getOrCreateStateSet();
			ss->setMode(GL_BLEND, osg::StateAttribute::ON);
			ss->setRenderingHint(osg::StateSet::TRANSPARENT_BIN);
			osg::Texture2D* texture = new osg::Texture2D(image);
			ss->setTextureAttributeAndModes(0, texture, osg::StateAttribute::ON);
			node = geode;
		}
	}
	if (node.valid())
	{
		_nodeViewDialog = new NodeViewDialog;
		_nodeViewDialog->setNode(node);
		_nodeViewDialog->exec();
		//_nodeViewDialog->setNode(NULL);
	}
}