bool __fastcall TSpreadSheetRLModifyForm::Execute(TcxSSModifyType AModifySheet)
{
  AnsiString ACaptions[8];
  ACaptions[2] = "Shift cells left";
  ACaptions[3] = "Shift cells top";
  ACaptions[4] = "Entire row";
  ACaptions[5] = "Entire column";
  ACaptions[6] = "&Ok";
  ACaptions[7] = "&Cancel";
  if (AModifySheet == mtInsert) {
    ACaptions[0] = "Insert";
    ACaptions[1] = "Insert";
    SetCaptions(ACaptions);
  }
  else {
    ACaptions[0] = "Delete";
    ACaptions[1] = "Delete";
    SetCaptions(ACaptions);
  }
  bool Result;
  Result = TForm::ShowModal() == mrOk;
  if (Result) {
    if (rbShiftCol->Checked)
      FModifySheet = msShiftCol;
    else
      if (rbShiftRw->Checked)
        FModifySheet = msShiftRow;
      else
        if (rbRw->Checked)
          FModifySheet = msAllCol;
        else
          FModifySheet = msAllRow;
  }
  return Result;
}
Beispiel #2
0
void tGauge::ChangeDataType( const tDataId& dataId )
{
    m_SaveLimits = false;

    if( dataId == DATA_TYPE_INVALID )
    {
        return;
    }
    //clear existing indicators
    m_Indicators.clear();
    m_Indicators << tIndicator( dataId );

    //set captions and limits
    tDigitalData pData( dataId );
    AbsoluteLimits = pData.AbsoluteLimitsConverted();
    tFloatLimits limits( pData.MinConverted(), pData.MaxConverted() );
    tFloatLimits warnings( pData.WarningLowConverted(), pData.WarningHighConverted() );
    m_UnitsType = pData.Units();
    m_UnitsValue = tUnitsSettings::Instance()->Units( m_UnitsType );

    //set update timer and update immediately
    UpdateValues();

    //autoconfigure if applicable
    if( CanAutoConfigure() && AutoConfigure() )
    {
        DoAutoConfigure();
    }

    SetLimits( limits, warnings );
    SetCaptions();

    //does any type specific config
    ReconfigureGauge();

    m_BackIsCached = false;
    m_ForeIsCached = false;
    update();

    m_Modified = true;

    if( m_UnitsType != UNITS_ECONOMY )
    {
//        m_SaveLimits = true;
    }
}
Beispiel #3
0
void tGauge::InitialiseLimits()
{
    tDigitalData pData( GetDataId() );

    m_UnitsType = pData.Units( GetDataId().DataType() );
    m_UnitsValue = tUnitsSettings::Instance()->Units( m_UnitsType );

    AbsoluteLimits = pData.AbsoluteLimitsConverted();

    //Check for user specified limits, else get from tDigitalData.
    tFloatLimits limits;
    if( m_GaugeParams.m_Limits.IsValid() && m_UnitsType != UNITS_ECONOMY )
    {
        limits = pData.ConvertLimits( m_GaugeParams.m_Limits );
    }
    else
    {
        limits = tFloatLimits( pData.MinConverted(), pData.MaxConverted() );
    }

    //Check for user specified warnings, else get from tDigitalData.
    tFloatLimits warnings;
    if( m_GaugeParams.m_Warnings.IsValid() && m_UnitsType != UNITS_ECONOMY )
    {
        warnings = pData.ConvertLimits( m_GaugeParams.m_Warnings );
    }
    else
    {
        warnings = tFloatLimits( pData.WarningLowConverted(), pData.WarningHighConverted() );
    }

    SetCaptions();

    //mildly bad form when called from the constructor as SetLimits is virtual.. but base implementation is desired in this case, so all good.
    tGauge::SetLimits( limits, warnings );

    // We may have dynamically changing custom limits.
    OnLimitsChanged();
}