//--------------------------------------------------------- int CTable_Trend_Base::On_Parameter_Changed(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("FORMULAS")) ) { const SG_Char *Formula; switch( pParameter->asInt() ) { default: return( false ); case 0: Formula = SG_T("a + b * x"); break; case 1: Formula = SG_T("a + b * x + c * x^2"); break; case 2: Formula = SG_T("a + b * x + c * x^2 + d * x^3"); break; case 3: Formula = SG_T("a + b * ln(x)"); break; case 4: Formula = SG_T("a + b * x^c"); break; case 5: Formula = SG_T("a + b / x"); break; case 6: Formula = SG_T("a + b * (1 - exp(-x / c))"); break; case 7: Formula = SG_T("a + b * (1 - exp(-(x / c)^2))"); break; } pParameters->Get_Parameter("FORMULA")->Set_Value(Formula); } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("FORMULA")) ) { if( !m_Trend.Set_Formula(pParameter->asString()) ) { Message_Dlg(m_Trend.Get_Error(), _TL("Error in Formula")); return( false ); } } return( true ); }
//--------------------------------------------------------- int CWKSP_Map_Graticule::On_Parameter_Changed(CSG_Parameters *pParameters, CSG_Parameter *pParameter, int Flags) { if( Flags & PARAMETER_CHECK_ENABLE ) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "INTERVAL") ) { pParameters->Set_Enabled("FIXED" , pParameter->asInt() == 0); pParameters->Set_Enabled("FITTED" , pParameter->asInt() == 1); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "SHOW_ALWAYS") ) { pParameters->Set_Enabled("SHOW_RANGE" , pParameter->asBool() == false); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "LABEL") ) { pParameters->Set_Enabled("LABEL_FONT" , pParameter->asBool()); pParameters->Set_Enabled("LABEL_SIZE" , pParameter->asBool()); pParameters->Set_Enabled("LABEL_EFFECT", pParameter->asBool()); pParameters->Set_Enabled("LABEL_EFFCOL", pParameter->asBool()); } } return( CWKSP_Base_Item::On_Parameter_Changed(pParameters, pParameter, Flags) ); }
//--------------------------------------------------------- int CChannelNetwork_Distance::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "METHOD") ) { pParameters->Get_Parameter("FIELDS")->Set_Enabled(pParameter->asInt() == 0); pParameters->Get_Parameter("PASSES")->Set_Enabled(pParameter->asInt() == 0 && pParameters->Get_Parameter("FIELDS")->asGrid() != NULL); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "FIELDS") ) { pParameters->Get_Parameter("PASSES")->Set_Enabled(pParameter->is_Enabled() && pParameter->asGrid() != NULL); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "TIME") || !SG_STR_CMP(pParameter->Get_Identifier(), "SDR") ) { bool bEnable = pParameters->Get_Parameter("TIME")->asGrid() != NULL || pParameters->Get_Parameter("SDR" )->asGrid() != NULL; pParameters->Get_Parameter("FLOW_B")->Set_Enabled(bEnable); pParameters->Get_Parameter("FLOW_K")->Set_Enabled(bEnable); pParameters->Get_Parameter("FLOW_R")->Set_Enabled(bEnable); } return( 1 ); }
//--------------------------------------------------------- int CPolygon_Dissolve::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("FIELD_1")) ) { pParameters->Get_Parameter("FIELD_2")->Set_Enabled(pParameter->asInt() >= 0); pParameters->Get_Parameter("FIELD_3")->Set_Enabled(pParameter->asInt() >= 0 && pParameters->Get_Parameter("FIELD_2")->asInt() >= 0); } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("FIELD_2")) ) { pParameters->Get_Parameter("FIELD_3")->Set_Enabled(pParameter->asInt() >= 0 && pParameters->Get_Parameter("FIELD_1")->asInt() >= 0); } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("STAT_FIELDS")) ) { pParameters->Get_Parameter("STAT_SUM")->Set_Enabled(pParameter->asInt() > 0); pParameters->Get_Parameter("STAT_AVG")->Set_Enabled(pParameter->asInt() > 0); pParameters->Get_Parameter("STAT_MIN")->Set_Enabled(pParameter->asInt() > 0); pParameters->Get_Parameter("STAT_MAX")->Set_Enabled(pParameter->asInt() > 0); pParameters->Get_Parameter("STAT_RNG")->Set_Enabled(pParameter->asInt() > 0); pParameters->Get_Parameter("STAT_DEV")->Set_Enabled(pParameter->asInt() > 0); pParameters->Get_Parameter("STAT_VAR")->Set_Enabled(pParameter->asInt() > 0); pParameters->Get_Parameter("STAT_LST")->Set_Enabled(pParameter->asInt() > 0); pParameters->Get_Parameter("STAT_NUM")->Set_Enabled(pParameter->asInt() > 0); pParameters->Get_Parameter("STAT_NAMING")->Set_Enabled(pParameter->asInt() > 0); } return( 0 ); }
//--------------------------------------------------------- int CFlow_Parallel::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "METHOD") ) { pParameters->Set_Enabled("CONVERGENCE", pParameter->asInt() == 4 || pParameter->asInt() == 5); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "LINEAR_DO") ) { pParameters->Set_Enabled("LINEAR_MIN", pParameter->asBool()); pParameters->Set_Enabled("LINEAR_VAL", pParameter->asBool()); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "WEIGHTS") ) { pParameters->Set_Enabled("NO_NEGATIVES", pParameter->asGrid() != NULL); pParameters->Set_Enabled("WEIGHT_LOSS" , pParameter->asGrid() != NULL && Parameters("NO_NEGATIVES")->asBool()); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "NO_NEGATIVES") ) { pParameters->Set_Enabled("WEIGHT_LOSS" , pParameter->asBool()); } return( CFlow::On_Parameters_Enable(pParameters, pParameter) ); }
//--------------------------------------------------------- int CWKSP_Tool_Manager::On_Parameter_Changed(CSG_Parameters *pParameters, CSG_Parameter *pParameter, int Flags) { //----------------------------------------------------- if( Flags & PARAMETER_CHECK_VALUES ) { if( g_pSAGA_Frame && g_pData ) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "LNG_OLDSTYLE") || !SG_STR_CMP(pParameter->Get_Identifier(), "LNG_FILE_DIC") || !SG_STR_CMP(pParameter->Get_Identifier(), "CRS_FILE_SRS") || !SG_STR_CMP(pParameter->Get_Identifier(), "CRS_FILE_DIC") || !SG_STR_CMP(pParameter->Get_Identifier(), "LOOK_TB_SIZE") ) { if( DLG_Message_Confirm(_TL("Restart now ?"), _TL("Restart SAGA to apply the changes")) && g_pData->Close(true) ) { m_Parameters.Assign_Values(pParameters); g_pSAGA_Frame->Close(true); } } } } //----------------------------------------------------- return( CWKSP_Base_Manager::On_Parameter_Changed(pParameters, pParameter, Flags) ); }
//--------------------------------------------------------- int CTC_Classification::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { pParameters->Set_Enabled("DEM", pParameters->Get_Parameter("SLOPE" )->asGrid() == NULL || pParameters->Get_Parameter("CONVEXITY" )->asGrid() == NULL || pParameters->Get_Parameter("TEXTURE" )->asGrid() == NULL ); if( !SG_STR_CMP(pParameter->Get_Identifier(), "CONVEXITY") ) { pParameters->Set_Enabled("CONV_RECALC", pParameter->asGrid() != NULL); } pParameters->Set_Enabled("CONV_NODE", pParameters->Get_Parameter("CONVEXITY" )->asGrid() == NULL || pParameters->Get_Parameter("CONV_RECALC")->asBool() ); if( !SG_STR_CMP(pParameter->Get_Identifier(), "TEXTURE") ) { pParameters->Set_Enabled("TEXT_RECALC" , pParameter->asGrid() != NULL); } pParameters->Set_Enabled("TEXT_NODE", pParameters->Get_Parameter("TEXTURE" )->asGrid() == NULL || pParameters->Get_Parameter("TEXT_RECALC")->asBool() ); return( CSG_Tool_Grid::On_Parameters_Enable(pParameters, pParameter) ); }
//--------------------------------------------------------- int CGrid_Classify_Supervised::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "TRAINING") ) { pParameters->Set_Enabled("FILE_LOAD", pParameter->asShapes() == NULL); pParameters->Set_Enabled("FILE_SAVE", pParameter->asShapes() != NULL); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "METHOD") ) { pParameters->Set_Enabled("THRESHOLD_DIST" , pParameter->asInt() == SG_CLASSIFY_SUPERVISED_MinimumDistance || pParameter->asInt() == SG_CLASSIFY_SUPERVISED_Mahalonobis ); pParameters->Set_Enabled("THRESHOLD_PROB" , pParameter->asInt() == SG_CLASSIFY_SUPERVISED_MaximumLikelihood); pParameters->Set_Enabled("RELATIVE_PROB" , pParameter->asInt() == SG_CLASSIFY_SUPERVISED_MaximumLikelihood); pParameters->Set_Enabled("THRESHOLD_ANGLE", pParameter->asInt() == SG_CLASSIFY_SUPERVISED_SAM ); pParameters->Set_Enabled("WTA" , pParameter->asInt() == SG_CLASSIFY_SUPERVISED_WTA ); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "GRIDS") ) { pParameters->Set_Enabled("RGB_COLORS", pParameter->asGridList()->Get_Count() >= 3); } return( CSG_Module_Grid::On_Parameters_Enable(pParameters, pParameter) ); }
//--------------------------------------------------------- int CWRF_Export::On_Parameter_Changed(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("MMINLU")) ) { if( !SG_STR_CMP(pParameter->asString(), SG_T("USGS")) ) { pParameters->Get_Parameter("DESCRIPTION")->Set_Value(SG_T("24-category USGS landuse")); } } //----------------------------------------------------- return( 1 ); }
//--------------------------------------------------------- int CWKSP_Shapes_Point::On_Parameter_Changed(CSG_Parameters *pParameters, CSG_Parameter *pParameter, int Flags) { //----------------------------------------------------- if( Flags & PARAMETER_CHECK_VALUES ) { if( !SG_STR_CMP(pParameter->Get_Identifier(), wxT("COLORS_FONT")) ) { int zField = pParameters->Get_Parameter("METRIC_ATTRIB")->asInt(); pParameters->Get_Parameter("METRIC_ZRANGE")->asRange()->Set_Range( Get_Shapes()->Get_Minimum(zField), Get_Shapes()->Get_Maximum(zField) ); } } //----------------------------------------------------- if( Flags & PARAMETER_CHECK_ENABLE ) { if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("DISPLAY_SYMBOL_TYPE")) ) { pParameters->Get_Parameter("DISPLAY_SYMBOL_IMAGE")->Set_Enabled(pParameter->asInt() == pParameter->asChoice()->Get_Count() - 1); } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("LABEL_ATTRIB")) ) { bool Value = pParameter->asInt() < Get_Shapes()->Get_Field_Count(); pParameters->Get_Parameter("LABEL_ANGLE_ATTRIB")->Set_Enabled(Value); pParameters->Get_Parameter("LABEL_ANGLE" )->Set_Enabled(Value); pParameters->Get_Parameter("LABEL_ALIGN_X" )->Set_Enabled(Value); pParameters->Get_Parameter("LABEL_ALIGN_Y" )->Set_Enabled(Value); } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("SIZE_ATTRIB")) ) { bool Value = pParameter->asInt() < Get_Shapes()->Get_Field_Count(); pParameters->Get_Parameter("SIZE_SCALE" )->Set_Enabled(Value == true); pParameters->Get_Parameter("SIZE_RANGE" )->Set_Enabled(Value == true); pParameters->Get_Parameter("SIZE_DEFAULT")->Set_Enabled(Value == false); } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("LABEL_ANGLE_ATTRIB")) ) { pParameters->Get_Parameter("LABEL_ANGLE")->Set_Enabled(pParameter->asInt() >= Get_Shapes()->Get_Field_Count()); } } return( CWKSP_Shapes::On_Parameter_Changed(pParameters, pParameter, Flags) ); }
//--------------------------------------------------------- int CDistanceMatrix::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "FORMAT") ) { pParameters->Get_Parameter("MAX_DIST")->Set_Enabled(pParameter->asInt() == 1); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "NEAR") ) { pParameters->Get_Parameter("ID_NEAR")->Set_Enabled(pParameter->asShapes() != NULL); } return( 1 ); }
//--------------------------------------------------------- int CErosion_LS_Fields::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "METHOD") ) { pParameters->Get_Parameter("DESMET_GOVERS")->Set_Enabled(pParameter->asInt() == 1); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "FIELDS") ) { pParameters->Get_Parameter("STATISTICS")->Set_Enabled(pParameter->asShapes() != NULL); } return( 1 ); }
//--------------------------------------------------------- int CImport_Clip_Resample::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "NODATA") ) { pParameters->Set_Enabled("NODATA_VAL", pParameter->asBool()); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "RESAMPLE") ) { pParameters->Set_Enabled("CELLSIZE" , pParameter->asBool()); } return( CSG_Tool::On_Parameters_Enable(pParameters, pParameter) ); }
//--------------------------------------------------------- int CCollect_Points::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "METHOD") ) { pParameters->Set_Enabled("ORDER", pParameter->asInt() == GEOREF_Polynomial); // only show for polynomial, user defined order } if( !SG_STR_CMP(pParameter->Get_Identifier(), "REF_SOURCE") ) { pParameters->Get_Parameter("REFRESH")->Set_Enabled(is_Compatible(pParameter->asShapes())); } return( 1 ); }
//--------------------------------------------------------- int CShapes_Convert_Vertex_Type::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("INPUT")) && pParameter->asShapes() != NULL ) { pParameters->Get_Parameter("FIELD_Z")->Set_Enabled(pParameters->Get_Parameter("INPUT")->asShapes()->Get_Vertex_Type() == SG_VERTEX_TYPE_XY); } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("FIELD_Z")) ) { pParameters->Get_Parameter("FIELD_M")->Set_Enabled(pParameter->asInt() >= 0); } return( 0 ); }
//--------------------------------------------------------- int CGrid_Cluster_Analysis::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "OLDVERSION") ) { pParameters->Set_Enabled("MAXITER" , pParameter->asBool() == false); pParameters->Set_Enabled("UPDATEVIEW", pParameter->asBool() == true ); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "GRIDS") ) { pParameters->Set_Enabled("RGB_COLORS", pParameter->asGridList()->Get_Count() >= 3); } return( CSG_Tool_Grid::On_Parameters_Enable(pParameters, pParameter) ); }
//--------------------------------------------------------- int CGeoref_Shapes::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "REF_TARGET") ) { pParameters->Get_Parameter("XFIELD")->Set_Enabled(pParameter->asShapes() == NULL); pParameters->Get_Parameter("YFIELD")->Set_Enabled(pParameter->asShapes() == NULL); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "METHOD") ) { pParameters->Get_Parameter("ORDER")->Set_Enabled(pParameter->asInt() == GEOREF_Polynomial); // only show for polynomial, user defined order } return( 1 ); }
//--------------------------------------------------------- int CPC_Reclass_Extract::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("METHOD")) || !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("MODE")) ) { int iMode = pParameters->Get_Parameter("MODE")->asInt(); // 0 == reclassify, 1 == extract int Value = pParameters->Get_Parameter("METHOD")->asInt(); pParameters->Get_Parameter("CREATE_ATTRIB")->Set_Enabled(iMode == 0); // single pParameters->Get_Parameter("OLD" )->Set_Enabled(Value == 0); pParameters->Get_Parameter("NEW" )->Set_Enabled(Value == 0 && iMode == 0); pParameters->Get_Parameter("SOPERATOR" )->Set_Enabled(Value == 0); // range pParameters->Get_Parameter("MIN" )->Set_Enabled(Value == 1); pParameters->Get_Parameter("MAX" )->Set_Enabled(Value == 1); pParameters->Get_Parameter("RNEW" )->Set_Enabled(Value == 1 && iMode == 0); pParameters->Get_Parameter("ROPERATOR" )->Set_Enabled(Value == 1); // simple table pParameters->Get_Parameter("RETAB" )->Set_Enabled(Value == 2); pParameters->Get_Parameter("TOPERATOR" )->Set_Enabled(Value == 2); // user supplied table pParameters->Get_Parameter("RETAB_2" )->Set_Enabled(Value == 3); //pParameters->Get_Parameter("F_MIN" )->Set_Enabled(Value == 3); //pParameters->Get_Parameter("F_MAX" )->Set_Enabled(Value == 3); //pParameters->Get_Parameter("F_CODE" )->Set_Enabled(Value == 3); // other options pParameters->Get_Parameter("NODATAOPT" )->Set_Enabled(iMode == 0); pParameters->Get_Parameter("OTHEROPT" )->Set_Enabled(iMode == 0); } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("NODATAOPT")) ) { pParameters->Get_Parameter("NODATA" )->Set_Enabled(pParameter->asInt() > 0); } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("OTHEROPT")) ) { pParameters->Get_Parameter("OTHERS" )->Set_Enabled(pParameter->asInt() > 0); } //----------------------------------------------------- return (1); }
//--------------------------------------------------------- int CShapes2Grid::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("INPUT")) ) { pParameters->Set_Enabled("LINE_TYPE", pParameter->asShapes() && pParameter->asShapes()->Get_Type() == SHAPE_TYPE_Line); pParameters->Set_Enabled("POLY_TYPE", pParameter->asShapes() && pParameter->asShapes()->Get_Type() == SHAPE_TYPE_Polygon); } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("OUTPUT")) ) { pParameters->Set_Enabled("FIELD" , pParameter->asInt() == 2); pParameters->Set_Enabled("MULTIPLE" , pParameter->asInt() == 2); } return( m_Grid_Target.On_Parameters_Enable(pParameters, pParameter) ? 1 : 0 ); }
//--------------------------------------------------------- int CKernel_Density::On_Parameter_Changed(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( (!SG_STR_CMP(pParameter->Get_Identifier(), "POINTS") || !SG_STR_CMP(pParameter->Get_Identifier(), "RADIUS")) && pParameters->Get_Parameter("POINTS")->asShapes() ) { CSG_Rect Extent(pParameters->Get_Parameter("POINTS")->asShapes()->Get_Extent()); Extent.Inflate(pParameters->Get_Parameter("RADIUS")->asDouble(), false); m_Grid_Target.Set_User_Defined(pParameters, Extent); } m_Grid_Target.On_Parameter_Changed(pParameters, pParameter); return( CSG_Tool::On_Parameter_Changed(pParameters, pParameter) ); }
//--------------------------------------------------------- int CDecision_Tree::On_Parameter_Changed(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( CSG_String(pParameter->Get_Identifier()).Find(SG_T("NODE")) >= 0 ) { CSG_String ID = CSG_String(pParameter->Get_Identifier()).BeforeFirst(SG_T('|')); if( pParameter->asBool() ) { CSG_Parameters *pDecision = pParameters->Get_Parameter(ID)->asParameters(); pDecision->Set_Name(CSG_String::Format(SG_T("%s|%s"), pParameters->Get_Name().c_str(), pParameters->Get_Parameter(ID + SG_T("|NAME"))->asString())); Add_Decision(pDecision); } else { pParameters->Get_Parameter(ID)->asParameters()->Del_Parameters(); } } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("GRID")) ) { if( pParameter->asGrid() ) { pParameters->Get_Parameter("THRESHOLD")->Set_Value(pParameter->asGrid()->Get_ArithMean()); } } return( 0 ); }
//--------------------------------------------------------- int CGraticuleBuilder::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "TYPE") ) { pParameters->Set_Enabled("GRATICULE_LINE", pParameter->asInt() == 0); pParameters->Set_Enabled("GRATICULE_RECT", pParameter->asInt() != 0); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "EXTENT") ) { pParameters->Set_Enabled("EXTENT_X", pParameter->asShapes() == NULL); pParameters->Set_Enabled("EXTENT_Y", pParameter->asShapes() == NULL); } return( CSG_Tool::On_Parameters_Enable(pParameters, pParameter) ); }
//--------------------------------------------------------- int CWMS_Import::On_Parameter_Changed(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "SERVER") ) { CWMS_Capabilities Capabilities; if( Capabilities.Create(pParameter->asString(), "1.1.1") ) { pParameters->Set_Parameter("ABSTRACT", Capabilities.m_Abstract ); pParameters->Set_Parameter("GCS_XMIN", Capabilities.m_Extent.xMin); pParameters->Set_Parameter("GCS_XMAX", Capabilities.m_Extent.xMax); pParameters->Set_Parameter("GCS_YMIN", Capabilities.m_Extent.yMin); pParameters->Set_Parameter("GCS_YMAX", Capabilities.m_Extent.yMax); CSG_String Items; for(int i=0; i<Capabilities.m_Layers_Title.Get_Count(); i++) { Items += Capabilities.m_Layers_Title[i] + "|"; } pParameters->Get_Parameter("LAYER")->asChoice()->Set_Items(Items); } } return( CSG_Module::On_Parameter_Changed(pParameters, pParameter) ); }
//--------------------------------------------------------- int COpenCV_NNet::On_Parameter_Changed(CSG_Parameters *p_Parameters, CSG_Parameter *p_Parameter) { if(!SG_STR_CMP(p_Parameter->Get_Identifier(), SG_T("TRAIN_INPUT_TABLE")) ) { CSG_Table* t_TrainInput = p_Parameter->asTable(); CSG_Parameters* p_TrainFeatures = p_Parameters->Get_Parameter("TRAIN_FEATURES_TABLE")->asParameters(); p_TrainFeatures->Del_Parameters(); if (t_TrainInput && t_TrainInput->Get_Field_Count() > 0) { int i_fieldCount = t_TrainInput->Get_Field_Count(); for (int i = 0; i < i_fieldCount; i++) { if( SG_Data_Type_is_Numeric(t_TrainInput->Get_Field_Type(i)) ) { // Add a bool choice for every numeric field to mark it as an possible output feature p_TrainFeatures->Add_Value(NULL, CSG_String::Format(SG_T("%d_FEATURE"), i), t_TrainInput->Get_Field_Name(i), _TL(""), PARAMETER_TYPE_Bool, false); } } } } //----------------------------------------------------- return( 1 ); }
//--------------------------------------------------------- int CGrid_Class_Statistics_For_Polygons::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "GRID_VALUES") ) { pParameters->Set_Enabled("GRID_LUT", pParameter->asInt() == 1); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "GRID_LUT") ) { pParameters->Set_Enabled("GRID_LUT_MIN", pParameter->asTable() != NULL); pParameters->Set_Enabled("GRID_LUT_MAX", pParameter->asTable() != NULL); pParameters->Set_Enabled("GRID_LUT_NAM", pParameter->asTable() != NULL); } return( CSG_Tool_Grid::On_Parameters_Enable(pParameters, pParameter) ); }
//--------------------------------------------------------- int CGW_Regression_Grid::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("SEARCH_RANGE")) ) { pParameters->Get_Parameter("SEARCH_RADIUS" )->Set_Enabled(pParameter->asInt() == 0); // local } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("SEARCH_POINTS_ALL")) ) { pParameters->Get_Parameter("SEARCH_POINTS_MAX")->Set_Enabled(pParameter->asInt() == 0); // maximum number of points pParameters->Get_Parameter("SEARCH_DIRECTION" )->Set_Enabled(pParameter->asInt() == 0); // maximum number of points per quadrant } m_Weighting.Enable_Parameters(pParameters); return( 1 ); }
//--------------------------------------------------------- int CGrid_Tiling::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("METHOD")) ) { pParameters->Get_Parameter("NODE_A" )->Set_Enabled( pParameter->asInt() == 0 ); pParameters->Get_Parameter("NODE_B" )->Set_Enabled( pParameter->asInt() == 1 ); } if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("SAVE_TILES")) ) { pParameters->Get_Parameter("TILE_BASENAME" )->Set_Enabled( pParameter->asBool() ); pParameters->Get_Parameter("TILE_PATH" )->Set_Enabled( pParameter->asBool() ); } //----------------------------------------------------- return( 1 ); }
//--------------------------------------------------------- int CLandsat_Import::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "FILES") ) { CSG_Strings Files; pParameter->asFilePath()->Get_FilePaths(Files); if( Files.Get_Count() < 3 ) { pParameters->Set_Enabled("SHOW_RGB", false); } else { pParameters->Set_Enabled("SHOW_RGB", true); CSG_String Choices; for(int i=0; i<Files.Get_Count(); i++) { Choices += SG_File_Get_Name(Files[i], false) + "|"; } int iR = pParameters->Get_Parameter("SHOW_R")->asChoice()->Get_Count() > 1 ? pParameters->Get_Parameter("SHOW_R")->asInt() : 2; int iG = pParameters->Get_Parameter("SHOW_G")->asChoice()->Get_Count() > 1 ? pParameters->Get_Parameter("SHOW_G")->asInt() : 1; int iB = pParameters->Get_Parameter("SHOW_B")->asChoice()->Get_Count() > 1 ? pParameters->Get_Parameter("SHOW_B")->asInt() : 0; pParameters->Get_Parameter("SHOW_R")->asChoice()->Set_Items(Choices); pParameters->Get_Parameter("SHOW_R")->Set_Value(iR); pParameters->Get_Parameter("SHOW_G")->asChoice()->Set_Items(Choices); pParameters->Get_Parameter("SHOW_G")->Set_Value(iG); pParameters->Get_Parameter("SHOW_B")->asChoice()->Set_Items(Choices); pParameters->Get_Parameter("SHOW_B")->Set_Value(iB); } } if( !SG_STR_CMP(pParameter->Get_Identifier(), "PROJECTION") ) { pParameters->Set_Enabled("INTERPOLATION", pParameter->asInt() == 2); } if( !SG_STR_CMP(pParameter->Get_Identifier(), "SHOW_RGB") ) { pParameters->Set_Enabled("SHOW_R", pParameter->asBool()); pParameters->Set_Enabled("SHOW_G", pParameter->asBool()); pParameters->Set_Enabled("SHOW_B", pParameter->asBool()); } return( 1 ); }
//--------------------------------------------------------- int CJoin_Tables_Base::On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), SG_T("FIELDS_ALL")) ) { pParameters->Get_Parameter("FIELDS")->Set_Enabled(pParameter->asBool() == false); } return( 1 ); }
//--------------------------------------------------------- int CSG_mRMR::Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter) { if( !SG_STR_CMP(pParameter->Get_Identifier(), "mRMR_DISCRETIZE") ) { pParameters->Set_Enabled("mRMR_THRESHOLD", pParameter->asBool()); } return( 1 ); }