
01-29-2015, 05:21 PM
|
 |
Premium Member
|
|
Join Date: Jan 2014
Posts: 857
Gender: Unknown/Other
Credits: 126,895
|
|
Try what I did, not what you did (in the AdminCP).
This:
Code:
$this->division = new Division($component);
Not:
Code:
$this->division = new Division(GUIComponent $component);
It doesn't need to be declared there. Above that it does, but not in the function itself.
And here is my entire class_dropdownlist.php:
PHP Code:
<?php use Resource\Native\String; use Resource\Collection\Collective; use Resource\Collection\LinkedList; use Resource\Collection\LinkedHashMap;
/** * The DropdownList Class, extends from abstract GUIContainer class. * It specifies a standard single-item dropdown list. * @category Resource * @package GUI * @author Hall of Famer * @copyright Mysidia Adoptables Script * @link http://www.mysidiaadoptables.com * @since 1.3.3 * @todo Not much at this point. * */
class DropdownList extends GUIContainer{ /** * The autofocus property, checks if the input component is autofocused. * @access protected * @var Boolean */ protected $autofocus = FALSE; /** * The disabled property, checks if the input component is disabled. * @access protected * @var Boolean */ protected $disabled = FALSE; /** * Constructor of SelectList Class, which assigns basic property to this list * @param String $name * @param ArrayList $components * @param String $identity * @param Event $event * @access public * @return Void */ public function __construct($name = "", $components = "", $identity = "", $event = ""){ if(!empty($name)){ $this->setName($name); $this->setID($name); } if(!empty($identity)) $this->select($identity); if(!empty($event)) $this->setEvent($event); parent::__construct($components); $this->renderer = new ListRenderer($this); } /** * The isAutofocus method, getter method for property $autofocus. * @access public * @return Boolean */ public function isAutofocus(){ return $this->autofocus; }
/** * The setAutofocus method, setter method for property $autofocus. * @param Boolean $autofocus * @access public * @return Void */ public function setAutofocus($autofocus = TRUE){ $this->autofocus = $autofocus; $this->setAttributes("Autofocus"); } /** * The isDisabled method, getter method for property $disabled. * @access public * @return Boolean */ public function isDisabled(){ return $this->disabled; }
/** * The setDisabled method, setter method for property $disabled. * @param Boolean $disabled * @access public * @return Void */ public function setDisabled($disabled = TRUE){ $this->disabled = $disabled; $this->setAttributes("Disabled"); }
/** * The add method, sets an Option Object to a specific index. * @param Option|OptGroup $option * @param int $index * @access public * @return Void */ public function add(GUIComponent $option, $index = -1){ if(!($option instanceof Option) and !($option instanceof OptGroup)) throw new GUIException("Cannot add a non-option type component to dropdown list."); parent::add($option, $index); } /** * The select method, determines which option in this list should be set selected. * @param String $identity * @access public * @return Void */ public function select($identity){ foreach($this->components as $components){ if($components->getValue() == $identity) $components->setSelected(TRUE); } } /** * The fill method, fill in this dropdownlist with options from database starting at a given index. * To use it, you need PDO or MySQLi to fetch all rows with one or two properties to serve as collection list or map. * @param Collective $collection * @param String $identity * @param Int $index * @access public * @return Void */ public function fill(Collective $collection, $identity = "", $index = -1){ if($index != -1) $this->currentIndex = $index; if($collection instanceof LinkedList) $this->fillList($collection, $identity, $index); elseif($collection instanceof LinkedHashMap) $this->fillMap($collection, $identity, $index); else throw new GUIException("Cannot fill option objects inside this dropdownlist"); }
/** * The fillList method, fill in this dropdownlist with elements from a LinkedList. * @param LinkedList $list * @param String $identity * @param Int $index * @access protected * @return Void */ protected function fillList(LinkedList $list, $identity = "", $index = -1){ $iterator = $list->iterator(); while($iterator->hasNext()){ $field = (string)$iterator->next(); $option = new Option($field, $field); if($option->getValue() == $identity) $option->setSelected(TRUE); $this->add($option, $index); if($index != -1) $index++; } }
/** * The fillList method, fill in this dropdownlist with entries from a LinkedHashMap. * @param LinkedHashMap $map * @param String $identity * @param Int $index * @access protected * @return Void */ protected function fillMap(LinkedHashMap $map, $identity = "", $index = -1){ $iterator = $map->iterator(); while($iterator->hasNext()){ $field = $iterator->next(); $option = new Option((string)$field->getKey(), (string)$field->getValue()); if($option->getValue() == $identity) $option->setSelected(TRUE); $this->add($option, $index); if($index != -1) $index++; } }
/** * Magic method __toString for DropdownList class, it reveals that the object is a dropdown list. * @access public * @return String */ public function __toString(){ return new String("This is an instance of Mysidia DropDownList class."); } } ?>
Let me know how that goes.
__________________
Please do not contact me directly outside of Mysidia.
I also cannot troubleshoot code more than two years old - I legit don't remember it.
|