(gui, object, property, params)
| 2292 | ); |
| 2293 | |
| 2294 | function add(gui, object, property, params) { |
| 2295 | |
| 2296 | if (object[property] === undefined) { |
| 2297 | throw new Error("Object " + object + " has no property \"" + property + "\""); |
| 2298 | } |
| 2299 | |
| 2300 | var controller; |
| 2301 | |
| 2302 | if (params.color) { |
| 2303 | |
| 2304 | controller = new ColorController(object, property); |
| 2305 | |
| 2306 | } else { |
| 2307 | |
| 2308 | var factoryArgs = [object,property].concat(params.factoryArgs); |
| 2309 | controller = controllerFactory.apply(gui, factoryArgs); |
| 2310 | |
| 2311 | } |
| 2312 | |
| 2313 | if (params.before instanceof Controller) { |
| 2314 | params.before = params.before.__li; |
| 2315 | } |
| 2316 | |
| 2317 | recallSavedValue(gui, controller); |
| 2318 | |
| 2319 | dom.addClass(controller.domElement, 'c'); |
| 2320 | |
| 2321 | var name = document.createElement('span'); |
| 2322 | dom.addClass(name, 'property-name'); |
| 2323 | name.innerHTML = controller.property; |
| 2324 | |
| 2325 | var container = document.createElement('div'); |
| 2326 | container.appendChild(name); |
| 2327 | container.appendChild(controller.domElement); |
| 2328 | |
| 2329 | var li = addRow(gui, container, params.before); |
| 2330 | |
| 2331 | dom.addClass(li, GUI.CLASS_CONTROLLER_ROW); |
| 2332 | dom.addClass(li, typeof controller.getValue()); |
| 2333 | |
| 2334 | augmentController(gui, li, controller); |
| 2335 | |
| 2336 | gui.__controllers.push(controller); |
| 2337 | |
| 2338 | return controller; |
| 2339 | |
| 2340 | } |
| 2341 | |
| 2342 | /** |
| 2343 | * Add a row to the end of the GUI or before another row. |
no test coverage detected