MIOLO20
Carregando...
Procurando...
Nenhuma entrada encontrada
moptionlist.class
Ir para a documentação deste ficheiro.
1<?php
2
4{
5 public $type;
6 public $control;
7
8
9 public function __construct( $type, $control, $cssClass )
10 {
11 $this->type = $type;
12 $this->control = $control;
13 $this->setClass($cssClass);
14 }
15
16
17 public function generateMenu()
18 {
19 return new Div( '', $this->control, $this->getClass() );
20 }
21
22
23 public function generateLink()
24 {
25 $this->control->setClass( $this->getClass() );
26
27 return $this->control->generate();
28 }
29
30
31 public function generateOption()
32 {
33 $this->control->setClass( $this->getClass() );
34
35 return $this->control->generate();
36 }
37
38
39 public function generateText()
40 {
41 $this->control->setClass( $this->getClass() );
42
43 return $this->control;
44 }
45
46
47 public function generateSeparator()
48 {
49 return $this->control->generate();
50 }
51
52
53 public function generate()
54 {
55 $method = 'Generate' . ucfirst( $this->type );
56
57 return $this->$method();
58 }
59}
60
61
62class MOptionList extends MControl
63{
64 protected $options;
65 protected $cssClassItem;
66
67
68 public function __construct($name = '')
69 {
70 parent::__construct($name);
71
72 $this->addStyleFile('m_themeelement.css');
73 $this->options = array ( );
74
75 $this->cssClassItem['link'] = 'm-menu-link';
76 $this->cssClassItem['option'] = 'm-menu-link';
77 $this->cssClassItem['menuTitle'] = 'm-submenu-title';
78 $this->cssClassItem['menuText'] = 'm-submenu-text';
79 $this->cssClassItem['menu'] = 'm-submenu-box';
80 $this->cssClassItem['text'] = 'm-submenu-text';
81 }
82
83
84 public function setCssClassItem( $type, $class )
85 {
86 $this->cssClassItem[$type] = $class;
87 }
88
89
90 public function getOptions()
91 {
92 return $this->options;
93 }
94
95
96 public function addItem( $type, $control )
97 {
98 $this->options[] = new MOptionListItem( $type, $control, $this->cssClassItem[$type] );
99 }
100
101
102 public function addLink( $label, $link = '#', $target = '_self' )
103 {
104 $control = new MLink( NULL, $label, $link, '', $target );
105 $this->addItem( 'link', $control );
106 }
107
108
109 public function addHyperLink( $hyperlink )
110 {
111 $this->addItem( 'link', $hyperlink );
112 }
113
114
115 public function addLinkButton( $linkbutton )
116 {
117 $this->addItem( 'link', $linkbutton );
118 }
119
120
121 public function addOption( $label, $module = 'main', $action = '', $item = null, $args = null )
122 {
123 $control = new MLink( NULL, $label );
124 $control->setAction( $module, $action, $item, $args );
125 $this->addItem( 'option', $control );
126 }
127
128
129 public function addUserOption( $transaction, $access, $label, $module = 'main', $action = '', $item = '', $args = null )
130 {
131 if ( $this->manager->perms->checkAccess( $transaction, $access ) )
132 {
133 $this->addOption($label, $module, $action, $item, $args);
134 }
135 }
136
137 public function addGroupOption( $transaction, $access, $label, $module = 'main', $action = '', $item = '', $args = null )
138 {
139 if ( $this->manager->perms->checkAccess( $transaction, $access, false, true ) )
140 {
141 $this->addOption($label, $module, $action, $item, $args);
142 }
143 }
144
145
146 public function addText($text = '')
147 {
148 $control = new MLabel($text);
149
150 $this->addItem( 'text', $control, 'submenuText' );
151 }
152
153
154 public function addSeparator($name = null)
155 {
156 $this->addItem( 'separator', new MSeparator() );
157 }
158
159
160 public function addMenu( $menu )
161 {
162 $this->addItem( 'menu', $menu );
163 }
164
165
166 public function addUserMenu( $transaction, $access, &$menu )
167 {
168 if ( $this->manager->checkAccess( $transaction, $access) )
169 {
170 $this->addMenu($menu);
171 }
172 }
173
174
175 public function addControl( $control )
176 {
177 $this->addItem( 'control', $control );
178 }
179
180
181 public function clear()
182 {
183 $this->options = array ( );
184 }
185
186
187 public function hasOptions()
188 {
189 return ( count($this->options) > 0 );
190 }
191
192
193 public function generateUnorderedList()
194 {
195 $ul = new MUnorderedList();
196
197 if ($this->hasOptions())
198 {
199 foreach ( $this->options as $o )
200 {
201 $ul->addOption( $o->generate() );
202 }
203 }
204
205 return $ul;
206 }
207}
208
209?>
setClass( $cssClass, $add=true)
Definição mcontrol.class:398
addStyleFile( $styleFile)
Definição mcontrol.class:412
__construct( $type, $control, $cssClass)
addOption( $label, $module='main', $action='', $item=null, $args=null)
addLink( $label, $link='#', $target='_self')
addLinkButton( $linkbutton)
__construct($name='')
setCssClassItem( $type, $class)
addItem( $type, $control)
addHyperLink( $hyperlink)
addUserMenu( $transaction, $access, &$menu)
addUserOption( $transaction, $access, $label, $module='main', $action='', $item='', $args=null)
addControl( $control)
addText($text='')
addMenu( $menu)
addSeparator($name=null)
addGroupOption( $transaction, $access, $label, $module='main', $action='', $item='', $args=null)
$action
Definição base.php:4