I think you need to call create on the new widgets, like
def reload_data
@dir = FXDirDialog.getOpenDirectory(self, "Dir", "Select path")
build_service_lists
[@file_group, @dir_group].each{|grp| grp.children.each{|ch| ch.create} }
resize(getDefaultWidth(), getDefaultHeight())
end
best regards,
Tobias