예제 #1
0
void PeopleDefinitionInspectorView::attach(openstudio::model::PeopleDefinition& peopleDefinition)
{
  m_peopleDefinition = peopleDefinition;
  m_nameEdit->bind(*m_peopleDefinition,
                   OptionalStringGetter(boost::bind(&model::PeopleDefinition::name,m_peopleDefinition.get_ptr(),true)),
                   boost::optional<StringSetter>(boost::bind(&model::PeopleDefinition::setName,m_peopleDefinition.get_ptr(),_1)));
  
  // bind to PeopleDefinition methods
  m_numberofPeopleEdit->bind(
      *m_peopleDefinition,
      OptionalDoubleGetter(boost::bind(&model::PeopleDefinition::numberofPeople,m_peopleDefinition.get_ptr())),
      boost::optional<DoubleSetter>(boost::bind(&model::PeopleDefinition::setNumberofPeople,m_peopleDefinition.get_ptr(),_1)));
  
  m_peopleperSpaceFloorAreaEdit->bind(
      m_isIP,
      *m_peopleDefinition,
      OptionalDoubleGetter(boost::bind(&model::PeopleDefinition::peopleperSpaceFloorArea,m_peopleDefinition.get_ptr())),
      boost::optional<DoubleSetter>(boost::bind(&model::PeopleDefinition::setPeopleperSpaceFloorArea,m_peopleDefinition.get_ptr(),_1)));

  m_spaceFloorAreaperPersonEdit->bind(
      m_isIP,
      *m_peopleDefinition,
      OptionalDoubleGetter(boost::bind(&model::PeopleDefinition::spaceFloorAreaperPerson,m_peopleDefinition.get_ptr())),
      boost::optional<DoubleSetter>(boost::bind(&model::PeopleDefinition::setSpaceFloorAreaperPerson,m_peopleDefinition.get_ptr(),_1)));

  // ETH: Note that this is overkill for this dimensionless value. Should switch to OSDoubleEdit(2).
  m_fractionRadiantEdit->bind(
      *m_peopleDefinition,
      DoubleGetter(boost::bind(&model::PeopleDefinition::fractionRadiant,m_peopleDefinition.get_ptr())),
      boost::optional<DoubleSetter>(boost::bind(&model::PeopleDefinition::setFractionRadiant,m_peopleDefinition.get_ptr(),_1)));

  m_sensibleHeatFractionEdit->bind(
      *m_peopleDefinition,
      OptionalDoubleGetter(boost::bind(&model::PeopleDefinition::sensibleHeatFraction,m_peopleDefinition.get_ptr())),
      boost::optional<DoubleSetter>(boost::bind(&model::PeopleDefinition::setSensibleHeatFraction,m_peopleDefinition.get_ptr(),_1)),
      boost::optional<NoFailAction>(boost::bind(&model::PeopleDefinition::resetSensibleHeatFraction,m_peopleDefinition.get_ptr())),
      boost::none,
      boost::optional<NoFailAction>(boost::bind(&model::PeopleDefinition::autocalculateSensibleHeatFraction,m_peopleDefinition.get_ptr())),
      boost::optional<BasicQuery>(boost::bind(&model::PeopleDefinition::isSensibleHeatFractionDefaulted,m_peopleDefinition.get_ptr())),
      boost::none,
      boost::optional<BasicQuery>(boost::bind(&model::PeopleDefinition::isSensibleHeatFractionAutocalculated,m_peopleDefinition.get_ptr())));

  m_carbonDioxideGenerationRateEdit->bind(
      m_isIP,
      *m_peopleDefinition,
      DoubleGetter(boost::bind(&model::PeopleDefinition::carbonDioxideGenerationRate,m_peopleDefinition.get_ptr())),
      boost::optional<DoubleSetter>(boost::bind(&model::PeopleDefinition::setCarbonDioxideGenerationRate,m_peopleDefinition.get_ptr(),_1)),
      boost::optional<NoFailAction>(boost::bind(&model::PeopleDefinition::resetCarbonDioxideGenerationRate,m_peopleDefinition.get_ptr())),
      boost::none,
      boost::none,
      boost::optional<BasicQuery>(boost::bind(&model::PeopleDefinition::isCarbonDioxideGenerationRateDefaulted,m_peopleDefinition.get_ptr())));

  this->stackedWidget()->setCurrentIndex(1);
}
void LifeCycleCostsView::attach(openstudio::model::LifeCycleCostParameters & lifeCycleCostParameters)
{
  if(m_nistRegionComboBox){
    m_nistRegionComboBox->bind<std::string>(
      *m_lifeCycleCostParameters,
      static_cast<std::string (*)(const std::string&)>(&openstudio::toString),
      std::bind(&model::LifeCycleCostParameters::validNistRegionValues,m_lifeCycleCostParameters.get_ptr()),
      OptionalStringGetter(std::bind(&model::LifeCycleCostParameters::nistRegion,m_lifeCycleCostParameters.get_ptr())),
      std::bind(&model::LifeCycleCostParameters::setNISTRegion,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1));
  }

  if(m_nistSectorComboBox){
    m_nistSectorComboBox->bind<std::string>(
      *m_lifeCycleCostParameters,
      static_cast<std::string (*)(const std::string&)>(&openstudio::toString),
      std::bind(&model::LifeCycleCostParameters::validNistSectorValues,m_lifeCycleCostParameters.get_ptr()),
      OptionalStringGetter(std::bind(&model::LifeCycleCostParameters::nistSector,m_lifeCycleCostParameters.get_ptr())),
      std::bind(&model::LifeCycleCostParameters::setNISTSector,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1));
  }

  if(m_analysisLengthIntegerEdit){
    m_analysisLengthIntegerEdit->bind(
      *m_lifeCycleCostParameters,
      OptionalIntGetter(std::bind(&model::LifeCycleCostParameters::lengthOfStudyPeriodInYears,m_lifeCycleCostParameters.get_ptr())),
      boost::optional<IntSetter>(std::bind(&model::LifeCycleCostParameters::setLengthOfStudyPeriodInYears,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1)),
      boost::optional<NoFailAction>(std::bind(&model::LifeCycleCostParameters::resetLengthOfStudyPeriodInYears,m_lifeCycleCostParameters.get_ptr())));
  }

  if(m_realDiscountRateDoubleEdit){
    m_realDiscountRateDoubleEdit->bind(
      *m_lifeCycleCostParameters,
      OptionalDoubleGetter(std::bind(&model::LifeCycleCostParameters::realDiscountRate,m_lifeCycleCostParameters.get_ptr())),
      boost::optional<DoubleSetter>(std::bind(&model::LifeCycleCostParameters::setRealDiscountRate,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1)));
  }

  if(m_electricityDoubleEdit){
    m_electricityDoubleEdit->bind(
      *m_lifeCycleCostParameters,
      OptionalDoubleGetter(std::bind(&model::LifeCycleCostParameters::electricityInflation,m_lifeCycleCostParameters.get_ptr())),
      boost::optional<DoubleSetter>(std::bind(&model::LifeCycleCostParameters::setElectricityInflation,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1)),
      boost::optional<NoFailAction>(std::bind(&model::LifeCycleCostParameters::resetElectricityInflation,m_lifeCycleCostParameters.get_ptr())));
  }

  if(m_naturalGasDoubleEdit){
    m_naturalGasDoubleEdit->bind(
      *m_lifeCycleCostParameters,
      OptionalDoubleGetter(std::bind(&model::LifeCycleCostParameters::naturalGasInflation,m_lifeCycleCostParameters.get_ptr())),
      boost::optional<DoubleSetter>(std::bind(&model::LifeCycleCostParameters::setNaturalGasInflation,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1)),
      boost::optional<NoFailAction>(std::bind(&model::LifeCycleCostParameters::resetNaturalGasInflation,m_lifeCycleCostParameters.get_ptr())));
  }

  if(m_steamDoubleEdit){
    m_steamDoubleEdit->bind(
      *m_lifeCycleCostParameters,
      OptionalDoubleGetter(std::bind(&model::LifeCycleCostParameters::steamInflation,m_lifeCycleCostParameters.get_ptr())),
      boost::optional<DoubleSetter>(std::bind(&model::LifeCycleCostParameters::setSteamInflation,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1)),
      boost::optional<NoFailAction>(std::bind(&model::LifeCycleCostParameters::resetSteamInflation,m_lifeCycleCostParameters.get_ptr())));
  }

  if(m_gasolineDoubleEdit){
    m_gasolineDoubleEdit->bind(
      *m_lifeCycleCostParameters,
      OptionalDoubleGetter(std::bind(&model::LifeCycleCostParameters::gasolineInflation,m_lifeCycleCostParameters.get_ptr())),
      boost::optional<DoubleSetter>(std::bind(&model::LifeCycleCostParameters::setGasolineInflation,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1)),
      boost::optional<NoFailAction>(std::bind(&model::LifeCycleCostParameters::resetGasolineInflation,m_lifeCycleCostParameters.get_ptr())));
  }

  if(m_dieselDoubleEdit){
    m_dieselDoubleEdit->bind(
      *m_lifeCycleCostParameters,
      OptionalDoubleGetter(std::bind(&model::LifeCycleCostParameters::dieselInflation,m_lifeCycleCostParameters.get_ptr())),
      boost::optional<DoubleSetter>(std::bind(&model::LifeCycleCostParameters::setDieselInflation,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1)),
      boost::optional<NoFailAction>(std::bind(&model::LifeCycleCostParameters::resetDieselInflation,m_lifeCycleCostParameters.get_ptr())));
  }

  if(m_propaneDoubleEdit){
    m_propaneDoubleEdit->bind(
      *m_lifeCycleCostParameters,
      OptionalDoubleGetter(std::bind(&model::LifeCycleCostParameters::propaneInflation,m_lifeCycleCostParameters.get_ptr())),
      boost::optional<DoubleSetter>(std::bind(&model::LifeCycleCostParameters::setPropaneInflation,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1)),
      boost::optional<NoFailAction>(std::bind(&model::LifeCycleCostParameters::resetPropaneInflation,m_lifeCycleCostParameters.get_ptr())));
  }

  if(m_coalDoubleEdit){
    m_coalDoubleEdit->bind(
      *m_lifeCycleCostParameters,
      OptionalDoubleGetter(std::bind(&model::LifeCycleCostParameters::coalInflation,m_lifeCycleCostParameters.get_ptr())),
      boost::optional<DoubleSetter>(std::bind(&model::LifeCycleCostParameters::setCoalInflation,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1)),
      boost::optional<NoFailAction>(std::bind(&model::LifeCycleCostParameters::resetCoalInflation,m_lifeCycleCostParameters.get_ptr())));
  }

  if(m_fuelOil_1DoubleEdit){
    m_fuelOil_1DoubleEdit->bind(
      *m_lifeCycleCostParameters,
      OptionalDoubleGetter(std::bind(&model::LifeCycleCostParameters::fuelOil1Inflation,m_lifeCycleCostParameters.get_ptr())),
      boost::optional<DoubleSetter>(std::bind(&model::LifeCycleCostParameters::setFuelOil1Inflation,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1)),
      boost::optional<NoFailAction>(std::bind(&model::LifeCycleCostParameters::resetFuelOil1Inflation,m_lifeCycleCostParameters.get_ptr())));
  }

  if(m_fuelOil_2DoubleEdit){
    m_fuelOil_2DoubleEdit->bind(
      *m_lifeCycleCostParameters,
      OptionalDoubleGetter(std::bind(&model::LifeCycleCostParameters::fuelOil2Inflation,m_lifeCycleCostParameters.get_ptr())),
      boost::optional<DoubleSetter>(std::bind(&model::LifeCycleCostParameters::setFuelOil2Inflation,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1)),
      boost::optional<NoFailAction>(std::bind(&model::LifeCycleCostParameters::resetFuelOil2Inflation,m_lifeCycleCostParameters.get_ptr())));
  }

  if(m_waterDoubleEdit){
    m_waterDoubleEdit->bind(
      *m_lifeCycleCostParameters,
      OptionalDoubleGetter(std::bind(&model::LifeCycleCostParameters::waterInflation,m_lifeCycleCostParameters.get_ptr())),
      boost::optional<DoubleSetter>(std::bind(&model::LifeCycleCostParameters::setWaterInflation,m_lifeCycleCostParameters.get_ptr(),std::placeholders::_1)),
      boost::optional<NoFailAction>(std::bind(&model::LifeCycleCostParameters::resetWaterInflation,m_lifeCycleCostParameters.get_ptr())));
  }
 
  OS_ASSERT(m_fempGroup->button(0));
  QString type = m_lifeCycleCostParameters->analysisType().c_str();
  if(type == "FEMP"){
    m_fempGroup->button(0)->setChecked(true);
    fempGroupClicked(0);
  } else if(type == "Custom") {
    m_fempGroup->button(1)->setChecked(true);
    fempGroupClicked(1);
  } else {
    // should never get here
    OS_ASSERT(false);
  }
  
  OS_ASSERT(m_nistGroup->button(0));
  bool useNist = m_lifeCycleCostParameters->useNISTFuelEscalationRates();
  if(useNist){
    m_nistGroup->button(0)->setChecked(true);
    nistGroupClicked(0);
  } else {
    m_nistGroup->button(1)->setChecked(true);
    nistGroupClicked(1);
  }
}