// --------------------------------------------------------- // CMsgHeader::SetAndGetSizeL // // Calculates and sets the size for the header and returns new size as reference // aSize. If aInit == ETrue, sets also size for the controls by calling their // SetAndGetSizeL functions. // --------------------------------------------------------- // void CMsgHeader::SetAndGetSizeL( TSize& aSize, TBool aInit ) { aSize = MsgEditorCommons::MsgHeaderPane().Size(); TInt numberOfControls( iControls->Count() ); iMargins.iTop = 0; iMargins.iBottom = numberOfControls ? MsgEditorCommons::MsgBaseLineDelta() : 0; TInt marginsDeltaHeight = iMargins.iTop + iMargins.iBottom; TInt marginsDeltaWidth = iMargins.iLeft + iMargins.iRight; TSize headerSize( aSize.iWidth, marginsDeltaHeight ); TSize controlSize( 0, 0 ); controlSize.iWidth = aSize.iWidth - marginsDeltaWidth; CMsgBaseControl* control = NULL; TInt minimumHeigth = marginsDeltaHeight; for ( TInt cc = 0; cc < numberOfControls; cc++ ) { controlSize.iHeight = aSize.iHeight; control = (*iControls)[cc]; if ( aInit ) { control->SetAndGetSizeL( controlSize ); } else { controlSize = control->Size(); } headerSize.iHeight += control->DistanceFromComponentAbove() + controlSize.iHeight /* + 1 */; minimumHeigth += control->DistanceFromComponentAbove() + control->MinimumSize().iHeight /* + 1 */; //MEBLOGGER_WRITEF(_L("MEB: CMsgHeader::SetAndGetSizeL: headerSize.iHeight %d "), headerSize.iHeight); } if ( minimumHeigth < marginsDeltaHeight ) // make top margin higher if there is no space for the icon { TInt additionalTopMargin = marginsDeltaHeight - minimumHeigth; headerSize.iHeight += additionalTopMargin; iMargins.iTop += additionalTopMargin; } SetSizeWithoutNotification( headerSize ); aSize = headerSize; }
//----------------------------------------------------------------------------------------------- // generates a description for driver file //----------------------------------------------------------------------------------------------- QString InjectionWell::description() const { QString str("START WELL\n"); str.append(" NAME " + name() + "\n"); str.append(" TYPE I \n"); str.append(" GROUP " + group() + "\n"); str.append(" BHPLIMIT " + QString::number(bhpLimit()) + "\n"); str.append(" BHPINJ "); if(bhpInj() == WellControl::QWAT) str.append("WATER\n"); else if(bhpInj() == WellControl::QOIL) str.append("OIL\n"); else if(bhpInj() == WellControl::QGAS) str.append("GAS\n"); if(hasInstallTime()) { str.append(" INSTALLTIME " + QString::number(installTime()->value()) + " " + QString::number(installTime()->max()) + " " + QString::number(installTime()->min()) + "\n"); } if(hasCost()) { str.append(" COST " + QString::number(cost()->constantCost()) + " " + QString::number(cost()->fractionCost()) + " " + QString::number(cost()->capacityCost()) + "\n"); } if(numberOfConstantConnections() > 0) { str.append(" START CONNECTIONS\n"); for(int i = 0; i < numberOfConnections(); ++i) { WellConnection *wc = constantConnection(i); if(wc->cell() >= 0) str.append(" " + QString::number(wc->cell()) + " " + QString::number(wc->wellIndex()) + "\n"); else str.append(" " + QString::number(wc->i()) + " " + QString::number(wc->j()) + " " + QString::number(wc->k1()) + " " + QString::number(wc->k2()) + " " + QString::number(wc->wellIndex()) + "\n"); } str.append(" END CONNECTIONS\n\n"); } if(numberOfVariableConnections() > 0) { str.append(" START VARCONNECTIONS\n"); for(int i = 0; i < numberOfVariableConnections(); ++i) { WellConnectionVariable *wcv = variableConnection(i); str.append(" " + QString::number(wcv->iVariable()->value()) + " " + QString::number(wcv->iVariable()->max()) + " " + QString::number(wcv->iVariable()->min()) + " " + QString::number(wcv->jVariable()->value()) + " " + QString::number(wcv->jVariable()->max()) + " " + QString::number(wcv->jVariable()->min()) + " " + QString::number(wcv->wellConnection()->k1()) + " " + QString::number(wcv->wellConnection()->k2()) + " " + QString::number(wcv->wellConnection()->wellIndex()) + "\n"); } str.append(" END VARCONNECTIONS\n"); } str.append(" START SCHEDULE\n"); for(int i = 0; i < numberOfControls(); ++i) str.append(control(i)->description()); str.append(" END SCHEDULE\n\n"); str.append("END WELL\n\n"); return str; }