diff options
Diffstat (limited to 'js/panels/Components')
5 files changed, 265 insertions, 0 deletions
diff --git a/js/panels/Components/Components.xml b/js/panels/Components/Components.xml new file mode 100644 index 00000000..b3056330 --- /dev/null +++ b/js/panels/Components/Components.xml | |||
@@ -0,0 +1,28 @@ | |||
1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
2 | <tree id="Components"> | ||
3 | <folder id="montageComponents" label="Montage Components"> | ||
4 | <leaf id="Button" label="Button" /> | ||
5 | <leaf id="Checkbox" label="Checkbox" /> | ||
6 | <leaf id="DynamicText" label="Dynamic Text" /> | ||
7 | <leaf id="FlowController" label="FlowController" /> | ||
8 | <leaf id="HotText" label="HotText" /> | ||
9 | <leaf id="HotTextUnit" label="HotTextUnit" /> | ||
10 | <leaf id="ImageContainer" label="Image Container" /> | ||
11 | <leaf id="Progress" label="Progress" /> | ||
12 | <leaf id="Scrollview" label="Scrollview" /> | ||
13 | <leaf id="Slider" label="Slider" /> | ||
14 | <leaf id="TextArea" label="TextArea" /> | ||
15 | <leaf id="Textfield" label="Textfield" /> | ||
16 | <leaf id="Toggle" label="Toggle" /> | ||
17 | </folder> | ||
18 | <folder id="metaComponents" label="Meta Components"> | ||
19 | <leaf id="Condition" label="Condition" /> | ||
20 | <leaf id="Repetition" label="Repetition" /> | ||
21 | <leaf id="Slot" label="Slot" /> | ||
22 | <leaf id="Substitution" label="Substitution" /> | ||
23 | </folder> | ||
24 | <folder id="htmlPresets" label="HTML Components"> | ||
25 | <leaf id="html_button" label="Button" /> | ||
26 | <leaf id="html_input" label="Text Input" /> | ||
27 | </folder> | ||
28 | </tree> \ No newline at end of file | ||
diff --git a/js/panels/Components/ComponentsPanel.js b/js/panels/Components/ComponentsPanel.js new file mode 100644 index 00000000..df1d74bb --- /dev/null +++ b/js/panels/Components/ComponentsPanel.js | |||
@@ -0,0 +1,47 @@ | |||
1 | /* <copyright> | ||
2 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | ||
3 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | ||
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | ||
5 | </copyright> */ | ||
6 | |||
7 | var Montage = require("montage/core/core").Montage; | ||
8 | |||
9 | var PanelBase = require("js/panels/PanelBase").PanelBase; | ||
10 | var ComponentsPanelBase = require("js/panels/Components/ComponentsPanelBase.reel").ComponentsPanelBase; | ||
11 | |||
12 | exports.ComponentsPanel = Montage.create(PanelBase, { | ||
13 | id : {value : "componentsPanel", writable:true, enumerable:true, configurable:true}, | ||
14 | panelName : {value : "Components", writable:true, enumerable:true, configurable:true}, | ||
15 | panelHeaderID : {value : "componentsPanelHeader", writable:true, enumerable:true, configurable:true}, | ||
16 | disclosureIconID : {value : "componentsPanelDisclosureIcon", writable:true, enumerable:true, configurable:true}, | ||
17 | closeButtonID : {value : "componentsPanelCloseButton", writable:true, enumerable:true, configurable:true}, | ||
18 | panelContentID : {value : "componentsPanelContent", writable:true, enumerable:true, configurable:true}, | ||
19 | |||
20 | init : { | ||
21 | value : function() | ||
22 | { | ||
23 | this.contentHeight = 200; | ||
24 | this.minHeight = 100; | ||
25 | this.defaultHeight = 200; | ||
26 | |||
27 | /* OLD WAY -- Removing the temporary div | ||
28 | // TODO: Remove this comment once this is tested. | ||
29 | var panelContainer = document.createElement("div"); | ||
30 | this._componentsPanelBase = ComponentsPanelBase.create(); | ||
31 | this._componentsPanelBase.element = panelContainer; | ||
32 | |||
33 | this.content = this._componentsPanelBase; | ||
34 | this._componentsPanelBase.needsDraw = true; | ||
35 | */ | ||
36 | |||
37 | this.content = ComponentsPanelBase.create(); | ||
38 | } | ||
39 | }, | ||
40 | |||
41 | _componentsPanelBase:{ | ||
42 | enumerable: true, | ||
43 | value: null, | ||
44 | writable:true | ||
45 | } | ||
46 | |||
47 | }); \ No newline at end of file | ||
diff --git a/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.css b/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.css new file mode 100644 index 00000000..ac250c83 --- /dev/null +++ b/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.css | |||
@@ -0,0 +1,11 @@ | |||
1 | /* <copyright> | ||
2 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | ||
3 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | ||
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | ||
5 | </copyright> */ | ||
6 | |||
7 | .treeHolder{ | ||
8 | width: 227px; | ||
9 | background: red; | ||
10 | padding-left: 13px; | ||
11 | } | ||
diff --git a/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.html b/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.html new file mode 100644 index 00000000..df104ecc --- /dev/null +++ b/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.html | |||
@@ -0,0 +1,34 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <!-- <copyright> | ||
3 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | ||
4 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | ||
5 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | ||
6 | </copyright> --> | ||
7 | <html lang="en"> | ||
8 | <head> | ||
9 | <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | ||
10 | <link rel="stylesheet" type="text/css" href="ComponentsPanelBase.css"> | ||
11 | |||
12 | <script type="text/montage-serialization"> | ||
13 | { | ||
14 | "owner": { | ||
15 | "module": "js/panels/Components/ComponentsPanelBase.reel", | ||
16 | "name": "ComponentsPanelBase", | ||
17 | "properties": { | ||
18 | "element": {"#": "components_panel"} | ||
19 | } | ||
20 | } | ||
21 | } | ||
22 | </script> | ||
23 | |||
24 | </head> | ||
25 | <body> | ||
26 | |||
27 | <div id="components_panel" class="components_panel"> | ||
28 | <div class="treeHolder"> | ||
29 | <ul id="comp_tree"></ul> | ||
30 | </div> | ||
31 | </div> | ||
32 | |||
33 | </body> | ||
34 | </html> \ No newline at end of file | ||
diff --git a/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js b/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js new file mode 100644 index 00000000..41afefa5 --- /dev/null +++ b/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js | |||
@@ -0,0 +1,145 @@ | |||
1 | /* <copyright> | ||
2 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | ||
3 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | ||
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | ||
5 | </copyright> */ | ||
6 | |||
7 | var Montage = require("montage/core/core").Montage, | ||
8 | Component = require("montage/ui/component").Component, | ||
9 | NJUtils = require("js/lib/NJUtils").NJUtils; | ||
10 | |||
11 | var treeControlModule = require("js/components/tree.reel"); | ||
12 | |||
13 | var ComponentsPanelBase = exports.ComponentsPanelBase = Montage.create(Component, { | ||
14 | _hasFocus: { | ||
15 | enumerable: false, | ||
16 | value: false | ||
17 | }, | ||
18 | prepareForDraw: { | ||
19 | enumerable: false, | ||
20 | value: function() { | ||
21 | var treeHolderDiv = document.getElementById("comp_tree"); | ||
22 | var componentsTree = treeControlModule.Tree.create(); | ||
23 | componentsTree.element = treeHolderDiv; | ||
24 | componentsTree.dataProvider = this._loadXMLDoc("js/panels/Components/Components.xml"); | ||
25 | componentsTree.needsDraw = true; | ||
26 | |||
27 | this.eventManager.addEventListener( "executeAddComponent", this, false); | ||
28 | } | ||
29 | }, | ||
30 | willDraw: { | ||
31 | enumerable: false, | ||
32 | value: function() { | ||
33 | |||
34 | } | ||
35 | }, | ||
36 | draw: { | ||
37 | enumerable: false, | ||
38 | value: function() { | ||
39 | |||
40 | } | ||
41 | }, | ||
42 | |||
43 | _loadXMLDoc: { | ||
44 | value:function(dname) { | ||
45 | if (window.XMLHttpRequest) { | ||
46 | xhttp = new XMLHttpRequest(); | ||
47 | } | ||
48 | xhttp.open("GET", dname, false); | ||
49 | xhttp.send(); | ||
50 | return xhttp.responseXML; | ||
51 | } | ||
52 | }, | ||
53 | |||
54 | handleExecuteAddComponent: { | ||
55 | value: function(evt) { | ||
56 | this.addComponentToStage(evt.detail.component, evt.detail.dropX, evt.detail.dropY) | ||
57 | } | ||
58 | }, | ||
59 | |||
60 | addComponentToStage:{ | ||
61 | value:function(componentType, dropX, dropY){ | ||
62 | var compW = 100, | ||
63 | compH = 100, | ||
64 | elementType = "div", | ||
65 | componentContainer, | ||
66 | componentElement; | ||
67 | |||
68 | if(componentType == "Button"){ | ||
69 | compW = 118; | ||
70 | compH = 52; | ||
71 | }else if(componentType == "Checkbox"){ | ||
72 | compW = 53; | ||
73 | compH = 53; | ||
74 | // elementType = "input"; | ||
75 | }else if(componentType == "DynamicText"){ | ||
76 | compW = 100; | ||
77 | compH = 20; | ||
78 | }else if(componentType == "FlowController"){ | ||
79 | compW = 800; | ||
80 | compH = 320; | ||
81 |