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(); } }
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); }
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(); }
void TradeTable::Add() { emit AddSignal(); }