string CRectangle::AsBox3d() { //SetSRID('BOX3D(191232 243117,191232 243119)'::box3d,-1); string ret = "'BOX3D(" + Double2Str(minx) + " " + Double2Str(miny); ret += "," + Double2Str(maxx) + " " + Double2Str(maxy) + ")'::box3d"; return ret; }
void FOOTPRINT_WIZARD_FRAME::ReCreateParameterList() { if( m_parameterGrid == NULL ) return; FOOTPRINT_WIZARD* footprintWizard = GetMyWizard(); if( footprintWizard == NULL ) return; int page = m_pageList->GetSelection(); if( page<0 ) return; m_parameterGrid->ClearGrid(); // Rows m_parameterGrid->AutoSizeRows(); m_parameterGrid->EnableDragRowSize( true ); m_parameterGrid->SetRowLabelSize( 1 ); m_parameterGrid->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE ); // Get the list of names, values, and types wxArrayString fpList = footprintWizard->GetParameterNames( page ); wxArrayString fvList = footprintWizard->GetParameterValues( page ); wxArrayString ptList = footprintWizard->GetParameterTypes( page ); // Dimension the wxGrid m_parameterGrid->DeleteRows( 0, m_parameterGrid->GetNumberRows() ); m_parameterGrid->AppendRows( fpList.size() ); wxString name, value, units; for( unsigned int i = 0; i<fpList.size(); i++ ) { name = fpList[i]; value = fvList[i]; m_parameterGrid->SetCellValue( i, 0, name ); m_parameterGrid->SetReadOnly( i, 0 ); if( ptList[i]==wxT( "IU" ) ) { LOCALE_IO toggle; // We are handling internal units, so convert them to the current // system selected units and store into value. double dValue; value.ToDouble( &dValue ); dValue = To_User_Unit( g_UserUnit, dValue ); if( g_UserUnit==INCHES ) // we convert inches into mils for more detail { dValue = dValue * 1000.0; units = wxT( "mils" ); } else if( g_UserUnit==MILLIMETRES ) { units = wxT( "mm" ); } std::string s = Double2Str( dValue ); value = FROM_UTF8( s.c_str() ); } else if( ptList[i]==wxT( "UNITS" ) ) // 1,2,3,4,5 ... N { units = wxT( "" ); } m_parameterGrid->SetCellValue( i, 1, value ); m_parameterGrid->SetCellValue( i, 2, units ); m_parameterGrid->SetReadOnly( i, 2 ); } m_parameterGrid->AutoSizeColumns(); }
void FOOTPRINT_WIZARD_FRAME::ReCreateParameterList() { if( m_parameterGrid == NULL ) return; FOOTPRINT_WIZARD* footprintWizard = GetMyWizard(); if( footprintWizard == NULL ) return; int page = m_pageList->GetSelection(); if( page<0 ) return; m_parameterGrid->ClearGrid(); // Get the list of names, values, and types wxArrayString fpList = footprintWizard->GetParameterNames( page ); wxArrayString fvList = footprintWizard->GetParameterValues( page ); wxArrayString ptList = footprintWizard->GetParameterTypes( page ); // Dimension the wxGrid if( m_parameterGrid->GetNumberRows() > 0 ) m_parameterGrid->DeleteRows( 0, m_parameterGrid->GetNumberRows() ); m_parameterGrid->AppendRows( fpList.size() ); wxString value, units; for( unsigned int i = 0; i< fpList.size(); i++ ) { value = fvList[i]; m_parameterGrid->SetCellValue( i, m_columnPrmName, fpList[i] ); m_parameterGrid->SetReadOnly( i, m_columnPrmName ); if( ptList[i]==wxT( "IU" ) ) { LOCALE_IO toggle; // We are handling internal units, so convert them to the current // system selected units and store into value. double dValue; value.ToDouble( &dValue ); dValue = To_User_Unit( g_UserUnit, dValue ); if( g_UserUnit==INCHES ) // we convert inches into mils for more detail { dValue = dValue * 1000.0; units = wxT( "mils" ); } else if( g_UserUnit==MILLIMETRES ) { units = wxT( "mm" ); } // Use Double2Str to build the string, because useless trailing 0 // are removed. The %f format does not remove them std::string s = Double2Str( dValue ); value = FROM_UTF8( s.c_str() ); } else if( ptList[i]==wxT( "UNITS" ) ) // 1,2,3,4,5 ... N { units = wxT( "" ); } m_parameterGrid->SetCellValue( i, m_columnPrmValue, value ); m_parameterGrid->SetCellValue( i, m_columnPrmUnit, units ); m_parameterGrid->SetReadOnly( i, m_columnPrmUnit ); } m_parameterGrid->AutoSizeColumns(); }