void HelloWorld::OnNotify( int nEvent, int nParam )
{
	switch (nEvent)
	{
	case PAY_EVENT_QUERY_SKU_FIN:
		{
			auto& mapItemInfo = PaymentMgr::GetInstance()->GetItemInfo();
			const int SPACE_Y = 100;
			CCPoint ptOffset;
			for (auto& rPair : mapItemInfo) {
				auto* pNode = this->AddConfigMenuItem("BtnPay", menu_selector(HelloWorld::OnBtnPay));
				if (NULL == pNode) {
					continue;
				}

				auto& rItem = rPair.second;

				std::string strName = "@";
				const char* STATIC_TEST_PREFIX = "android.test.";
				auto pPos = strstr(rItem.m_strTypeId.c_str(), STATIC_TEST_PREFIX);
				if (pPos) {
					strName += rItem.m_strTypeId;
					ReplaceStdString(strName, STATIC_TEST_PREFIX, "");
				} else {
					strName += rItem.m_strName;	
				}

				strName += " -l";
				UIMgr::GetInstance()->AddConfigStateChild(pNode, strName.c_str());

				std::string strPrice = "@";
				strPrice += rItem.m_strPrice;
				strPrice += " -r";
				UIMgr::GetInstance()->AddConfigStateChild(pNode, strPrice.c_str());

				auto* pStrSku = CCString::create(rItem.m_strTypeId);
				pNode->setUserObject(pStrSku);

				UIMgr::GetInstance()->NodePositionMove(pNode, ptOffset);
				ptOffset.y -= SPACE_Y;
			}
		}
		break;
	default:
		break;
	}
}
Exemplo n.º 2
0
void CTuopList::refresh()
{
	bool bEnd = false;
	string strUserID = GetWebUserID();

	HitLog LogItem;
	LogItem.sUserName = strUserID;
	LogItem.sHitPro = "TuopList";
	LogItem.sHitFunc = "refresh";
	LogItem.sDesc = strRefresh;

	DWORD dcalBegin=GetTickCount();
	InsertHitRecord(LogItem.sUserName, LogItem.sHitPro, LogItem.sHitFunc, LogItem.sDesc, 0, 0);

OPEnd:
	if(bEnd)
	{
		DWORD dcalEnd=GetTickCount();
		InsertHitRecord(LogItem.sUserName, LogItem.sHitPro, LogItem.sHitFunc, LogItem.sDesc, 1, dcalEnd -dcalBegin);
		return;
	}

	if(bFirst)
	{
		bFirst =false;
		bEnd = true;	
		goto OPEnd;
	}

	m_pTopologyListTable->GeDataTable()->clear();
	RecordList.clear();

	pSortTable->GeDataTable()->clear();
	
	
	std::string strIndex;
	std::list<string> m_pList;
	std::list<string>::iterator m_pItem;

	#ifdef	 Tuopu
		m_pList = ReadFileName(GetSiteViewRootPath() + "\\htdocs\\tuoplist");		
	#else
		m_pList = ReadFileName(GetSiteViewRootPath() + "\\htdocs\\maintainlist");
	#endif

	std::list<string> m_pVList;
	std::list<string>::iterator m_pVItem;

	#ifdef	 Tuopu
		m_pVList = ReadVSDName(GetSiteViewRootPath() + "\\htdocs\\tuoplist");
	#else
		m_pVList = ReadVSDName(GetSiteViewRootPath() + "\\htdocs\\maintainlist");
	#endif
	
	m_pVItem = m_pVList.begin();	
	for(m_pItem = m_pList.begin(); m_pItem != m_pList.end(); m_pItem++)
	{
		std::string strUserName = *m_pItem;
		std::string strVSD = *m_pVItem; 
		OneRecord list;
		list.strUserName = strUserName;
		//vsd文件始终不会更改, 所以用它来制造key
		list.strBackName = ReplaceStdString(strVSD, ".vsd", ".htm");
		list.strTuop = strVSD;

		//读取tuopfile.ini的sort信息并赋值给OneRecord变量。:
		//如果没有预先设置的sort信息则按什么规则自动赋值? ---》先是读预先设置的序号, 为默认值 则不存在 意味着是新发布的 
		//---》规则(读一遍ini, 找到序号最大值, 加1 并写到tuopfile.ini文件中)
		int nSort = GetIniFileInt("sort", strVSD, -1, "tuopfile.ini");
		if(nSort != -1)
		{
			list.nSort = nSort;
		}
		else
		{
			//获取序号最大值, 加1
			list.nSort = GetMaxSortId() + 1;

			//写序号值到ini
		#ifdef	 Tuopu
			WriteIniFileInt("sort", strVSD, list.nSort, "tuopfile.ini");
		#else
			WriteIniFileInt("sort", strVSD, list.nSort, "maintainfile.ini");
		#endif
		}

		RecordList.push_back(list);

		m_pVItem++;
	}


	//显示列表
	int i = 1;
	std::string strOpen;

	for(m_pRecordList=RecordList.begin(); m_pRecordList != RecordList.end(); m_pRecordList ++)
	{
		m_pTopologyListTable->InitRow(i);
		pSortTable->InitRow(i);
		i++;
	}

	i = 1;
	for(m_pRecordList=RecordList.begin(); m_pRecordList != RecordList.end(); m_pRecordList ++)
	{
		m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 0)->setContentAlignment(AlignCenter);
		m_pRecordList->pCheckBox = new WCheckBox("", (WContainerWidget*)m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 0));		

		strOpen = "<a href=./showtuopu.exe?pageid=";
		strOpen += ReplaceStdString(m_pRecordList->strBackName, ".htm", "");
	#ifdef	 Tuopu
		strOpen += "&version=0";
	#else
		strOpen += "&version=0&usrleader=0&maintain=1";
	#endif
		strOpen += " target=_blank>";
		strOpen += m_pRecordList->strUserName;
		strOpen += "</a>";

		m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)->setContentAlignment(AlignCenter);
		m_pRecordList->pstrUserName = new WText(strOpen, (WContainerWidget*)m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2));
		
		m_pRecordList->pLineEdit = new WLineEdit(m_pRecordList->strUserName,m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2));
		m_pRecordList->pLineEdit->hide();

		m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4)->setContentAlignment(AlignCenter);		
		m_pRecordList->pTuop = new WImage("../Images/resource.gif",m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4));
		m_pRecordList->pTuop->setToolTip(strTuopTip);
		m_pRecordList->pTuop->setStyleClass("hand");

		//绑定visio事件
		std::string strJavascript;

	#ifdef	 Tuopu
		strJavascript = "window.open('../tuoplist/" + m_pRecordList->strTuop + "','newwindow')";	
	#else
		strJavascript = "window.open('../maintainlist/" + m_pRecordList->strTuop + "','newwindow')";	
	#endif

		connect(m_pRecordList->pTuop, SIGNAL(clicked()),strJavascript.c_str() ,WObject::JAVASCRIPT );

		m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 6)->setContentAlignment(AlignCenter);
		m_pRecordList->pEdit = new WImage("/Images/edit.gif",m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 6));		
		m_pRecordList->pEdit->setToolTip(strEditTip);
		m_pRecordList->pEdit->setStyleClass("hand");
		
		strIndex=m_pRecordList->strUserName.c_str();

		m_userMapper.setMapping(m_pRecordList->pEdit, strIndex); 
		
		connect(m_pRecordList->pEdit, SIGNAL(clicked()), &m_userMapper, SLOT(map()));
		connect(m_pRecordList->pLineEdit, SIGNAL(keyWentDown(int)), this, SLOT(EditReturn(int)));
		i++;

		//排序界面初始化
		pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)->setContentAlignment(AlignCenter);
		WText * pTmpText = new WText(m_pRecordList->strUserName, pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2));
		
		char chItem[32]  = {0};	
		sprintf(chItem, "%d", m_pRecordList->nSort);
		string strSort = chItem;

		pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4)->setContentAlignment(AlignCenter);
		WLineEdit * pTmpEdit = new WLineEdit(strSort, pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4));

		//放到sv_table里去
		SVTableCell ce;
		ce.setType(adText);
		ce.setValue(pTmpText);
		m_svSortList.WriteCell(m_pRecordList->strTuop, 0, ce);

		ce.setType(adLineEdit);
		ce.setValue(pTmpEdit);
		m_svSortList.WriteCell(m_pRecordList->strTuop, 1, ce);
	}
	
	m_pList.clear();
	m_pVList.clear();
	
	//列表为空
	if(RecordList.size() <= 0)
	{
		m_pTopologyListTable->ShowNullTip();
	}
	else
	{
		m_pTopologyListTable->HideNullTip();
	}

	//可能有问题..
	pSortTable->hide();

	DWORD dcalEnd1=GetTickCount();
	InsertHitRecord(LogItem.sUserName, LogItem.sHitPro, LogItem.sHitFunc, LogItem.sDesc, 1, dcalEnd1 - dcalBegin);
}
Exemplo n.º 3
0
void CTuopList::EditReturn(int keyCode)
{
	string strUserID = GetWebUserID();

	HitLog LogItem;
	LogItem.sUserName = strUserID;
	LogItem.sHitPro = "TuopList";
	LogItem.sHitFunc = "EditReturn";
	LogItem.sDesc = strReturnSave;

	DWORD dcalBegin=GetTickCount();
	InsertHitRecord(LogItem.sUserName, LogItem.sHitPro, LogItem.sHitFunc, LogItem.sDesc, 0, 0);

//	OutputDebugString("EditReturn\n");
	if(keyCode == 13)
	{	
		char buf[1024];
		memset(buf, 0, 1023);
		string str = pCurrEditUserName->text();
		sprintf(buf, "%s", str.c_str());
		
//		OutputDebugString(buf);
		std::list<string> keylist;
		std::list<string>::iterator itemkey;
	#ifdef	 Tuopu
		bool bret = GetIniFileKeys("filename", keylist, "tuopfile.ini");
	#else
		bool bret = GetIniFileKeys("filename", keylist, "maintainfile.ini");
	#endif

		if(!bret)
		{
			//
		}
		
		bool bExist1 = true;
		std::string sVal = "";
		std::string defaultret = "error";
		std::string sret = "";
		
		//此名字是否已经存在?
		for(itemkey = keylist.begin(); itemkey != keylist.end(); itemkey++)
		{
			sVal = *itemkey;
		#ifdef	 Tuopu
			sret = GetIniFileString("filename", sVal, defaultret, "tuopfile.ini");
		#else
			sret = GetIniFileString("filename", sVal, defaultret, "maintainfile.ini");
		#endif				
			
			if(strcmp(sret.c_str(), bStrCurr.c_str()) == 0)
			{
				continue;
			}

			if(strcmp(sret.c_str(), str.c_str()) == 0)
			{
				bExist1 = false;
			}
		}
//		OutputDebugString("befor bExtit1\n");
		
		if(bExist1)
		{
			for(itemkey = keylist.begin(); itemkey != keylist.end(); itemkey++)
			{
				sVal = *itemkey;

			#ifdef	 Tuopu
				sret = GetIniFileString("filename", sVal, defaultret, "tuopfile.ini");
			#else
				sret = GetIniFileString("filename", sVal, defaultret, "maintainfile.ini");
			#endif
				
				if(strcmp(sret.c_str(), bStrCurr.c_str()) == 0)
				{
//					OutputDebugString("befor write1\n");
				#ifdef	 Tuopu
					WriteIniFileString("filename", sVal, str, "tuopfile.ini");
				#else
					WriteIniFileString("filename", sVal, str, "maintainfile.ini");
				#endif

					break;
				}				
			}

			string strOpen;

			strOpen = "<a href=./showtuopu.exe?pageid=";
			strOpen += ReplaceStdString(sVal, ".htm", "");
		#ifdef	 Tuopu
			strOpen += "&version=0";
		#else
			strOpen += "&version=0&usrleader=0&maintain=1";
		#endif
			strOpen += " target=_blank>";
			strOpen += buf;
			strOpen += "</a>";
			
			pCurrName->setText(strOpen.c_str());
			pCurrName->show();		
			
			pCurrEditUserName->hide();

			//插记录到UserOperateLog表
			string strUserID = GetWebUserID();
			TTime mNowTime = TTime::GetCurrentTimeEx();
			OperateLog m_pOperateLog;
			m_pOperateLog.InsertOperateRecord("UserOperateLog",strUserID,mNowTime.Format(),strEditTip,strMainTitle,buf);
		}
		else
		{
			WebSession::js_af_up = "alert('";
			WebSession::js_af_up += "have same name tuop";
			WebSession::js_af_up += "')";
		}
	}

	DWORD dcalEnd1=GetTickCount();
	InsertHitRecord(LogItem.sUserName, LogItem.sHitPro, LogItem.sHitFunc, LogItem.sDesc, 1, dcalEnd1 - dcalBegin);
}
Exemplo n.º 4
0
//删除操作
void CTuopList::DelUser()
{
	string strUserID = GetWebUserID();

	HitLog LogItem;
	LogItem.sUserName = strUserID;
	LogItem.sHitPro = "TuopList";
	LogItem.sHitFunc = "DelUser";
	LogItem.sDesc = strDeleteType;

	DWORD dcalBegin=GetTickCount();
	InsertHitRecord(LogItem.sUserName, LogItem.sHitPro, LogItem.sHitFunc, LogItem.sDesc, 0, 0);

	string strDeleteTuop;

	for(m_pRecordList = RecordList.begin(); m_pRecordList != RecordList.end(); m_pRecordList++)
    {       
        if (m_pRecordList->pCheckBox->isChecked())
        {			
			std::string sVal = m_pRecordList->strBackName;
			std::string sVsd = ReplaceStdString(sVal, ".htm", ".vsd");
			std::string sDiretory = ReplaceStdString(sVal, ".htm", ".files");

		#ifdef	 Tuopu
			DeleteIniFileKey("filename", sVal, "tuopfile.ini");
			DeleteIniFileKey("filename", sVsd, "tuopfile.ini");
		#else
			std::string sName = ReplaceStdString(m_pRecordList->strBackName, ".htm", "");
			DeleteIniFileKey("filename", sVal, "maintainfile.ini");
			DeleteIniFileKey("filename", sVsd, "maintainfile.ini");
			DeleteIniFileSection(sName, "maintain.ini");
		#endif			

			//std::string filepath = "C:\\Program Files\\Apache Group\\apache2\\htdocs\\tuoplist\\";			
			//删除了拓扑图  序号怎么变?---》是直接删除呢? 还是要加把其他的序号都整理一遍?---》或者把大于它的序号都减1即可。
			DelSortId(sVsd);

			string strDelDir;
		#ifdef	 Tuopu
			std::string filepath = GetSiteViewRootPath() + "\\htdocs\\tuoplist\\";
			
			filepath += sVal;
			
			bool bret = DeleteFile(filepath.c_str());
			if(!bret)
			{
				//
			}
		#else
			std::string filepath = GetSiteViewRootPath() + "\\htdocs\\maintainlist\\";
			std::string fileleaderpath = GetSiteViewRootPath() + "\\htdocs\\maintainleaderlist\\";
			strDelDir = GetSiteViewRootPath() + "\\htdocs\\maintainlist\\";

			filepath += sVal;			
			
			bool bret = DeleteFile(filepath.c_str());
			if(!bret)
			{
				//
			}

			fileleaderpath += sVal;
			
			bret = DeleteFile(fileleaderpath.c_str());
			if(!bret)
			{
				//
			}

			strDelDir += sDiretory;

			//DeleteDirectory(strDelDir);
		#endif			
			


		#ifdef	 Tuopu
			filepath = GetSiteViewRootPath() + "\\htdocs\\tuoplist\\";

			filepath += sVsd;
			
			bret = DeleteFile(filepath.c_str());
			if(!bret)
			{
				//
			}

		#else
			filepath = GetSiteViewRootPath() + "\\htdocs\\maintainlist\\";
			fileleaderpath = GetSiteViewRootPath() + "\\htdocs\\maintainleaderlist\\";

			filepath += sVsd;
			
			bret = DeleteFile(filepath.c_str());
			if(!bret)
			{
				//
			}

			fileleaderpath += sVsd;
			
			bret = DeleteFile(fileleaderpath.c_str());
			if(!bret)
			{
				//
			}

		#endif			


			//files目录是否也删除

            int nRow = ((WTableCell*)(m_pRecordList->pCheckBox->parent()))->row();
        
            list<OneRecord>::iterator pItem = m_pRecordList;
        
            m_pRecordList --;
        
			std::string temp = pItem->pstrUserName->text();		
			int pos = temp.find(">", 0);
			int pos1 = temp.find("<", pos);
			string strTemp = temp.substr(pos + 1, pos1 - pos - 1);			
 			strDeleteTuop += strTemp;
			strDeleteTuop += "  ";

			RecordList.erase(pItem);          
        
            m_pTopologyListTable->GeDataTable()->deleteRow(nRow); 						
        }
    }

	//列表为空
	if(RecordList.size() <= 0)
	{
		m_pTopologyListTable->ShowNullTip();
	}
	else
	{
		m_pTopologyListTable->HideNullTip();
	}

	//插记录到UserOperateLog表
	TTime mNowTime = TTime::GetCurrentTimeEx();
	OperateLog m_pOperateLog;
	m_pOperateLog.InsertOperateRecord("UserOperateLog",strUserID,mNowTime.Format(),strDeleteType,strMainTitle,strDeleteTuop);

	DWORD dcalEnd1=GetTickCount();
	InsertHitRecord(LogItem.sUserName, LogItem.sHitPro, LogItem.sHitFunc, LogItem.sDesc, 1, dcalEnd1 - dcalBegin);
}
Exemplo n.º 5
0
void CTuopList::ShowMainTable()
{
	//strNullList = "空的列表";

	m_pMainTable = new WSVMainTable(this,strMainTitle,false);
	//if(m_pMainTable->pHelpImg)
	//{
	//	connect(m_pMainTable->pHelpImg,SIGNAL(click()),this,SLOT(ShowHelp()));
	//}

	//拓扑列表界面
	m_pTopologyListTable = new WSVFlexTable(m_pMainTable->GetContentTable()->elementAt(0,0),List, strTitle);

	if (m_pTopologyListTable->GetContentTable() != NULL)
	{
		m_pTopologyListTable->AppendColumn("",WLength(40,WLength::Pixel));
		m_pTopologyListTable->SetDataRowStyle("table_data_grid_item_text");

		m_pTopologyListTable->AppendColumn(strLoginLabel,WLength(70,WLength::Percentage));
		m_pTopologyListTable->SetDataRowStyle("table_data_grid_item_text");

		m_pTopologyListTable->AppendColumn(strNameUse,WLength(10,WLength::Percentage));
		m_pTopologyListTable->SetDataRowStyle("table_data_grid_item_text");

		m_pTopologyListTable->AppendColumn(strNameEdit,WLength(10,WLength::Percentage));
		m_pTopologyListTable->SetDataRowStyle("table_data_grid_item_text");
	}

	if (m_pTopologyListTable->GetActionTable() != NULL)
	{
		m_pTopologyListTable->AddStandardSelLink(strAllSel ,strAllNotSel,strFanSel);
		connect(m_pTopologyListTable->pSelAll, SIGNAL(clicked()), this, SLOT(SelAll()));
		connect(m_pTopologyListTable->pSelNone, SIGNAL(clicked()), this, SLOT(SelNone()));
		connect(m_pTopologyListTable->pSelReverse, SIGNAL(clicked()), this, SLOT(SelInvert()));
	
		WTable *pTbl;
		m_pTopologyListTable->GetActionTable()->elementAt(0,1)->setContentAlignment(AlignCenter);
		m_pTopologyListTable->GetActionTable()->elementAt(0,1)->setStyleClass("textbold");
		
		pTbl = new WTable(m_pTopologyListTable->GetActionTable()->elementAt(0,1));
		pTbl->setStyleClass("widthauto");
		WSVButton * pDel = new WSVButton(pTbl->elementAt(0,1),strDelete, "button_bg_del.png", "", false);
		if (pDel)
		{
			connect(pDel, SIGNAL(clicked()), this, SLOT(BeforeDelUser()));
		} 

		//新增
		//WSVButton * pSort = new WSVButton(pTbl->elementAt(0,2), "排序", "button_bg_taxis.png", "", false);
		WSVButton * pSort = new WSVButton(pTbl->elementAt(0,2), strSort, "button_bg_taxis.png", "", false);
		if (pSort)
		{
			connect(pSort, SIGNAL(clicked()), this, SLOT(Sort()));
		}

		//WTable *pTbl2;
		m_pTopologyListTable->GetActionTable()->elementAt(0, 2)->setContentAlignment(AlignRight);		
		strcpy(m_pTopologyListTable->GetActionTable()->elementAt(0, 2)->contextmenu_, "nowrap");			

		//Tuopu 发布插件下载
		string strTuopPluginJs = "window.open('../TuopoClient.exe','newwindow')";
		
		string szLink = "<a href='#'>" + szTuopDown + "</a>&nbsp;&nbsp;";
		WText * pTuopPlugin = new WText(szLink, (WContainerWidget *)m_pTopologyListTable->GetActionTable()->elementAt(0, 2));
		connect(pTuopPlugin, SIGNAL(clicked()),strTuopPluginJs.c_str() ,WObject::JAVASCRIPT);
	}

	m_pTopologyListTable->SetNullTipInfo(strNullList);


	//拓扑排序列表界面
	//pSortTable = new WSVFlexTable(m_pMainTable->GetContentTable()->elementAt(1,0), List, "拓扑排序列表");
	pSortTable = new WSVFlexTable(m_pMainTable->GetContentTable()->elementAt(1,0), List, strTuoPuSortList);
	if (pSortTable->GetContentTable() != NULL)
	{
		pSortTable->AppendColumn("",WLength(40,WLength::Pixel));
		pSortTable->SetDataRowStyle("table_data_grid_item_text");

		//pSortTable->AppendColumn("名称",WLength(50,WLength::Percentage));
		pSortTable->AppendColumn(strName,WLength(50,WLength::Percentage));
		pSortTable->SetDataRowStyle("table_data_grid_item_text");

		//pSortTable->AppendColumn("序号",WLength(50,WLength::Percentage));
		pSortTable->AppendColumn(strSequenceNo,WLength(50,WLength::Percentage));
		pSortTable->SetDataRowStyle("table_data_grid_item_text");
	}

	if (pSortTable->GetActionTable() != NULL)
	{
		WTable *pTbl1;
		pSortTable->GetActionTable()->elementAt(0,1)->setContentAlignment(AlignCenter);
		pSortTable->GetActionTable()->elementAt(0,1)->setStyleClass("textbold");
		
		pTbl1 = new WTable(pSortTable->GetActionTable()->elementAt(0,1));
		pTbl1->setStyleClass("widthauto");
		//WSVButton * pSortOkBtn = new WSVButton(pTbl1->elementAt(0, 1), "确 定", "button_bg_m.png", "", false);
		WSVButton * pSortOkBtn = new WSVButton(pTbl1->elementAt(0, 1), strAffirm, "button_bg_m.png", "", false);

		if(pSortOkBtn)
		{
			connect(pSortOkBtn,SIGNAL(clicked()),this,SLOT(SortOk()));
		}
	}
	
	//编辑事件
	std::string strIndex;

	std::list<string> m_pList;
	std::list<string>::iterator m_pItem;

	#ifdef	 Tuopu
		m_pList = ReadFileName(GetSiteViewRootPath() + "\\htdocs\\tuoplist");		
	#else
		m_pList = ReadFileName(GetSiteViewRootPath() + "\\htdocs\\maintainlist");
	#endif

	std::list<string> m_pVList;
	std::list<string>::iterator m_pVItem;

	#ifdef	 Tuopu
		m_pVList = ReadVSDName(GetSiteViewRootPath() + "\\htdocs\\tuoplist");
	#else
		m_pVList = ReadVSDName(GetSiteViewRootPath() + "\\htdocs\\maintainlist");
	#endif

	m_pVItem = m_pVList.begin();	
	for(m_pItem = m_pList.begin(); m_pItem != m_pList.end(); m_pItem++)
	{
		std::string strUserName = *m_pItem;
		std::string strVSD = *m_pVItem; 
		OneRecord list;
		list.strUserName = strUserName;
		//vsd文件始终不会更改, 所以用它来制造key
		list.strBackName = ReplaceStdString(strVSD, ".vsd", ".htm");
		list.strTuop = strVSD;

		//读取tuopfile.ini的sort信息并赋值给OneRecord变量。:
		//如果没有预先设置的sort信息则按什么规则自动赋值? ---》先是读预先设置的序号, 为默认值 则不存在 意味着是新发布的 
		//---》规则(读一遍ini, 找到序号最大值, 加1 并写到tuopfile.ini文件中)
		int nSort = GetIniFileInt("sort", strVSD, -1, "tuopfile.ini");
		if(nSort != -1)
		{
			list.nSort = nSort;
		}
		else
		{
			//获取序号最大值, 加1
			list.nSort = GetMaxSortId() + 1;

			//写序号值到ini
		#ifdef	 Tuopu
			WriteIniFileInt("sort", strVSD, list.nSort, "tuopfile.ini");
		#else
			WriteIniFileInt("sort", strVSD, list.nSort, "maintainfile.ini");
		#endif
		}

		RecordList.push_back(list);

		m_pVItem++;
	}	
	
	
	//绑定编辑事件
	connect(&m_userMapper, SIGNAL(mapped(const std::string)), this, SLOT(EditUserName(const std::string)));

	//显示列表
	int i = 1;
	std::string strOpen;

	for(m_pRecordList=RecordList.begin(); m_pRecordList != RecordList.end(); m_pRecordList ++)
	{
		m_pTopologyListTable->InitRow(i);
		pSortTable->InitRow(i);
		i++;
	}

	i = 1;
	for(m_pRecordList=RecordList.begin(); m_pRecordList != RecordList.end(); m_pRecordList ++)
	{
		//列表数据界面初始化
		m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 0)->setContentAlignment(AlignCenter);
		m_pRecordList->pCheckBox = new WCheckBox("", (WContainerWidget*)m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 0));		

		strOpen = "<a href=./showtuopu.exe?pageid=";
		strOpen += ReplaceStdString(m_pRecordList->strBackName, ".htm", "");
	#ifdef	 Tuopu
		strOpen += "&version=0";
	#else
		strOpen += "&version=0&usrleader=0&maintain=1";
	#endif
		strOpen += " target=_blank>";
		strOpen += m_pRecordList->strUserName;
		strOpen += "</a>";

		m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)->setContentAlignment(AlignCenter);
		m_pRecordList->pstrUserName = new WText(strOpen, (WContainerWidget*)m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2));
		

		m_pRecordList->pLineEdit = new WLineEdit(m_pRecordList->strUserName,m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2));
		m_pRecordList->pLineEdit->hide();


		m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4)->setContentAlignment(AlignCenter);		
		m_pRecordList->pTuop = new WImage("../Images/resource.gif",m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4));
		m_pRecordList->pTuop->setToolTip(strTuopTip);
		m_pRecordList->pTuop->setStyleClass("hand");

		//绑定visio事件
		std::string strJavascript;

	#ifdef	 Tuopu
		strJavascript = "window.open('../tuoplist/" + m_pRecordList->strTuop + "','newwindow')";	
	#else
		strJavascript = "window.open('../maintainlist/" + m_pRecordList->strTuop + "','newwindow')";	
	#endif

		connect(m_pRecordList->pTuop, SIGNAL(clicked()),strJavascript.c_str() ,WObject::JAVASCRIPT );

		m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 6)->setContentAlignment(AlignCenter);
		m_pRecordList->pEdit = new WImage("/Images/edit.gif",m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 6));		
		m_pRecordList->pEdit->setToolTip(strEditTip);
		m_pRecordList->pEdit->setStyleClass("hand");
		
		strIndex=m_pRecordList->strUserName.c_str();

		m_userMapper.setMapping(m_pRecordList->pEdit, strIndex); 
		
		connect(m_pRecordList->pEdit, SIGNAL(clicked()), &m_userMapper, SLOT(map()));
		connect(m_pRecordList->pLineEdit, SIGNAL(keyWentDown(int)), this, SLOT(EditReturn(int)));
		i++;

		//排序数据界面初始化
		pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)->setContentAlignment(AlignCenter);
		WText * pTmpText = new WText(m_pRecordList->strUserName, pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2));

		char chItem[32]  = {0};	
		sprintf(chItem, "%d", m_pRecordList->nSort);
		string strSort = chItem;

		pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4)->setContentAlignment(AlignCenter);
		WLineEdit * pTmpEdit = new WLineEdit(strSort, pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4));

		//放到sv_table里去
		SVTableCell ce;
		ce.setType(adText);
		ce.setValue(pTmpText);
		m_svSortList.WriteCell(m_pRecordList->strTuop, 0, ce);

		ce.setType(adLineEdit);
		ce.setValue(pTmpEdit);
		m_svSortList.WriteCell(m_pRecordList->strTuop, 1, ce);
	}
	
	m_pList.clear();
	m_pVList.clear();
	
	//列表为空
	if(RecordList.size() <= 0)
	{
		m_pTopologyListTable->ShowNullTip();
	}
	else
	{
		m_pTopologyListTable->HideNullTip();
	}

	pSortTable->hide();


	//隐藏按钮
	pHideBtn = new WPushButton("hide button",this);
	if(pHideBtn)
	{
		pHideBtn->setToolTip("Hide Button");
		connect(pHideBtn,SIGNAL(clicked()),this,SLOT(DelUser()));
		pHideBtn->hide();
	}

	pTranslateBtn = new WPushButton("Translate",this);
	pExChangeBtn = new WPushButton("Refresh",this);

	//翻译
	int bTrans = GetIniFileInt("translate", "translate", 0, "general.ini");
	if(bTrans == 1)
	{
		this->pTranslateBtn->show();
		connect(this->pTranslateBtn, SIGNAL(clicked()), this, SLOT(Translate()));	

		this->pExChangeBtn->show();
		connect(this->pExChangeBtn, SIGNAL(clicked()), this, SLOT(ExChange()));	
	}
	else
	{
		this->pTranslateBtn->hide();
		this->pExChangeBtn->hide();
	}
}
Exemplo n.º 6
0
std::list<string>  CTuopList::ReadVSDName(string path)
{
	WIN32_FIND_DATA fd;
	std::list<string> strlist;
	path += "\\*.*";
    HANDLE fr=::FindFirstFile(path.c_str(),&fd);
    while(::FindNextFile(fr,&fd))
    {
        if(fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
		{
			//
		}
        else
		{
			std::string str1 = fd.cFileName;
			int npos = str1.find(".vsd", 0);
			if(npos >= 0)
			{
				std::list<string> keylist;
				std::list<string>::iterator itemkey;
				#ifdef	 Tuopu
					bool bret = GetIniFileKeys("filename", keylist, "tuopfile.ini");
				#else
					bool bret = GetIniFileKeys("filename", keylist, "maintainfile.ini");
				#endif

				if(!bret)
				{
					//
				}

				bool bExist = false;
				for(itemkey = keylist.begin(); itemkey != keylist.end(); itemkey++)
				{
					std::string str = *itemkey;
					if(strcmp(str.c_str(), fd.cFileName) == 0)
					{
						bExist = true;
						break;
					}
				}
				
				string strHtmName = ReplaceStdString(str1, ".vsd", ".htm");
				if(GetUserRight(strHtmName))
				{
					if(bExist)
					{
						std::string defaultret = "error";
					#ifdef	 Tuopu
						std::string sret = GetIniFileString("filename", fd.cFileName, defaultret, "tuopfile.ini");
					#else
						std::string sret = GetIniFileString("filename", fd.cFileName, defaultret, "maintainfile.ini");
					#endif
						int npos = sret.find(".vsd", 0);
						if(npos >= 0)
						{
							strlist.push_back(sret);
						}
					}
					else
					{
					#ifdef	 Tuopu
						WriteIniFileString("filename", fd.cFileName, fd.cFileName, "tuopfile.ini");
					#else
						WriteIniFileString("filename", fd.cFileName, fd.cFileName, "maintainfile.ini");
					#endif						
						strlist.push_back(fd.cFileName);
					}	
				}
			}
		}
    }
	return strlist;
}
Exemplo n.º 7
0
void CStringMgr::Reload(void)
{
	m_mapString.clear();

    auto strPath = CCFileUtils::sharedFileUtils()->fullPathForFilename(STR_RES);
    
	unsigned long uSize = 0;
	unsigned char *pData = CCFileUtils::sharedFileUtils()->getFileData(strPath.c_str(), "r", &uSize);

	MY_CHECK(pData, "fopen %s failed", strPath.c_str());
	
	bool bCommentFlag = false;
	char szLine[MAX_STRING];
	unsigned char *pPos = pData;
	
	GetLineFromData(szLine, sizeof(szLine), pPos, pData, uSize);
	
	while (GetLineFromData(szLine, sizeof(szLine), pPos, pData, uSize)) {
		char cFirst = szLine[0];

		switch (cFirst) {
		case 0:
		case '\r':
		case '\n':
		case ';':
			continue;
			break;
		case '/':
			switch (szLine[1]) {
			case '/':	continue; break;
			case '*':	bCommentFlag = true; break;
			default:	break;
			}
			break;
		case '*':
			if (szLine[1] == '/') {
				bCommentFlag = false;
			}
			break;
		default:
			break;
		}

		if (bCommentFlag) {
			continue;
		}

		char *pPos = strstr(szLine, "=");
		if (pPos) {
			*pPos = 0;

			std::string strValue = pPos + 1;
			ReplaceStdString(strValue, "\n", "");
			ReplaceStdString(strValue, "\r", "");
			MyTrim(szLine);
			
			ReplaceStdString(strValue, "\\n", "\n");

			std::string strIndex = szLine;
			MY_ASSERT(m_mapString.find(strIndex) == m_mapString.end(), "警告: %s 含有两项以上 Index 为 %s 的数据",
					  strPath.c_str(), strIndex.c_str());
			m_mapString.insert(make_pair(strIndex, strValue));
		}
	}

	delete[] pData;
}