Skip to content

Commit 219fa9f

Browse files
authored
chore(objects): use luaA_class_add_properties (#4060)
1 parent 067bd01 commit 219fa9f

9 files changed

Lines changed: 206 additions & 129 deletions

File tree

objects/button.c

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -171,14 +171,22 @@ button_class_setup(lua_State *L)
171171
(lua_class_allocator_t) button_new, NULL, NULL,
172172
luaA_class_index_miss_property, luaA_class_newindex_miss_property,
173173
button_methods, button_meta);
174-
luaA_class_add_property(&button_class, "button",
175-
(lua_class_propfunc_t) luaA_button_set_button,
176-
(lua_class_propfunc_t) luaA_button_get_button,
177-
(lua_class_propfunc_t) luaA_button_set_button);
178-
luaA_class_add_property(&button_class, "modifiers",
179-
(lua_class_propfunc_t) luaA_button_set_modifiers,
180-
(lua_class_propfunc_t) luaA_button_get_modifiers,
181-
(lua_class_propfunc_t) luaA_button_set_modifiers);
174+
175+
const lua_class_property_t properties[] = {
176+
{
177+
.name = "button",
178+
.new = (lua_class_propfunc_t)luaA_button_set_button,
179+
.index = (lua_class_propfunc_t)luaA_button_get_button,
180+
.newindex = (lua_class_propfunc_t)luaA_button_set_button,
181+
},
182+
{
183+
.name = "modifiers",
184+
.new = (lua_class_propfunc_t)luaA_button_set_modifiers,
185+
.index = (lua_class_propfunc_t)luaA_button_get_modifiers,
186+
.newindex = (lua_class_propfunc_t)luaA_button_set_modifiers,
187+
},
188+
};
189+
luaA_class_add_properties(&button_class, properties, G_N_ELEMENTS(properties));
182190
}
183191

184192
/* @DOC_cobject_COMMON@ */

