1: <?php
 2: 
 3: /**
 4:  * This file is part of the Nette Framework (https://nette.org)
 5:  *
 6:  * Copyright (c) 2004 David Grudl (http://davidgrudl.com)
 7:  *
 8:  * For the full copyright and license information, please view
 9:  * the file license.txt that was distributed with this source code.
10:  */
11: 
12: namespace Nette\Forms;
13: 
14: use Nette;
15: 
16: 
17: 
18: /**
19:  * Check box control. Allows the user to select a true or false condition.
20:  *
21:  * @author     David Grudl
22:  */
23: class Checkbox extends FormControl
24: {
25: 
26:     /**
27:      * @param  string  label
28:      */
29:     public function __construct($label = NULL)
30:     {
31:         parent::__construct($label);
32:         $this->control->type = 'checkbox';
33:         $this->value = FALSE;
34:     }
35: 
36: 
37: 
38:     /**
39:      * Sets control's value.
40:      * @param  bool
41:      * @return Checkbox  provides a fluent interface
42:      */
43:     public function setValue($value)
44:     {
45:         $this->value = is_scalar($value) ? (bool) $value : FALSE;
46:         return $this;
47:     }
48: 
49: 
50: 
51:     /**
52:      * Generates control's HTML element.
53:      * @return Nette\Web\Html
54:      */
55:     public function getControl()
56:     {
57:         return parent::getControl()->checked($this->value);
58:     }
59: 
60: }
61: