projects
/
roobuilder
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b48eef8
)
Fix #8034 - structs as ctor properties - need adding as default properties.
author
Alan
<alan@roojs.com>
Wed, 14 Feb 2024 09:57:24 +0000
(17:57 +0800)
committer
Alan
<alan@roojs.com>
Wed, 14 Feb 2024 09:57:24 +0000
(17:57 +0800)
src/Palete/Gtk.vala
patch
|
blob
|
history
diff --git
a/src/Palete/Gtk.vala
b/src/Palete/Gtk.vala
index
e29f259
..
4827b2b
100644
(file)
--- a/
src/Palete/Gtk.vala
+++ b/
src/Palete/Gtk.vala
@@
-75,10
+75,7
@@
namespace Palete {
//return typeof(this.comments[ns][what]) == 'undefined' ? '' : this.comments[ns][what];
}
//return typeof(this.comments[ns][what]) == 'undefined' ? '' : this.comments[ns][what];
}
- // does not handle implements...
- public override GirObject? getClass(string ename)
- {
-
+ public GirObject? loadGir (string ename) {
var es = ename.split(".");
if (es.length < 2) {
return null;
var es = ename.split(".");
if (es.length < 2) {
return null;
@@
-87,39
+84,33
@@
namespace Palete {
if (gir == null) {
return null;
}
if (gir == null) {
return null;
}
- return gir
.classes.get(es[1])
;
-
+ return gir;
+
}
}
+
+ // does not handle implements...
+ public override GirObject? getClass(string ename)
+ {
+ var es = ename.split(".");
+ var gir = this.loadGir(ename);
+ return gir == null ? null : gir.classes.get(es[1]);
+ }
+
public GirObject? getDelegate(string ename)
{
var es = ename.split(".");
public GirObject? getDelegate(string ename)
{
var es = ename.split(".");
- if (es.length < 2) {
- return null;
- }
- var gir = Gir.factory(this.project,es[0]);
- if (gir == null) {
- return null;
- }
- return gir.delegates.get(es[1]);
-
+ var gir = this.loadGir(ename);
+ return gir == null ? null : gir.delegates.get(es[1]);
}
}
-
+
public GirObject? getClassOrEnum(string ename)
{
public GirObject? getClassOrEnum(string ename)
{
-
var es = ename.split(".");
var es = ename.split(".");
- if (es.length < 2) {
- return null;
- }
- var gir = Gir.factory(this.project,es[0]);
- if (gir.classes.has_key(es[1])) {
- return gir.classes.get(es[1]);
- }
- if (gir.consts.has_key(es[1])) {
- return gir.consts.get(es[1]);
- }
- return null;
+ var gir = this.loadGir(ename);
+ return gir == null ? null :
+ (gir.classes.has_key(es[1]) ? gir.classes.get(es[1]) : gir.consts.get(es[1]) );
+
}
}
@@
-457,10
+448,14
@@
namespace Palete {
// GLib.debug("adding property from ctor : %s, %s, %s [%s]", cname , prop.name, prop.type, sub == null ? "-" : sub.nodetype);
if (sub != null) { // can't add child classes here...
// GLib.debug("adding property from ctor : %s, %s, %s [%s]", cname , prop.name, prop.type, sub == null ? "-" : sub.nodetype);
if (sub != null) { // can't add child classes here...
-
+ if (sub.nodetype == "Struct") {
+ this.node_defaults.get(cname).set(prop.name, new JsRender.NodeProp.raw(prop.name, prop.type, ""));
+ continue;
+ }
GLib.debug("skipping ctor argument proprty is an object");
continue;
}
GLib.debug("skipping ctor argument proprty is an object");
continue;
}
+
sub = this.getDelegate(prop.type);
if (sub != null) { // can't add child classes here...
this.node_defaults.get(cname).set(prop.name, new JsRender.NodeProp.raw(prop.name, prop.type, sub.sig));
sub = this.getDelegate(prop.type);
if (sub != null) { // can't add child classes here...
this.node_defaults.get(cname).set(prop.name, new JsRender.NodeProp.raw(prop.name, prop.type, sub.sig));