objects/client.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4567,7 +4567,7 @@ client_class_setup(lua_State *L)
45674567
luaA_class_index_miss_property, luaA_class_newindex_miss_property,
45684568
client_methods, client_meta);
45694569
luaA_class_set_tostring(&client_class, (lua_class_propfunc_t) client_tostring);
4570-
lua_class_property_t properties[] = {
4570+
const lua_class_property_t properties[] = {
45714571
{
45724572
.name = "name",
45734573
.new = (lua_class_propfunc_t) luaA_client_set_name,

objects/drawable.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,10 +234,14 @@ drawable_class_setup(lua_State *L)
234234
(lua_class_collector_t) drawable_wipe, NULL,
235235
luaA_class_index_miss_property, luaA_class_newindex_miss_property,
236236
drawable_methods, drawable_meta);
237-
luaA_class_add_property(&drawable_class, "surface",
238-
NULL,
239-
(lua_class_propfunc_t) luaA_drawable_get_surface,
240-
NULL);
237+
238+
const lua_class_property_t properties[] = {
239+
{
240+
.name = "surface",
241+
.index = (lua_class_propfunc_t)luaA_drawable_get_surface,
242+
},
243+
};
244+
luaA_class_add_properties(&drawable_class, properties, G_N_ELEMENTS(properties));
241245
}
242246

243247
/* @DOC_cobject_COMMON@ */

objects/drawin.c

Lines changed: 74 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -784,54 +784,80 @@ drawin_class_setup(lua_State *L)
784784
NULL,
785785
luaA_class_index_miss_property, luaA_class_newindex_miss_property,
786786
drawin_methods, drawin_meta);
787-
luaA_class_add_property(&drawin_class, "drawable",
788-
NULL,
789-
(lua_class_propfunc_t) luaA_drawin_get_drawable,
790-
NULL);
791-
luaA_class_add_property(&drawin_class, "visible",
792-
(lua_class_propfunc_t) luaA_drawin_set_visible,
793-
(lua_class_propfunc_t) luaA_drawin_get_visible,
794-
(lua_class_propfunc_t) luaA_drawin_set_visible);
795-
luaA_class_add_property(&drawin_class, "ontop",
796-
(lua_class_propfunc_t) luaA_drawin_set_ontop,
797-
(lua_class_propfunc_t) luaA_drawin_get_ontop,
798-
(lua_class_propfunc_t) luaA_drawin_set_ontop);
799-
luaA_class_add_property(&drawin_class, "cursor",
800-
(lua_class_propfunc_t) luaA_drawin_set_cursor,
801-
(lua_class_propfunc_t) luaA_drawin_get_cursor,
802-
(lua_class_propfunc_t) luaA_drawin_set_cursor);
803-
luaA_class_add_property(&drawin_class, "x",
804-
(lua_class_propfunc_t) luaA_drawin_set_x,
805-
(lua_class_propfunc_t) luaA_drawin_get_x,
806-
(lua_class_propfunc_t) luaA_drawin_set_x);
807-
luaA_class_add_property(&drawin_class, "y",
808-
(lua_class_propfunc_t) luaA_drawin_set_y,
809-
(lua_class_propfunc_t) luaA_drawin_get_y,
810-
(lua_class_propfunc_t) luaA_drawin_set_y);
811-
luaA_class_add_property(&drawin_class, "width",
812-
(lua_class_propfunc_t) luaA_drawin_set_width,
813-
(lua_class_propfunc_t) luaA_drawin_get_width,
814-
(lua_class_propfunc_t) luaA_drawin_set_width);
815-
luaA_class_add_property(&drawin_class, "height",
816-
(lua_class_propfunc_t) luaA_drawin_set_height,
817-
(lua_class_propfunc_t) luaA_drawin_get_height,
818-
(lua_class_propfunc_t) luaA_drawin_set_height);
819-
luaA_class_add_property(&drawin_class, "type",
820-
(lua_class_propfunc_t) luaA_window_set_type,
821-
(lua_class_propfunc_t) luaA_window_get_type,
822-
(lua_class_propfunc_t) luaA_window_set_type);
823-
luaA_class_add_property(&drawin_class, "shape_bounding",
824-
(lua_class_propfunc_t) luaA_drawin_set_shape_bounding,
825-
(lua_class_propfunc_t) luaA_drawin_get_shape_bounding,
826-
(lua_class_propfunc_t) luaA_drawin_set_shape_bounding);
827-
luaA_class_add_property(&drawin_class, "shape_clip",
828-
(lua_class_propfunc_t) luaA_drawin_set_shape_clip,
829-
(lua_class_propfunc_t) luaA_drawin_get_shape_clip,
830-
(lua_class_propfunc_t) luaA_drawin_set_shape_clip);
831-
luaA_class_add_property(&drawin_class, "shape_input",
832-
(lua_class_propfunc_t) luaA_drawin_set_shape_input,
833-
(lua_class_propfunc_t) luaA_drawin_get_shape_input,
834-
(lua_class_propfunc_t) luaA_drawin_set_shape_input);
787+
788+
const lua_class_property_t properties[] = {
789+
{
790+
.name = "drawable",
791+
.index = (lua_class_propfunc_t)luaA_drawin_get_drawable,
792+
},
793+
{
794+
.name = "visible",
795+
.new = (lua_class_propfunc_t)luaA_drawin_set_visible,
796+
.index = (lua_class_propfunc_t)luaA_drawin_get_visible,
797+
.newindex = (lua_class_propfunc_t)luaA_drawin_set_visible,
798+
},
799+
{
800+
.name = "ontop",
801+
.new = (lua_class_propfunc_t)luaA_drawin_set_ontop,
802+
.index = (lua_class_propfunc_t)luaA_drawin_get_ontop,
803+
.newindex = (lua_class_propfunc_t)luaA_drawin_set_ontop,
804+
},
805+
{
806+
.name = "cursor",
807+
.new = (lua_class_propfunc_t)luaA_drawin_set_cursor,
808+
.index = (lua_class_propfunc_t)luaA_drawin_get_cursor,
809+
.newindex = (lua_class_propfunc_t)luaA_drawin_set_cursor,
810+
},
811+
{
812+
.name = "x",
813+
.new = (lua_class_propfunc_t)luaA_drawin_set_x,
814+
.index = (lua_class_propfunc_t)luaA_drawin_get_x,
815+
.newindex = (lua_class_propfunc_t)luaA_drawin_set_x,
816+
},
817+
{
818+
.name = "y",
819+
.new = (lua_class_propfunc_t)luaA_drawin_set_y,
820+
.index = (lua_class_propfunc_t)luaA_drawin_get_y,
821+
.newindex = (lua_class_propfunc_t)luaA_drawin_set_y,
822+
},
823+
{
824+
.name = "width",
825+
.new = (lua_class_propfunc_t)luaA_drawin_set_width,
826+
.index = (lua_class_propfunc_t)luaA_drawin_get_width,
827+
.newindex = (lua_class_propfunc_t)luaA_drawin_set_width,
828+
},
829+
{
830+
.name = "height",
831+
.new = (lua_class_propfunc_t)luaA_drawin_set_height,
832+
.index = (lua_class_propfunc_t)luaA_drawin_get_height,
833+
.newindex = (lua_class_propfunc_t)luaA_drawin_set_height,
834+
},
835+
{
836+
.name = "type",
837+
.new = (lua_class_propfunc_t)luaA_window_set_type,
838+
.index = (lua_class_propfunc_t)luaA_window_get_type,
839+
.newindex = (lua_class_propfunc_t)luaA_window_set_type,
840+
},
841+
{
842+
.name = "shape_bounding",
843+
.new = (lua_class_propfunc_t)luaA_drawin_set_shape_bounding,
844+
.index = (lua_class_propfunc_t)luaA_drawin_get_shape_bounding,
845+
.newindex = (lua_class_propfunc_t)luaA_drawin_set_shape_bounding,
846+
},
847+
{
848+
.name = "shape_clip",
849+
.new = (lua_class_propfunc_t)luaA_drawin_set_shape_clip,
850+
.index = (lua_class_propfunc_t)luaA_drawin_get_shape_clip,
851+
.newindex = (lua_class_propfunc_t)luaA_drawin_set_shape_clip,
852+
},
853+
{
854+
.name = "shape_input",
855+
.new = (lua_class_propfunc_t)luaA_drawin_set_shape_input,
856+
.index = (lua_class_propfunc_t)luaA_drawin_get_shape_input,
857+
.newindex = (lua_class_propfunc_t)luaA_drawin_set_shape_input,
858+
},
859+
};
860+
luaA_class_add_properties(&drawin_class, properties, G_N_ELEMENTS(properties));
835861
}
836862

837863
// vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80

objects/key.c

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -362,18 +362,26 @@ key_class_setup(lua_State *L)
362362
(lua_class_allocator_t) key_new, NULL, NULL,
363363
luaA_class_index_miss_property, luaA_class_newindex_miss_property,
364364
key_methods, key_meta);
365-
luaA_class_add_property(&key_class, "key",
366-
(lua_class_propfunc_t) luaA_key_set_key,
367-
(lua_class_propfunc_t) luaA_key_get_key,
368-
(lua_class_propfunc_t) luaA_key_set_key);
369-
luaA_class_add_property(&key_class, "keysym",
370-
NULL,
371-
(lua_class_propfunc_t) luaA_key_get_keysym,
372-
NULL);
373-
luaA_class_add_property(&key_class, "modifiers",
374-
(lua_class_propfunc_t) luaA_key_set_modifiers,
375-
(lua_class_propfunc_t) luaA_key_get_modifiers,
376-
(lua_class_propfunc_t) luaA_key_set_modifiers);
365+
366+
const lua_class_property_t properties[] = {
367+
{
368+
.name = "key",
369+
.new = (lua_class_propfunc_t)luaA_key_set_key,
370+
.index = (lua_class_propfunc_t)luaA_key_get_key,
371+
.newindex = (lua_class_propfunc_t)luaA_key_set_key,
372+
},
373+
{
374+
.name = "keysym",
375+
.index = (lua_class_propfunc_t)luaA_key_get_keysym,
376+
},
377+
{
378+
.name = "modifiers",
379+
.new = (lua_class_propfunc_t)luaA_key_set_modifiers,
380+
.index = (lua_class_propfunc_t)luaA_key_get_modifiers,
381+
.newindex = (lua_class_propfunc_t)luaA_key_set_modifiers,
382+
},
383+
};
384+
luaA_class_add_properties(&key_class, properties, G_N_ELEMENTS(properties));
377385
}
378386

379387
/* @DOC_cobject_COMMON@ */

