Attribute changed old-javascript
[app.Builder.js] / old-javascript / Builder4 / WindowRightPalete.vala
1 static Xcls_RightPalete  _RightPalete;
2
3 public class Xcls_RightPalete : Object 
4 {
5     public Gtk.VBox el;
6     private Xcls_RightPalete  _this;
7
8     public static Xcls_RightPalete singleton()
9     {
10         if (_RightPalete == null) {
11             _RightPalete= new Xcls_RightPalete();
12         }
13         return _RightPalete;
14     }
15     public Xcls_viewbox viewbox;
16     public Xcls_model model;
17     public Xcls_txtrender txtrender;
18
19         // my vars (def)
20     public signal void after_node_change(JsRender.Node? node) ;
21     public signal void before_node_change(JsRender.Node? node) ;
22     public signal void drag_end() ;
23
24     // ctor 
25     public Xcls_RightPalete()
26     {
27         _this = this;
28         this.el = new Gtk.VBox( true, 0 );
29
30         // my vars (dec)
31
32         // set gobject values
33         var child_0 = new Xcls_viewbox( _this );
34         child_0.ref();
35         this.el.add (  child_0.el  );
36     }
37
38     // user defined functions 
39     public void load (Palete.Palete pal, string cls ) {
40        
41        // this.get('model').expanded();
42         
43         var tr = pal.getChildList(cls);
44         this.model.el.clear();
45     
46     
47         Gtk.TreeIter citer;
48     
49         for(var i =0 ; i < tr.length; i++) {
50              this.model.el.append(out citer);   
51              
52             this.model.el.set_value(citer, 0,   tr[i] ); // title 
53             
54         }
55         this.model.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
56         
57     }
58     public void clear () {
59        this.model.el.clear();
60     }
61     public class Xcls_viewbox : Object 
62     {
63         public Gtk.VBox el;
64         private Xcls_RightPalete  _this;
65
66
67             // my vars (def)
68
69         // ctor 
70         public Xcls_viewbox(Xcls_RightPalete _owner )
71         {
72             _this = _owner;
73             _this.viewbox = this;
74             this.el = new Gtk.VBox( true, 0 );
75
76             // my vars (dec)
77
78             // set gobject values
79             var child_0 = new Xcls_ScrolledWindow3( _this );
80             child_0.ref();
81             this.el.add (  child_0.el  );
82         }
83
84         // user defined functions 
85     }
86     public class Xcls_ScrolledWindow3 : Object 
87     {
88         public Gtk.ScrolledWindow el;
89         private Xcls_RightPalete  _this;
90
91
92             // my vars (def)
93
94         // ctor 
95         public Xcls_ScrolledWindow3(Xcls_RightPalete _owner )
96         {
97             _this = _owner;
98             this.el = new Gtk.ScrolledWindow( null, null );
99
100             // my vars (dec)
101
102             // set gobject values
103             this.el.shadow_type = Gtk.ShadowType.IN;
104             var child_0 = new Xcls_TreeView4( _this );
105             child_0.ref();
106             this.el.add (  child_0.el  );
107
108             // init method 
109
110             this.el.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
111                this.el.set_size_request(-1,200);        }
112
113         // user defined functions 
114     }
115     public class Xcls_TreeView4 : Object 
116     {
117         public Gtk.TreeView el;
118         private Xcls_RightPalete  _this;
119
120
121             // my vars (def)
122         public string dragData;
123
124         // ctor 
125         public Xcls_TreeView4(Xcls_RightPalete _owner )
126         {
127             _this = _owner;
128             this.el = new Gtk.TreeView();
129
130             // my vars (dec)
131
132             // set gobject values
133             this.el.enable_tree_lines = true;
134             this.el.headers_visible = false;
135             var child_0 = new Xcls_model( _this );
136             child_0.ref();
137             this.el.set_model (  child_0.el  );
138             var child_1 = new Xcls_TreeViewColumn6( _this );
139             child_1.ref();
140             this.el.append_column (  child_1.el  );
141
142             // init method 
143
144             {
145                 this.el.set_size_request(150,-1);
146                                       //  set_reorderable: [1]
147                                               
148                 var description = new Pango.FontDescription();
149                 description.set_size(8000);
150                 this.el.modify_font(description);
151                 
152                 var selection = this.el.get_selection();
153                 selection.set_mode( Gtk.SelectionMode.SINGLE);
154                // this.selection.signal['changed'].connect(function() {
155                 //    _view.listeners['cursor-changed'].apply(_view, [ _view, '']);
156                 //});
157                 // see: http://live.gnome.org/GnomeLove/DragNDropTutorial
158                  
159                 Gtk.drag_source_set (
160                         this.el,            /* widget will be drag-able */
161                         Gdk.ModifierType.BUTTON1_MASK,       /* modifier that will start a drag */
162                         Builder4.Application.targetList,            /* lists of target to support */
163                         Gdk.DragAction.COPY         /* what to do with data after dropped */
164                 );
165                 //Gtk.drag_source_set_target_list(this.el, LeftTree.targetList);
166                
167                // Gtk.drag_source_set_target_list(this.el, Application.targetList);
168                // Gtk.drag_source_add_text_targets(this.el); 
169              
170             }
171             // listeners 
172             this.el.button_press_event.connect( ( event) => {
173             
174              // if (!this.get('/Editor').save()) {
175              //     // popup!! - click handled.. 
176             //      return true;
177             //        }
178                 return false;
179             });
180             this.el.drag_begin.connect( ( ctx) => {
181                 // we could fill this in now...
182             //        Seed.print('SOURCE: drag-begin');
183                     
184                     
185                     
186                     Gtk.TreeIter iter;
187                     var s = this.el.get_selection();
188                     
189                     Gtk.TreeModel mod;
190                     s.get_selected(out mod, out iter);
191                     var path = mod.get_path(iter);
192                     
193                     /// pix is a surface..
194                     var pix = this.el.create_row_drag_icon ( path);
195                         
196                             
197                     Gtk.drag_set_icon_surface (ctx, pix);
198                     GLib.Value value;
199                     
200             
201                     _this.model.el.get_value(iter, 0, out value);
202                     
203                     this.dragData = (string) value;
204                      
205                     
206                     return;
207             });
208             this.el.drag_end.connect( ( drag_context)  => {
209                  print("SOURCE: drag-end\n");
210                 
211                 this.dragData = "";
212                 //this.dropList = null;
213                 _this.drag_end(); // call signal..
214                 //this.get('/LeftTree.view').highlight(false);
215                  
216             });
217             this.el.drag_data_get.connect( (drag_context, selection_data, info, time) => {
218                 //Seed.print('Palete: drag-data-get: ' + target_type);
219                 if (this.dragData.length < 1 ) {
220                     return; 
221                 }
222                 
223                 print("setting drag data to %s\n", this.dragData);
224                // selection_data.set_text(this.dragData ,this.dragData.length);
225                selection_data.set (selection_data.get_target (), 8, (uchar[]) this.dragData.to_utf8 ());
226             
227                     //this.el.dragData = "TEST from source widget";
228                     
229                     
230             });
231         }
232
233         // user defined functions 
234     }
235     public class Xcls_model : Object 
236     {
237         public Gtk.ListStore el;
238         private Xcls_RightPalete  _this;
239
240
241             // my vars (def)
242
243         // ctor 
244         public Xcls_model(Xcls_RightPalete _owner )
245         {
246             _this = _owner;
247             _this.model = this;
248             this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
249
250             // my vars (dec)
251
252             // set gobject values
253         }
254
255         // user defined functions 
256         public string getValue (Gtk.TreeIter iter, int col)  {
257             GLib.Value gval;
258              this.el.get_value(iter, col , out gval);
259             return  (string)gval;
260             
261             
262         }
263     }
264     public class Xcls_TreeViewColumn6 : Object 
265     {
266         public Gtk.TreeViewColumn el;
267         private Xcls_RightPalete  _this;
268
269
270             // my vars (def)
271
272         // ctor 
273         public Xcls_TreeViewColumn6(Xcls_RightPalete _owner )
274         {
275             _this = _owner;
276             this.el = new Gtk.TreeViewColumn();
277
278             // my vars (dec)
279
280             // set gobject values
281             var child_0 = new Xcls_txtrender( _this );
282             child_0.ref();
283             this.el.pack_start (  child_0.el , true );
284
285             // init method 
286
287             this.el.add_attribute(_this.txtrender.el , "markup", 0 );        }
288
289         // user defined functions 
290     }
291     public class Xcls_txtrender : Object 
292     {
293         public Gtk.CellRendererText el;
294         private Xcls_RightPalete  _this;
295
296
297             // my vars (def)
298
299         // ctor 
300         public Xcls_txtrender(Xcls_RightPalete _owner )
301         {
302             _this = _owner;
303             _this.txtrender = this;
304             this.el = new Gtk.CellRendererText();
305
306             // my vars (dec)
307
308             // set gobject values
309         }
310
311         // user defined functions 
312     }
313 }