1 module libwasm.bindings.TreeColumns;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.Element;
7 import libwasm.bindings.LegacyQueryInterface;
8 import libwasm.bindings.TreeColumn;
9 
10 @safe:
11 nothrow:
12 
13 struct TreeColumns {
14   nothrow:
15   JsHandle handle;
16   alias handle this;
17   this(Handle h) {
18     this.handle = JsHandle(h);
19   }
20   auto tree()() {
21     return recastOpt!(XULTreeElement)(Object_Getter__OptionalHandle(this.handle, "tree"));
22   }
23   uint count()() {
24     return Object_Getter__uint(this.handle, "count");
25   }
26   uint length()() {
27     return Object_Getter__uint(this.handle, "length");
28   }
29   auto getFirstColumn()() {
30     return recastOpt!(TreeColumn)(Object_Getter__OptionalHandle(this.handle, "getFirstColumn"));
31   }
32   auto getLastColumn()() {
33     return recastOpt!(TreeColumn)(Object_Getter__OptionalHandle(this.handle, "getLastColumn"));
34   }
35   auto getPrimaryColumn()() {
36     return recastOpt!(TreeColumn)(Object_Getter__OptionalHandle(this.handle, "getPrimaryColumn"));
37   }
38   auto getSortedColumn()() {
39     return recastOpt!(TreeColumn)(Object_Getter__OptionalHandle(this.handle, "getSortedColumn"));
40   }
41   auto getKeyColumn()() {
42     return recastOpt!(TreeColumn)(Object_Getter__OptionalHandle(this.handle, "getKeyColumn"));
43   }
44   auto getColumnFor(T0)(scope auto ref Optional!(T0) element) if (isTOrPointer!(T0, Element)) {
45     return recastOpt!(TreeColumn)(Serialize_Object_VarArgCall!(Optional!Handle)(this.handle, "getColumnFor", "Optional!Handle", tuple(!element.empty, cast(Handle)element.front._parent)));
46   }
47   auto getNamedColumn()(string name) {
48     return recastOpt!(TreeColumn)(Object_Call_string__OptionalHandle(this.handle, "getNamedColumn", name));
49   }
50   auto getColumnAt()(uint index) {
51     return recastOpt!(TreeColumn)(Object_Call_uint__OptionalHandle(this.handle, "getColumnAt", index));
52   }
53   void invalidateColumns()() {
54     Object_Call__void(this.handle, "invalidateColumns");
55   }
56   void restoreNaturalOrder()() {
57     Object_Call__void(this.handle, "restoreNaturalOrder");
58   }
59   auto QueryInterface(T0)(scope auto ref T0 iid) {
60     // Any
61     Handle _handle_iid = getOrCreateHandle(iid);
62     auto result = nsISupports(Object_Call_Handle__Handle(this.handle, "QueryInterface", _handle_iid));
63     dropHandle!(T0)(_handle_iid);
64     return result;
65   }
66 }
67 
68