Builder/Window.js
[app.Builder.js] / Builder / Window.js
1 //<Script type="text/javascript">
2
3 Gtk = imports.gi.Gtk;
4 // core libs
5 XObject = imports.XObject.XObject;
6 console = imports.console;
7
8 // components.
9 TopMenu         = imports.Builder.TopMenu.TopMenu;
10 LeftTopPanel    = imports.Builder.LeftTopPanel.LeftTopPanel;
11 LeftProps       = imports.Builder.LeftProps.LeftProps;
12 LeftPanel       = imports.Builder.LeftPanel.LeftPanel;
13 MidPropTree     = imports.Builder.MidPropTree.MidPropTree;
14 RightBrowser    = imports.Builder.RightBrowser.RightBrowser;
15 RightEditor     = imports.Builder.RightEditor.RightEditor;
16 RightPalete     = imports.Builder.RightPalete.RightPalete;
17 // concept:
18 /**
19  * 
20  * left - tree + props
21  * right - top = preview - webkit?
22  * right - bottom = soruceview
23  * 
24  * Palete... as toolbar??? - changes depending on what you pick?
25  * 
26  * Not sure how to do Gtk version.. - our preview might be fun... = probably have to do a gtkhbox.. or something..
27  * 
28  */
29  
30  
31   
32 //print('window loaded');
33
34 Window = new XObject({
35     
36     id: 'Builder.Window',
37     
38     xtype : function() {
39         return new Gtk.Window({type: Gtk.WindowType.TOPLEVEL});
40     },
41     
42     //type: Gtk.WindowType.TOPLEVEL,
43     title : "Application Builder",
44     border_width : 0,
45     
46     init : function()
47     {
48         XObject.prototype.init.call(this); 
49         
50         this.el.show_all();
51         MidPropTree.hideWin();
52         RightPalete.get('palete').hide();
53         
54         this.el.set_default_size(900, 600);
55         
56     },
57     
58     listeners : {
59         'delete-event' : function (widget, event) {
60             return false;
61         },
62         destroy  : function (widget) {
63             Gtk.main_quit();
64         },
65          
66     },
67     
68         
69     items : [
70         {
71             xtype : Gtk.VBox,
72             id: 'w-vbox',
73             items : [
74                 TopMenu,
75                 {
76                     id : 'left',
77                     xtype : Gtk.HPaned,
78                     position : 400,
79                     items : [
80                         {
81                             xtype : Gtk.HBox,
82                             items : [
83                                 {
84                                     id : 'leftvpaned',
85                                     xtype : Gtk.VPaned,
86                                     position : 300,
87                                     items : [
88                                         LeftTopPanel,
89                                         {
90                                             xtype: Gtk.VBox,
91                                             items : [
92                                                 {
93                             
94                                                     xns : Gtk.HBox,
95                                                     pack : [ 'pack_start', false, true, 0 ],
96                                                     items : [  
97                                                         LeftProps 
98                                                     ]
99                                                 },
100                                                 LeftPanel
101                                                 
102                                             ]
103                                         }
104                                         
105                                     ]
106                                 },
107                                 MidPropTree
108                                 
109                             ]
110                         },
111                                 
112                         {
113                             xtype : Gtk.HBox,
114                             items : [
115                                 {
116                                     xtype : Gtk.VPaned,
117                                     position :  300,
118                                     items : [
119                                         {
120                                             xtype : Gtk.VBox,
121                                             items : [
122                                                 RightBrowser,
123                                                 {
124                                                     xtype : Gtk.Expander,
125                                                     
126                                                     label : 'Console',
127                                                     pack : ['pack_start', false , false ],
128                                                     
129                                                     items : [
130                                                         {
131                                                             xtype : Gtk.Button,
132                                                             label : 'Console Goes here'
133                                                         }
134                                                     ]
135                                                 }
136                                                
137                                             ]
138                                         },
139                                         RightEditor
140                                          
141                                     ]
142                                 },
143                                 RightPalete
144                                  
145                                 
146                             ]
147                         }
148                     ]
149                 }
150                 
151             ]
152        }
153                 
154     ]
155 }); 
156  
157     
158  
159  
160