void PriceDisplayBoardWindowBoxList::AddSlot()
{
	QMap<int,QString> itemMap,temp;
	int count = m_PriceDisplayBoardWindowBoxList.count();
	for(int i=0;i<count;i++)
	{
		itemMap.insert(m_PriceDisplayBoardWindowBoxList[i]->GetOrderIndex(),m_PriceDisplayBoardWindowBoxList[i]->GetPriceDisplayBoard()->GetTradingCode());
	}
	temp = itemMap;
	AddItem	dlg(itemMap,this);

	if(QDialog::Accepted==dlg.exec())
	{
		if(itemMap.isEmpty())
		{
			this->Clear();
			emit AddSignal();
			return ;
		}
		if(temp==itemMap)
			return ;

		qApp->processEvents();	

		this->Clear();
		QList<TradeItem> itemList; 

		TradeItem item("");
		item.m_TradingCode = " ";
		item.m_CurrentTime = "15:50:36";
		item.m_CurrentBidPrice = "85.32";
		item.m_CurrentAskPrice = "85.65";
		item.m_PreviousBidPrice = "52.16" ;
		item.m_PreviousAskPrice = "53.65";
		item.m_PreviousHightPrice = "56.52";
		item.m_PreviousLowPrice = "50.62";
		item.m_PreviousClosePrice = "15.63";
		item.m_PreviousChangedPrice = "16.23";
		item.m_OpenPrice = "16.52";
		item.m_BuyRate = "0.052";
		item.m_SellRate = "0.063";
		item.m_Double = false;

		QMapIterator<int,QString> it(itemMap);
		while(it.hasNext())
		{
			it.next();
			item.m_TradingCode = it.value();
			itemList.append(item);
		}
		m_ItemList = itemList;
		this->InitList() ;
		this->Resize();

		emit AddSignal();	
	}
}
Beispiel #2
0
void Base::AddSignal(std::string const& file_name, latex::String const& latex_name, Crosssection const& crosssection, boca::Mass const& mass, std::string const& path)
{
    INFO0;
    auto file_info = boca::FileInfo{{file_name}, latex_name, crosssection, mass};
    file_info.SetPath(path);
    AddSignal(file_info);
}
Beispiel #3
0
TabsDialog::TabsDialog(QList<TradeItem>& itemList,const QString& columnJsonFile,QWidget *parent):QDialog(parent)
{
	ListTab* listTab = new ListTab(itemList,columnJsonFile,parent);
	GridTab* gridTab = new GridTab(itemList,parent);
	
	m_TabWidget = new QTabWidget;

	m_TabWidget->addTab(gridTab,tr("Card View"));
	m_TabWidget->addTab(listTab,tr("List View"));
	
	m_TabWidget->setMovable(true);
	m_TabWidget->setTabPosition(QTabWidget::South);

    QGridLayout *mainLayout = new QGridLayout;
    mainLayout->setSizeConstraint(QLayout::SetNoConstraint);
    mainLayout->addWidget(m_TabWidget);
	mainLayout->setMargin(5);
    setLayout(mainLayout); 
	
	TradeTable*  tradeTable = listTab->GetTable();
	PriceDisplayBoardWindowBoxList*  displayBoardList = gridTab->GetListViewPort()->GetList();
	UpdateThread* realTimeUpdateThread = new UpdateThread(itemList);  //注:itemList为引用参数,listTab或gridTab及UpdataThread线程均可修改此QList的内容与顺序;
	
	connect(realTimeUpdateThread,SIGNAL(SendPriceSignal(const TradeItem&)),displayBoardList,SLOT(RealTimeDisplay(const TradeItem&)));
	connect(realTimeUpdateThread,SIGNAL(SendPriceSignal(const TradeItem&)),tradeTable,SLOT(RealTimeDisplay(const TradeItem&)));
	realTimeUpdateThread->start();

	connect(displayBoardList,SIGNAL(AddSignal()),tradeTable,SLOT(AddSlot()));
	connect(displayBoardList,SIGNAL(OrderSignal(int)),tradeTable,SLOT(OrderSlot(int)));	 //可注释掉;
	connect(displayBoardList,SIGNAL(ChartSignal(int)),tradeTable,SLOT(ChartSlot(int)));	 //可注释掉;
	connect(displayBoardList,SIGNAL(DeleteSignal(int)),tradeTable,SLOT(DeleteSlot(int)));
	connect(displayBoardList,SIGNAL(MoveUpSignal(int)),tradeTable,SLOT(MoveUpSlot(int)));
	connect(displayBoardList,SIGNAL(UpToTopSignal(int)),tradeTable,SLOT(UpToTopSlot(int)));
	connect(displayBoardList,SIGNAL(MoveDownSignal(int)),tradeTable,SLOT(MoveDownSlot(int)));
	connect(displayBoardList,SIGNAL(DownToBottomSignal(int)),tradeTable,SLOT(DownToBottomSlot(int)));
	
	connect(tradeTable,SIGNAL(AddSignal()),displayBoardList,SLOT(AddSlot()));
	connect(tradeTable,SIGNAL(OrderSignal(int)),displayBoardList,SLOT(OrderSlot(int)));
	connect(tradeTable,SIGNAL(ChartSignal(int)),displayBoardList,SLOT(ChartSlot(int)));
	connect(tradeTable,SIGNAL(DeleteSignal(int)),displayBoardList,SLOT(DeleteSlot(int)));
	connect(tradeTable,SIGNAL(MoveUpSignal(int)),displayBoardList,SLOT(MoveUpSlot(int)));
	connect(tradeTable,SIGNAL(UpToTopSignal(int)),displayBoardList,SLOT(UpToTopSlot(int)));
	connect(tradeTable,SIGNAL(MoveDownSignal(int)),displayBoardList,SLOT(MoveDownSlot(int)));
	connect(tradeTable,SIGNAL(DownToBottomSignal(int)),displayBoardList,SLOT(DownToBottomSlot(int)));

//	setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding) ;
}
void ConnectionManagerImpl::RegisterSignal(const int type, const QObject *obj, const QString &signal)
{
    Q_ASSERT(obj != NULL);
    Q_ASSERT(!signal.isEmpty());
    if(obj == NULL || signal.isEmpty())
    {
        return;
    }

    connection_locker_.lock();
    AddSignal(type, obj, signal);
    ConnectSignal(type, obj, signal);
    connection_locker_.unlock();
}
Beispiel #5
0
void TradeTable::Add()
{
	emit AddSignal();
}