ExternalInterfaceFunctionalMockupUnitImportToActuator::ExternalInterfaceFunctionalMockupUnitImportToActuator(const ModelObject& modelObject,
                                                                                                             const std::string& actuatedComponentType,
                                                                                                             const std::string& actuatedComponentControlType,
                                                                                                             const ExternalInterfaceFunctionalMockupUnitImport& fMUFile,
                                                                                                             const std::string& fMUInstanceName,
                                                                                                             const std::string& fMUVariableName,
                                                                                                             double initialValue)
  : ModelObject(ExternalInterfaceFunctionalMockupUnitImportToActuator::iddObjectType(), modelObject.model())
{
  OS_ASSERT(getImpl<detail::ExternalInterfaceFunctionalMockupUnitImportToActuator_Impl>());

  bool ok = setActuatedComponentUnique(modelObject);
  if (!ok) {
    remove();
    LOG_AND_THROW("Unable to set " << briefDescription() << "'s ActuatedComponentUnique to "
      << modelObject.nameString() << ".");
  }
  setActuatedComponentType(actuatedComponentType);
  setActuatedComponentControlType(actuatedComponentControlType);
  ok = setFMUFile(fMUFile);
  if (!ok) {
    remove();
    LOG_AND_THROW("Unable to set " << briefDescription() << "'s FMUFileName to "
      << fMUFile.fMUFileName() << ".");
  }
  setFMUInstanceName(fMUInstanceName);
  setFMUVariableName(fMUVariableName);
  setInitialValue(initialValue);
}
Beispiel #2
0
// ----------------------------------------------------------------------------
//
ChannelControllerField::ChannelControllerField( Venue* venue, SceneActor actor, channel_t channel, bool live_update ) :
        IntegerField( 0, 255 ),
        m_venue( venue ),
        m_actor( actor ),
        m_channel( channel ),
        m_live_update( live_update )
{
    BYTE value = m_venue->getChannelValue( m_actor, m_channel );

    setInitialValue( value );
    setFixtureValues( value );
}
Beispiel #3
0
// ----------------------------------------------------------------------------
//
DmxAddressField::DmxAddressField( LPCSTR label, Venue* venue, Fixture* fixture ) :
    IntegerField( label, 1, 1, DMX_PACKET_SIZE ),
    m_venue( venue ),
    m_num_channels(1),
    m_uid(0),
    m_allow_address_overlap(false)
{
    if ( fixture != NULL ) {
        m_uid = fixture->getUID();
        m_num_channels = fixture->getNumChannels();
        setInitialValue( fixture->getAddress() );
    }
}
Beispiel #4
0
CMetab &CMetab::operator=(const CMetabOld & RHS)
{
  setObjectName(RHS.getObjectName());

  setStatus(RHS.mStatus);

  // We need to set the initial particle number since that is the expected for the initial state
  C_FLOAT64 InitialParticleNumber =
    CMetab::convertToNumber(RHS.mIConc, *mpCompartment, *mpModel);
  setInitialValue(InitialParticleNumber);

  mRate = 0.0;
  mConcRate = 0.0;
  mTT = 0.0;

  return *this;  // Assignment operator returns left side.
}
Beispiel #5
0
std::shared_ptr<OSSIA::CurveAbstract> curve(
        XScaleFun scale_x,
        YScaleFun scale_y,
        const Segments& segments)
{
    auto curve = OSSIA::Curve<X_T, Y_T>::create();
    if(segments[0].start.x() == 0.)
    {
        curve->setInitialValue(scale_y(segments[0].start.y()));
    }

    for(const auto& iscore_segment : segments)
    {
        if(iscore_segment.type == LinearCurveSegmentData::key())
        {
            curve->addPoint(
                        OSSIA::CurveSegmentLinear<Y_T>::create(curve),
                        scale_x(iscore_segment.end.x()),
                        scale_y(iscore_segment.end.y()));
        }
        else if(iscore_segment.type == PowerCurveSegmentData::key())
        {
            auto val = iscore_segment.specificSegmentData.template value<PowerCurveSegmentData>();

            if(val.gamma == 12.05)
            {
                curve->addPoint(
                            OSSIA::CurveSegmentLinear<Y_T>::create(curve),
                            scale_x(iscore_segment.end.x()),
                            scale_y(iscore_segment.end.y()));
            }
            else
            {
                auto powSegment = OSSIA::CurveSegmentPower<Y_T>::create(curve);
                powSegment->setPower(12.05 - val.gamma); // TODO document this somewhere.

                curve->addPoint(
                            powSegment,
                            scale_x(iscore_segment.end.x()),
                            scale_y(iscore_segment.end.y()));
            }
        }
    }
    return curve;
}
StudentPersonalWindowModiyfyData::StudentPersonalWindowModiyfyData(QString studentnumber){
    this->studentnumber = studentnumber;

    init();

    query.prepare( "select * from student where studentnumber = :studentnumber" );
    query.bindValue(":studentnumber",studentnumber);
    query.exec();
    query.next();

    msg.layout()->setMargin(50);
    msg.layout()->setSpacing(20);
    QFont font;
    font.setFamily("微軟正黑體");
    font.setPixelSize(15);
    msg.setFont(font);

    setInitialValue();

    setTextEditSize(locationinput);
    setTextEditSize(nameinput);
    setTextEditSize(addressinput);
    setTextEditSize(emailinput);
    setTextEditSize(nameinput);
    setTextEditSize(telephonedayinput);
    setTextEditSize(telephonenightinput);
    setTextEditSize(mobileinput);
    setTextEditSize(companynameinput);
    setTextEditSize(companypositioninput);
    setTextEditSize(graduateschoolinput);
    setTextEditSize(graduatedepartmentinput);
    setTextEditSize(studentidentityinput);

    picturelayout->addWidget(pictureinput);
    picturewidget->setLayout(picturelayout);
    picturelayout->setAlignment(pictureinput,Qt::AlignHCenter | Qt::AlignTop);
    picturewidget->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);
    picturewidget->setMinimumHeight(300);

    formlayout1->addRow(picturewidget);
    formlayout1->addRow("通訊地址:",addressinput);
    formlayout1->addRow("電子郵件:",emailinput);
    formwidget1->setLayout(formlayout1);
    formwidget1->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum);
    formlayout1->setFormAlignment(Qt::AlignHCenter);
    formlayout1->setAlignment(pictureinput,Qt::AlignHCenter);
    formlayout1->setAlignment(addressinput,Qt::AlignBottom);
    formlayout1->setAlignment(emailinput,Qt::AlignBottom);

    graduatelevelerror->setStyleSheet("color:red;font-size:15px;font-family:Microsoft JhengHei");
    graduatelevelerror->setVisible(false);
    graduatelevel->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum);
    graduatelevel->setFixedHeight(36);
    studentnumberinput->setFixedHeight(36);
    ticketnumberinput->setFixedHeight(36);
    birthdayinput->setFixedHeight(36);
    birthdayinput->setStyleSheet("background-color:#ffffff;font-size:20px;font-family:Microsoft JhengHei");

    genderlayout->addWidget(malebutton);
    genderlayout->addWidget(femalebutton);
    gendergroup->setLayout(genderlayout);

    contactlayout->addRow("電話(日):",telephonedayinput);
    contactlayout->addRow("電話(夜):",telephonenightinput);
    contactlayout->addRow("手機:",mobileinput);
    contactgroup->setLayout(contactlayout);

    companylayout->addRow("公司名稱:",companynameinput);
    companylayout->addRow("職位:",companypositioninput);
    companygroup->setLayout(companylayout);

    formlayout2->addRow("準考證號碼:",ticketnumberinput);
    formlayout2->addRow("學號:",studentnumberinput);
    formlayout2->addRow("畢業級數:",graduatelevel);
    formlayout2->addRow("姓名",nameinput);
    formlayout2->addRow("性別:",gendergroup);
    formlayout2->addRow("生日:",birthdayinput);
    formlayout2->addRow("畢業學校:",graduateschoolinput);
    formlayout2->addRow("畢業科系:",graduatedepartmentinput);
    formlayout2->addRow("所在地區:",locationinput);
    formwidget2->setLayout(formlayout2);
    formwidget2->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum);

    creditlayout->addWidget(credityes);
    creditlayout->addWidget(creditno);
    creditgroup->setLayout(creditlayout);

    locationinput->setMinimumWidth(120);

    formlayout3->addRow("報考身分別:",studentidentityinput);
    formlayout3->addRow("參加學分班:",creditgroup);
    formlayout3->addRow(companygroup);
    formlayout3->addRow(contactgroup);
    formwidget3->setLayout(formlayout3);
    formwidget3->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum);

    uplayout->addWidget(formwidget1);
    uplayout->addWidget(formwidget2);
    uplayout->addWidget(formwidget3);
    upwidget->setLayout(uplayout);
    uplayout->setMargin(5);
    uplayout->setAlignment(formwidget1,Qt::AlignTop);
    uplayout->setAlignment(formwidget2,Qt::AlignTop);
    uplayout->setAlignment(formwidget3,Qt::AlignTop);
    upwidget->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum);

    backbutton->setFixedWidth(150);
    backbutton->setFixedHeight(36);
    submitbutton->setFixedWidth(150);
    submitbutton->setFixedHeight(36);
    connect(submitbutton,SIGNAL(clicked()),this,SLOT(submitdata()));

    buttonlayout->addWidget(backbutton);
    buttonlayout->addWidget(submitbutton);
    buttonwidget->setLayout(buttonlayout);
    buttonwidget->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Maximum);

    mainlayout->addWidget(upwidget);
    mainlayout->addWidget(buttonwidget);
    mainlayout->setSpacing(20);
    setStyleSheet("background-color:#fbfbfb;font-size:20px;font-family:Microsoft JhengHei");
    //setStyleSheet("border: 1px solid black");
    setFrameShape(QFrame::Panel);
    setFrameShadow(QFrame::Raised);
    setLayout(mainlayout);
    setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum);
}
Beispiel #7
0
/**
 * Set the class attributes of this object from
 * the passed element node.
 */
