Fix #7250 - better handling of adding properties
[roobuilder] / src / Builder4 / ValaCompileResults.vala
1 static Xcls_ValaCompileResults  _ValaCompileResults;
2
3 public class Xcls_ValaCompileResults : Object
4 {
5     public Gtk.Popover el;
6     private Xcls_ValaCompileResults  _this;
7
8     public static Xcls_ValaCompileResults singleton()
9     {
10         if (_ValaCompileResults == null) {
11             _ValaCompileResults= new Xcls_ValaCompileResults();
12         }
13         return _ValaCompileResults;
14     }
15     public Xcls_compile_view compile_view;
16     public Xcls_sourceview sourceview;
17
18         // my vars (def)
19     public Xcls_MainWindow window;
20     public bool active;
21
22     // ctor
23     public Xcls_ValaCompileResults()
24     {
25         _this = this;
26         this.el = new Gtk.Popover( null );
27
28         // my vars (dec)
29         this.active = true;
30
31         // set gobject values
32         this.el.width_request = 600;
33         this.el.height_request = 400;
34         this.el.modal = true;
35         this.el.position = Gtk.PositionType.TOP;
36         var child_0 = new Xcls_compile_view( _this );
37         child_0.ref();
38         this.el.add (  child_0.el  );
39     }
40
41     // user defined functions
42     public void show ( Gtk.Widget onbtn, bool reset) {
43         int w, h;
44      
45         this.window.el.get_size(out w, out h);
46         
47         // left tree = 250, editor area = 500?
48         
49         var new_w = int.min(750, w-100);
50         if (new_w > (w-100)) {
51             new_w = w-100;
52         }
53         this.el.set_size_request( int.max(100, new_w), int.max(100, h-120));
54      
55     
56         if (this.el.relative_to == null) {
57             this.el.set_relative_to(onbtn);
58         }
59         this.el.show_all();
60        // not sure why..
61        
62        if (reset) {
63                 var buf = (Gtk.SourceBuffer)this.sourceview.el.get_buffer();
64                 buf.set_text("",0);
65         }
66        
67         while(Gtk.events_pending()) { 
68                 Gtk.main_iteration();
69         }
70         
71         
72         
73     }
74     public void addLine (string str) {
75         var buf = (Gtk.SourceBuffer)this.sourceview.el.get_buffer();
76         Gtk.TextIter iter;
77         buf.get_end_iter (out  iter);
78         buf.insert(ref iter, str, str.length);
79         /// scroll..
80         buf.get_end_iter (out  iter);
81         this.sourceview.el.scroll_to_iter(iter, 0.0f, true, 0.0f, 1.0f);
82      
83     }
84     public class Xcls_compile_view : Object
85     {
86         public Gtk.Box el;
87         private Xcls_ValaCompileResults  _this;
88
89
90             // my vars (def)
91
92         // ctor
93         public Xcls_compile_view(Xcls_ValaCompileResults _owner )
94         {
95             _this = _owner;
96             _this.compile_view = this;
97             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
98
99             // my vars (dec)
100
101             // set gobject values
102             this.el.homogeneous = false;
103             var child_0 = new Xcls_ScrolledWindow3( _this );
104             child_0.ref();
105             this.el.pack_end (  child_0.el , true,true,0 );
106         }
107
108         // user defined functions
109     }
110     public class Xcls_ScrolledWindow3 : Object
111     {
112         public Gtk.ScrolledWindow el;
113         private Xcls_ValaCompileResults  _this;
114
115
116             // my vars (def)
117
118         // ctor
119         public Xcls_ScrolledWindow3(Xcls_ValaCompileResults _owner )
120         {
121             _this = _owner;
122             this.el = new Gtk.ScrolledWindow( null, null );
123
124             // my vars (dec)
125
126             // set gobject values
127             this.el.hexpand = true;
128             var child_0 = new Xcls_sourceview( _this );
129             child_0.ref();
130             this.el.add (  child_0.el  );
131
132             // init method
133
134             {
135              this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
136              
137             
138             }
139         }
140
141         // user defined functions
142     }
143     public class Xcls_sourceview : Object
144     {
145         public Gtk.SourceView el;
146         private Xcls_ValaCompileResults  _this;
147
148
149             // my vars (def)
150
151         // ctor
152         public Xcls_sourceview(Xcls_ValaCompileResults _owner )
153         {
154             _this = _owner;
155             _this.sourceview = this;
156             this.el = new Gtk.SourceView();
157
158             // my vars (dec)
159
160             // set gobject values
161             this.el.editable = false;
162             this.el.show_line_numbers = false;
163
164             // init method
165
166             {
167             
168                 var description =   Pango.FontDescription.from_string("monospace");
169                 description.set_size(8000);
170                 this.el.override_font(description);
171             
172             
173             }
174         }
175
176         // user defined functions
177     }
178
179
180
181 }