本文整理汇总了C++中SendCoinsEntry::setValue方法的典型用法代码示例。如果您正苦于以下问题:C++ SendCoinsEntry::setValue方法的具体用法?C++ SendCoinsEntry::setValue怎么用?C++ SendCoinsEntry::setValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SendCoinsEntry
的用法示例。
在下文中一共展示了SendCoinsEntry::setValue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pasteEntry
void SendCoinsDialog::pasteEntry(const SendCoinsRecipient &rv)
{
if(!fNewRecipientAllowed)
return;
SendCoinsEntry *entry = 0;
// Replace the first entry if it is still unused
if(ui->entries->count() == 1)
{
SendCoinsEntry *first = qobject_cast<SendCoinsEntry*>(ui->entries->itemAt(0)->widget());
if(first->isClear())
{
entry = first;
}
}
if(!entry)
{
entry = addEntry();
}
entry->setValue(rv);
updateTabsAndLabels();
}
示例2: on_transaction_textChanged
void MultisigDialog::on_transaction_textChanged()
{
while(ui->inputs->count())
delete ui->inputs->takeAt(0)->widget();
while(ui->outputs->count())
delete ui->outputs->takeAt(0)->widget();
if(ui->transaction->text().size() > 0)
ui->signTransactionButton->setEnabled(true);
else
ui->signTransactionButton->setEnabled(false);
// Decode the raw transaction
std::vector<unsigned char> txData(ParseHex(ui->transaction->text().toStdString()));
CDataStream ss(txData, SER_NETWORK, PROTOCOL_VERSION);
CTransaction tx;
try
{
ss >> tx;
}
catch(std::exception &e)
{
(void)e;
return;
}
// Fill input list
int index = -1;
BOOST_FOREACH(const CTxIn& txin, tx.vin)
{
uint256 prevoutHash = txin.prevout.hash;
addInput();
index++;
MultisigInputEntry *entry = qobject_cast<MultisigInputEntry *>(ui->inputs->itemAt(index)->widget());
if(entry)
{
entry->setTransactionId(QString(prevoutHash.GetHex().c_str()));
entry->setTransactionOutputIndex(txin.prevout.n);
}
}
// Fill output list
index = -1;
BOOST_FOREACH(const CTxOut& txout, tx.vout)
{
CScript scriptPubKey = txout.scriptPubKey;
CTxDestination addr;
ExtractDestination(scriptPubKey, addr);
CBitcoinAddress address(addr);
SendCoinsRecipient recipient;
recipient.address = QString(address.ToString().c_str());
recipient.amount = txout.nValue;
addOutput();
index++;
SendCoinsEntry *entry = qobject_cast<SendCoinsEntry *>(ui->outputs->itemAt(index)->widget());
if(entry)
{
entry->setValue(recipient);
}
}
updateRemoveEnabled();
}
示例3: on_transaction_textChanged
void MultisigDialog::on_transaction_textChanged()
{
ui->fee->setStyleSheet("");
ui->statusLabel->setText("");
while(ui->inputs->count())
delete ui->inputs->takeAt(0)->widget();
while(ui->outputs->count())
delete ui->outputs->takeAt(0)->widget();
if(ui->transaction->text().size() > 0)
ui->signTransactionButton->setEnabled(true);
else
ui->signTransactionButton->setEnabled(false);
// Decode the raw transaction
std::vector<unsigned char> txData(ParseHex(ui->transaction->text().toStdString()));
CDataStream ss(txData, SER_NETWORK, PROTOCOL_VERSION);
CTransaction tx;
try
{
ss >> tx;
}
catch(std::exception &e)
{
return;
}
// Fill input list
int index = -1;
BOOST_FOREACH(const CTxIn& txin, tx.vin)
{
uint256 prevoutHash = txin.prevout.hash;
addInput();
index++;
MultisigInputEntry *entry = qobject_cast<MultisigInputEntry *>(ui->inputs->itemAt(index)->widget());
if(entry)
{
entry->setTransactionId(QString(prevoutHash.GetHex().c_str()));
entry->setTransactionOutputIndex(txin.prevout.n);
}
}
// Fill output list
index = -1;
BOOST_FOREACH(const CTxOut& txout, tx.vout)
{
CScript scriptPubKey = txout.scriptPubKey;
CTxDestination addr;
ExtractDestination(scriptPubKey, addr);
CBitcoinAddress address(addr);
SendCoinsRecipient recipient;
recipient.address = QString(address.ToString().c_str());
recipient.amount = txout.nValue;
addOutput();
index++;
SendCoinsEntry *entry = qobject_cast<SendCoinsEntry *>(ui->outputs->itemAt(index)->widget());
if(entry)
{
entry->setValue(recipient);
}
}
updateRemoveEnabled();
// Check the fee
int64_t transactionSize = ui->transaction->text().size() / 2;
if(transactionSize == 0)
return;
transactionSize += ui->inputs->count() * 73; // Future ECDSA signatures in DER format
int64_t fee = (int64_t ) (ui->fee->text().toDouble() * COIN);
int64_t minFee = MIN_TX_FEE * (1 + (int64_t) transactionSize / 1000);
if(fee < minFee)
{
ui->fee->setStyleSheet("color:red;");
ui->statusLabel->setText(tr("The transaction fee might be too small."));
}
else if(fee > minFee)
{
ui->fee->setStyleSheet("color:red;");
ui->statusLabel->setText(tr("The transaction fee might be too big. Don't forget to add an output for the change address."));
}
}