void CodeParameter::setAttributesFromNode ( QDomElement & root)
{
    // set local attributes, parent object first
    QString idStr = root.attribute("parent_id","-1");
    Uml::IDType id = STR2ID(idStr);

    // always disconnect
    m_parentObject->disconnect(this);

    // now, what is the new object we want to set?
    UMLObject * obj = UMLApp::app()->document()->findObjectById(id);
    if(obj)
    {
        // FIX..one day.
        // Ugh. This is UGLY, but we have to do it this way because UMLRoles
        // don't go into the document list of UMLobjects, and have the same
        // ID as their parent UMLAssociations. So..the drill is then special
        // for Associations..in that case we need to find out which role will
        // serve as the parameter here. The REAL fix, of course, would be to
        // treat UMLRoles on a more even footing, but im not sure how that change
        // might ripple throughout the code and cause problems. Thus, since the
        // change appears to be needed for only this part, I'll do this crappy
        // change instead. -b.t.
        UMLAssociation * assoc = dynamic_cast<UMLAssociation*>(obj);
        if(assoc) {
            // In this case we init with indicated role child obj.
            UMLRole * role = 0;
            int role_id = root.attribute("role_id","-1").toInt();
            if(role_id == 1)
                role = assoc->getUMLRole(Uml::A);
            else if(role_id == 0)
                role = assoc->getUMLRole(Uml::B);
            else
                uError() << "corrupt save file? "
                << "cant get proper UMLRole for codeparameter uml id:"
                << ID2STR(id) << " w/role_id:" << role_id;

            // init using UMLRole obj
            initFields ( m_parentDocument, role);

        } else
            initFields ( m_parentDocument, obj); // just the regular approach

    } else
        uError() << "Cant load CodeParam: parentUMLObject w/id:"
        << ID2STR(id) << " not found, corrupt save file?";

    // other attribs now
    setInitialValue(root.attribute("initialValue",""));

    // load comment now
    // by looking for our particular child element
    QDomNode node = root.firstChild();
    QDomElement element = node.toElement();
    bool gotComment = false;
    while( !element.isNull() ) {
        QString tag = element.tagName();
        if( tag == "header" ) {
            QDomNode cnode = element.firstChild();
            QDomElement celem = cnode.toElement();
            getComment()->loadFromXMI(celem);
            gotComment = true;
            break;
        }
        node = element.nextSibling();
        element = node.toElement();
    }

    if(!gotComment)
        uWarning()<<" loadFromXMI : Warning: unable to initialize CodeComment in codeparam:"<<this;
}