/** * Refresh this MetaControl with Data from the local <%= $objTable->ClassName %> object. * @param boolean $blnReload reload <%= $objTable->ClassName %> from the database * @return void */ public function Refresh($blnReload = false) { if ($blnReload) $this-><%= $objCodeGen->VariableNameFromTable($objTable->Name); %>->Reload(); <% foreach ($objTable->ColumnArray as $objColumn) { %><% // Use the "control_refresh_" subtemplates to generate the code // required to create/setup the control. $mixArguments = array( 'objColumn' => $objColumn, 'strObjectName' => $objCodeGen->VariableNameFromTable($objTable->Name), 'strClassName' => $objTable->ClassName, 'strControlId' => $objCodeGen->FormControlVariableNameForColumn($objColumn), 'strLabelId' => $objCodeGen->FormLabelVariableNameForColumn($objColumn) ); // Figure out WHICH "control_refresh_" to use if ($objColumn->Identity) { $strTemplateFilename = 'identity'; } else if ($objColumn->Timestamp) { $strTemplateFilename = 'identity'; } else if ($objColumn->Reference) { if ($objColumn->Reference->IsType) $strTemplateFilename = 'type'; else $strTemplateFilename = 'reference'; } else { $strTemplateFilename = $objColumn->VariableType; } // Get the subtemplate and evaluate return $objCodeGen->EvaluateSubTemplate(sprintf('control_refresh_%s.tpl', $strTemplateFilename), $strModuleName, $mixArguments) . "\n\n"; %><% } %> <% foreach ($objTable->ReverseReferenceArray as $objReverseReference) { %><% if ($objReverseReference->Unique) { // Use the "control_refresh_" subtemplates to generate the code // required to create/setup the control. $mixArguments = array( 'objReverseReference' => $objReverseReference, 'objTable' => $objTable, 'strObjectName' => $objCodeGen->VariableNameFromTable($objTable->Name), 'strClassName' => $objTable->ClassName, 'strControlId' => $objCodeGen->FormControlVariableNameForUniqueReverseReference($objReverseReference), 'strLabelId' => $objCodeGen->FormLabelVariableNameForUniqueReverseReference($objReverseReference) ); // Get the subtemplate and evaluate return $objCodeGen->EvaluateSubTemplate('control_refresh_unique_reversereference.tpl', $strModuleName, $mixArguments) . "\n\n"; } else return null; %><% } %> <% foreach ($objTable->ManyToManyReferenceArray as $objManyToManyReference) { %><% // Use the "control_refresh_manytomany_reference" subtemplate to generate the code // required to create/setup the control. $mixArguments = array( 'objManyToManyReference' => $objManyToManyReference, 'objTable' => $objTable, 'strObjectName' => $objCodeGen->VariableNameFromTable($objTable->Name), 'strClassName' => $objTable->ClassName, 'strControlId' => $objCodeGen->FormControlVariableNameForManyToManyReference($objManyToManyReference), 'strLabelId' => $objCodeGen->FormLabelVariableNameForManyToManyReference($objManyToManyReference) ); // Get the subtemplate and evaluate return $objCodeGen->EvaluateSubTemplate('control_refresh_manytomany_reference.tpl', $strModuleName, $mixArguments) . "\n\n"; %><% } %> }