int dt_lua_init_widget_combobox(lua_State* L) { dt_lua_init_widget_type(L,&combobox_type,lua_combobox,DT_BAUHAUS_WIDGET_TYPE); lua_pushcfunction(L, tostring_member); dt_lua_gtk_wrap(L); dt_lua_type_setmetafield(L, lua_combobox, "__tostring"); lua_pushcfunction(L,combobox_len); dt_lua_gtk_wrap(L); lua_pushcfunction(L,combobox_numindex); dt_lua_gtk_wrap(L); dt_lua_type_register_number(L,lua_combobox); lua_pushcfunction(L,value_member); dt_lua_gtk_wrap(L); dt_lua_type_register(L, lua_combobox, "value"); lua_pushcfunction(L,selected_member); dt_lua_gtk_wrap(L); dt_lua_type_register(L, lua_combobox, "selected"); dt_lua_widget_register_gtk_callback(L,lua_combobox,"value-changed","changed_callback",G_CALLBACK(changed_callback)); lua_pushcfunction(L,label_member); dt_lua_gtk_wrap(L); dt_lua_type_register(L, lua_combobox, "label"); lua_pushcfunction(L,editable_member); dt_lua_gtk_wrap(L); dt_lua_type_register(L, lua_combobox, "editable"); return 0; }
int dt_lua_init_widget_button(lua_State* L) { dt_lua_init_widget_type(L,&button_type,lua_button,GTK_TYPE_BUTTON); lua_pushcfunction(L, tostring_member); dt_lua_gtk_wrap(L); dt_lua_type_setmetafield(L, lua_button, "__tostring"); lua_pushcfunction(L,label_member); dt_lua_gtk_wrap(L); dt_lua_type_register(L, lua_button, "label"); dt_lua_widget_register_gtk_callback(L,lua_button,"clicked","clicked_callback",G_CALLBACK(clicked_callback)); return 0; }
int dt_lua_init_widget_file_chooser_button(lua_State* L) { dt_lua_init_widget_type(L,&file_chooser_button_type,lua_file_chooser_button,GTK_TYPE_FILE_CHOOSER_BUTTON); lua_pushcfunction(L,title_member); lua_pushcclosure(L,dt_lua_gtk_wrap,1); dt_lua_type_register(L, lua_file_chooser_button, "title"); lua_pushcfunction(L,is_directory_member); lua_pushcclosure(L,dt_lua_gtk_wrap,1); dt_lua_type_register(L, lua_file_chooser_button, "is_directory"); lua_pushcfunction(L,value_member); lua_pushcclosure(L,dt_lua_gtk_wrap,1); dt_lua_type_register(L, lua_file_chooser_button, "value"); dt_lua_widget_register_gtk_callback(L,lua_file_chooser_button,"file-set","changed_callback",G_CALLBACK(file_set_callback)); return 0; }