<?php
/**
* Entier Studio
*
* LICENSE
*
* Copyright 2006 Entier Studio team.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* @package entier.studio
* @copyright Copyright (c) 2006 Entier Studio team. All rights reserved.
* @version $Id: html.DictionaryPropertyRuleTypeSetDDL.php 85 2008-01-21 20:43:08Z yannromefort $
*/
//-----------------------------------------------------------------------------
// namespace
if (!defined("DefDictionaryPropertyRuleTypeSetDDL")) {
//-------------------------------------------------------------------------
// Define
define("DefDictionaryPropertyRuleTypeSetDDL", "1");
//-------------------------------------------------------------------------
// Include
@require_once (FRAMEWORK_DIR . "htmldropdownlist.php");
@include_once (COMPONENTS_DATA . "data.ApplicationCodificationSet.php");
//-------------------------------------------------------------------------
// Class
class DictionaryPropertyRuleTypeSetDDL extends HTMLDropdownList {
//---------------------------------------------------------------------
// Attributes
/**
*
* @var array
* @see
*/
var $m_ElemType = 0;
//---------------------------------------------------------------------
// Constructor
/**
*
*/
function DictionaryPropertyRuleTypeSetDDL($layout, $class, $default = true) {
//
$this->m_layoutName = $layout;
$this->m_className = $class;
$this->m_defaultItem = $default;
}
//---------------------------------------------------------------------
// Methods
/**
*
* @access public
*
* @param object DataSource object
* @param object DataObject object
* @param integer selected item value
* @return string
*/
function renderObject(&$datasource, &$dataobject, $value = 0) {
//
$format1 = "<option value=\"%s\" selected>%s</option>";
$format2 = "<option value=\"%s\">%s</option>";
//
$name = $this->m_layoutName;
$class = $this->m_className;
$default = $this->m_defaultItem;
//
if ($class != "") $template = "<select onchange=\"DisplayProps(this.value )\" id=\"$name\" name=\"$name\" class=\"$class\">";
else $template = "<select onchange=\"DisplayProps(this.value )\" id=\"$name\" name=\"$name\">";
//
if ($default == true) {
if (empty($value)) $template.= "<option value=0 selected></option>";
else $template.= "<option value=0></option>";
}
//
if ($dataobject->set_cursor_value($datasource, 0) == false) return (false);
//
$primaryKey = $dataobject->m_indexSet[PRIMARYKEY];
$naturalKey = $dataobject->m_indexSet[NATURALKEY];
//
for ($i = 0;$i < $dataobject->rowCount();$i++) {
//
if ($dataobject->fetchCursorRow($datasource) == false) return (false);
//
$pkid = $dataobject->get_field_value($primaryKey);
$name = $dataobject->get_field_value($naturalKey);
if ($pkid == $value) $template.= @sprintf($format1, $pkid, $name);
else $template.= @sprintf($format2, $pkid, $name);
}
//
return ($template . "</select>");
}
};
// Class
//-----------------------------------------------------------------------------
}
// namespace
//--------------------------------------------------------------------------
?>