void NIXMLEdgesHandler::myStartElement(int element, const SUMOSAXAttributes& attrs) { switch (element) { case SUMO_TAG_EDGE: addEdge(attrs); break; case SUMO_TAG_LANE: addLane(attrs); break; case SUMO_TAG_NEIGH: myCurrentEdge->getLaneStruct((int)myCurrentEdge->getNumLanes() - 1).oppositeID = attrs.getString(SUMO_ATTR_LANE); break; case SUMO_TAG_SPLIT: addSplit(attrs); break; case SUMO_TAG_DELETE: deleteEdge(attrs); break; case SUMO_TAG_ROUNDABOUT: addRoundabout(attrs); break; default: break; } }
TransactionHelper::TransactionHelper( const QDate& _date, const QString& _action, MyMoneyMoney _value, const QString& _accountid, const QString& _categoryid, const QString& _currencyid, const QString& _payee ) { // _currencyid is the currency of the transaction, and of the _value // both the account and category can have their own currency (athough the category having // a foreign currency is not yet supported by the program, the reports will still allow it, // so it must be tested.) MyMoneyFile* file = MyMoneyFile::instance(); bool haspayee = ! _payee.isEmpty(); MyMoneyPayee payeeTest = file->payeeByName(_payee); MyMoneyFileTransaction ft; setPostDate(_date); QString currencyid = _currencyid; if ( currencyid.isEmpty() ) currencyid=MyMoneyFile::instance()->baseCurrency().id(); setCommodity(currencyid); MyMoneyMoney price; MyMoneySplit splitLeft; if ( haspayee ) splitLeft.setPayeeId(payeeTest.id()); splitLeft.setAction(_action); splitLeft.setValue(-_value); price = MyMoneyFile::instance()->price(currencyid, file->account(_accountid).currencyId(),_date).rate(file->account(_accountid).currencyId()); splitLeft.setShares(-_value * price); splitLeft.setAccountId(_accountid); addSplit(splitLeft); MyMoneySplit splitRight; if ( haspayee ) splitRight.setPayeeId(payeeTest.id()); splitRight.setAction(_action); splitRight.setValue(_value); price = MyMoneyFile::instance()->price(currencyid, file->account(_categoryid).currencyId(),_date).rate(file->account(_categoryid).currencyId()); splitRight.setShares(_value * price ); splitRight.setAccountId(_categoryid); addSplit(splitRight); MyMoneyFile::instance()->addTransaction(*this); ft.commit(); }
void NIXMLEdgesHandler::myStartElement(int element, const SUMOSAXAttributes& attrs) { switch (element) { case SUMO_TAG_EDGE: addEdge(attrs); break; case SUMO_TAG_LANE: addLane(attrs); break; case SUMO_TAG_SPLIT: addSplit(attrs); break; case SUMO_TAG_DELETE: deleteEdge(attrs); break; default: break; } }
void InvTransactionHelper::init( const QDate& _date, const QString& _action, MyMoneyMoney _shares, MyMoneyMoney _price, const QString& _stockaccountid, const QString& _transferid, const QString& _categoryid ) { MyMoneyFile* file = MyMoneyFile::instance(); MyMoneyAccount stockaccount = file->account(_stockaccountid); MyMoneyMoney value = _shares * _price; setPostDate(_date); setCommodity("USD"); MyMoneySplit s1; s1.setValue(value); s1.setAccountId(_stockaccountid); if ( _action == MyMoneySplit::ActionReinvestDividend ) { s1.setShares(_shares); s1.setAction(MyMoneySplit::ActionReinvestDividend); MyMoneySplit s2; s2.setAccountId(_categoryid); s2.setShares(-value); s2.setValue(-value); addSplit(s2); } else if ( _action == MyMoneySplit::ActionDividend || _action == MyMoneySplit::ActionYield ) { s1.setAccountId(_categoryid); s1.setShares(-value); s1.setValue(-value); // Split 2 will be the zero-amount investment split that serves to // mark this transaction as a cash dividend and note which stock account // it belongs to. MyMoneySplit s2; s2.setValue(0); s2.setShares(0); s2.setAction(_action); s2.setAccountId(_stockaccountid); addSplit(s2); MyMoneySplit s3; s3.setAccountId(_transferid); s3.setShares(value); s3.setValue(value); addSplit(s3); } else if ( _action == MyMoneySplit::ActionBuyShares ) { s1.setShares(_shares); s1.setAction(MyMoneySplit::ActionBuyShares); MyMoneySplit s3; s3.setAccountId(_transferid); s3.setShares(-value); s3.setValue(-value); addSplit(s3); } addSplit(s1); //kdDebug(2) << "created transaction, now adding..." << endl; MyMoneyFileTransaction ft; file->addTransaction(*this); //kdDebug(2) << "updating price..." << endl; // update the price, while we're here QString stockid = stockaccount.currencyId(); QString basecurrencyid = file->baseCurrency().id(); MyMoneyPrice price = file->price( stockid, basecurrencyid, _date, true ); if ( !price.isValid() ) { MyMoneyPrice newprice( stockid, basecurrencyid, _date, _price, "test" ); file->addPrice(newprice); } ft.commit(); //kdDebug(2) << "successfully added " << id() << endl; }
void CanvasSplitAreaController::splitCurrent(Qt::Orientation orientation) { addSplit(_currentSplit, createSplitWidget(), orientation); }
virtual void SetUp() { Vector<SplitDescription> splits; addSplit(splits, "en-rUS-sw600dp-hdpi"); addSplit(splits, "fr-rFR-sw600dp-hdpi"); addSplit(splits, "fr-rFR-sw600dp-xhdpi"); addSplit(splits, ":armeabi"); addSplit(splits, "en-rUS-sw300dp-xhdpi"); addSplit(splits, "large"); addSplit(splits, "pl-rPL"); addSplit(splits, "xlarge"); addSplit(splits, "en-rUS-sw600dp-xhdpi"); addSplit(splits, "en-rUS-sw300dp-hdpi"); addSplit(splits, "xxhdpi"); addSplit(splits, "hdpi"); addSplit(splits, "de-rDE"); addSplit(splits, "xhdpi"); addSplit(splits, ":x86"); addSplit(splits, "anydpi"); addSplit(splits, "v7"); addSplit(splits, "v8"); addSplit(splits, "sw600dp"); addSplit(splits, "sw300dp"); mGroups = groupByMutualExclusivity(splits); }