Merge pull request #1693 from getzze/new_widget

Improve doc for creating new widget
This commit is contained in:
Daniel Hahler 2017-04-19 00:26:55 +02:00 committed by GitHub
commit 46f8ad4250
2 changed files with 10 additions and 3 deletions

View File

@ -1,7 +1,7 @@
# Creating new widget # Creating new widget
All widgets have to be generated via this function so that All widgets have to be generated by the `wibox.widget.base.make_widget` function
the needed signals are added and mouse input handling is set up. so that the needed signals are added and mouse input handling is set up.
The returned widget will have a `:buttons` member function that can be used to The returned widget will have a `:buttons` member function that can be used to
register a set of mouse button events with the widget. register a set of mouse button events with the widget.
@ -111,3 +111,8 @@ looks like this:
widget:after_draw_child(context, cr, child_index, child, width, height) widget:after_draw_child(context, cr, child_index, child, width, height)
end end
widget:after_draw_children(context, cr, width, height) widget:after_draw_children(context, cr, width, height)
The `:set_children()` method gets called recursively when setting a widget with
the declarative layout system, therefore the method should be well defined.
It should probably hook into the `:add` or `:add_widget` methods or be
overridden to do nothing.

View File

@ -504,7 +504,9 @@ local function drill(ids, content)
end end
end end
-- Replace all children (if any) with the new ones. -- Replace all children (if any) with the new ones.
l:set_children(widgets) if widgets then
l:set_children(widgets)
end
return l, id return l, id
end end