objects/screen.c

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1880,30 +1880,36 @@ screen_class_setup(lua_State *L)
18801880
(lua_class_checker_t) screen_checker,
18811881
luaA_class_index_miss_property, luaA_class_newindex_miss_property,
18821882
screen_methods, screen_meta);
1883-
luaA_class_add_property(&screen_class, "geometry",
1884-
NULL,
1885-
(lua_class_propfunc_t) luaA_screen_get_geometry,
1886-
NULL);
1887-
luaA_class_add_property(&screen_class, "index",
1888-
NULL,
1889-
(lua_class_propfunc_t) luaA_screen_get_index,
1890-
NULL);
1891-
luaA_class_add_property(&screen_class, "_outputs",
1892-
NULL,
1893-
(lua_class_propfunc_t) luaA_screen_get_outputs,
1894-
NULL);
1895-
luaA_class_add_property(&screen_class, "_managed",
1896-
NULL,
1897-
(lua_class_propfunc_t) luaA_screen_get_managed,
1898-
NULL);
1899-
luaA_class_add_property(&screen_class, "workarea",
1900-
NULL,
1901-
(lua_class_propfunc_t) luaA_screen_get_workarea,
1902-
NULL);
1903-
luaA_class_add_property(&screen_class, "name",
1904-
(lua_class_propfunc_t) luaA_screen_set_name,
1905-
(lua_class_propfunc_t) luaA_screen_get_name,
1906-
(lua_class_propfunc_t) luaA_screen_set_name);
1883+
1884+
const lua_class_property_t properties[] = {
1885+
{
1886+
.name = "geometry",
1887+
.index = (lua_class_propfunc_t)luaA_screen_get_geometry,
1888+
},
1889+
{
1890+
.name = "index",
1891+
.index = (lua_class_propfunc_t)luaA_screen_get_index,
1892+
},
1893+
{
1894+
.name = "_outputs",
1895+
.index = (lua_class_propfunc_t)luaA_screen_get_outputs,
1896+
},
1897+
{
1898+
.name = "_managed",
1899+
.index = (lua_class_propfunc_t)luaA_screen_get_managed,
1900+
},
1901+
{
1902+
.name = "workarea",
1903+
.index = (lua_class_propfunc_t)luaA_screen_get_workarea,
1904+
},
1905+
{
1906+
.name = "name",
1907+
.new = (lua_class_propfunc_t)luaA_screen_set_name,
1908+
.index = (lua_class_propfunc_t)luaA_screen_get_name,
1909+
.newindex = (lua_class_propfunc_t)luaA_screen_set_name,
1910+
},
1911+
};
1912+
luaA_class_add_properties(&screen_class, properties, G_N_ELEMENTS(properties));
19071913
}
19081914

19091915
/* @DOC_cobject_COMMON@ */

objects/selection_watcher.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -190,10 +190,16 @@ selection_watcher_class_setup(lua_State *L)
190190
(lua_class_allocator_t) selection_watcher_new, NULL, NULL,
191191
luaA_class_index_miss_property, luaA_class_newindex_miss_property,
192192
selection_watcher_methods, selection_watcher_meta);
193-
luaA_class_add_property(&selection_watcher_class, "active",
194-
(lua_class_propfunc_t) luaA_selection_watcher_set_active,
195-
(lua_class_propfunc_t) luaA_selection_watcher_get_active,
196-
(lua_class_propfunc_t) luaA_selection_watcher_set_active);
193+
194+
const lua_class_property_t properties[] = {
195+
{
196+
.name = "active",
197+
.new = (lua_class_propfunc_t)luaA_selection_watcher_set_active,
198+
.index = (lua_class_propfunc_t)luaA_selection_watcher_get_active,
199+
.newindex = (lua_class_propfunc_t)luaA_selection_watcher_set_active,
200+
},
201+
};
202+
luaA_class_add_properties(&selection_watcher_class, properties, G_N_ELEMENTS(properties));
197203
}
198204

199205
// vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80

objects/tag.c

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -615,18 +615,28 @@ tag_class_setup(lua_State *L)
615615
NULL,
616616
luaA_class_index_miss_property, luaA_class_newindex_miss_property,
617617
tag_methods, tag_meta);
618-
luaA_class_add_property(&tag_class, "name",
619-
(lua_class_propfunc_t) luaA_tag_set_name,
620-
(lua_class_propfunc_t) luaA_tag_get_name,
621-
(lua_class_propfunc_t) luaA_tag_set_name);
622-
luaA_class_add_property(&tag_class, "selected",
623-
(lua_class_propfunc_t) luaA_tag_set_selected,
624-
(lua_class_propfunc_t) luaA_tag_get_selected,
625-
(lua_class_propfunc_t) luaA_tag_set_selected);
626-
luaA_class_add_property(&tag_class, "activated",
627-
(lua_class_propfunc_t) luaA_tag_set_activated,
628-
(lua_class_propfunc_t) luaA_tag_get_activated,
629-
(lua_class_propfunc_t) luaA_tag_set_activated);
618+
619+
const lua_class_property_t properties[] = {
620+
{
621+
.name = "name",
622+
.new = (lua_class_propfunc_t)luaA_tag_set_name,
623+
.index = (lua_class_propfunc_t)luaA_tag_get_name,
624+
.newindex = (lua_class_propfunc_t)luaA_tag_set_name,
625+
},
626+
{
627+
.name = "selected",
628+
.new = (lua_class_propfunc_t)luaA_tag_set_selected,
629+
.index = (lua_class_propfunc_t)luaA_tag_get_selected,
630+
.newindex = (lua_class_propfunc_t)luaA_tag_set_selected,
631+
},
632+
{
633+
.name = "activated",
634+
.new = (lua_class_propfunc_t)luaA_tag_set_activated,
635+
.index = (lua_class_propfunc_t)luaA_tag_get_activated,
636+
.newindex = (lua_class_propfunc_t)luaA_tag_set_activated,
637+
},
638+
};
639+
luaA_class_add_properties(&tag_class, properties, G_N_ELEMENTS(properties));
630640
}
631641

632642
/* @DOC_cobject_COMMON@ */

objects/window.c

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -527,22 +527,31 @@ window_class_setup(lua_State *L)
527527
luaA_class_index_miss_property, luaA_class_newindex_miss_property,
528528
window_methods, window_meta);
529529

530-
luaA_class_add_property(&window_class, "window",
531-
NULL,
532-
(lua_class_propfunc_t) luaA_window_get_window,
533-
NULL);
534-
luaA_class_add_property(&window_class, "_opacity",
535-
(lua_class_propfunc_t) luaA_window_set_opacity,
536-
(lua_class_propfunc_t) luaA_window_get_opacity,
537-
(lua_class_propfunc_t) luaA_window_set_opacity);
538-
luaA_class_add_property(&window_class, "_border_color",
539-
(lua_class_propfunc_t) luaA_window_set_border_color,
540-
(lua_class_propfunc_t) luaA_window_get_border_color,
541-
(lua_class_propfunc_t) luaA_window_set_border_color);
542-
luaA_class_add_property(&window_class, "_border_width",
543-
(lua_class_propfunc_t) luaA_window_set_border_width,
544-
(lua_class_propfunc_t) luaA_window_get_border_width,
545-
(lua_class_propfunc_t) luaA_window_set_border_width);
530+
const lua_class_property_t properties[] = {
531+
{
532+
.name = "window",
533+
.index = (lua_class_propfunc_t)luaA_window_get_window,
534+
},
535+
{
536+
.name = "_opacity",
537+
.new = (lua_class_propfunc_t)luaA_window_set_opacity,
538+
.index = (lua_class_propfunc_t)luaA_window_get_opacity,
539+
.newindex = (lua_class_propfunc_t)luaA_window_set_opacity,
540+
},
541+
{
542+
.name = "_border_color",
543+
.new = (lua_class_propfunc_t)luaA_window_set_border_color,
544+
.index = (lua_class_propfunc_t)luaA_window_get_border_color,
545+
.newindex = (lua_class_propfunc_t)luaA_window_set_border_color,
546+
},
547+
{
548+
.name = "_border_width",
549+
.new = (lua_class_propfunc_t)luaA_window_set_border_width,
550+
.index = (lua_class_propfunc_t)luaA_window_get_border_width,
551+
.newindex = (lua_class_propfunc_t)luaA_window_set_border_width,
552+
},
553+
};
554+
luaA_class_add_properties(&window_class, properties, G_N_ELEMENTS(properties));
546555
}
547556

548557
// vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80

0 commit comments

Comments
 (0)