tooltip: Make the 'visible' property dynamic
This commit is contained in:
parent
2910a007df
commit
ade3fabaa9
|
@ -75,7 +75,7 @@ end
|
||||||
-- @tparam tooltip self The tooltip to show.
|
-- @tparam tooltip self The tooltip to show.
|
||||||
local function show(self)
|
local function show(self)
|
||||||
-- do nothing if the tooltip is already shown
|
-- do nothing if the tooltip is already shown
|
||||||
if self.visible then return end
|
if self._private.visible then return end
|
||||||
if self.timer then
|
if self.timer then
|
||||||
if not self.timer.started then
|
if not self.timer.started then
|
||||||
self:timer_function()
|
self:timer_function()
|
||||||
|
@ -84,7 +84,7 @@ local function show(self)
|
||||||
end
|
end
|
||||||
set_geometry(self)
|
set_geometry(self)
|
||||||
self.wibox.visible = true
|
self.wibox.visible = true
|
||||||
self.visible = true
|
self._private.visible = true
|
||||||
self:emit_signal("property::visible")
|
self:emit_signal("property::visible")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -93,14 +93,14 @@ end
|
||||||
-- @tparam tooltip self The tooltip to hide.
|
-- @tparam tooltip self The tooltip to hide.
|
||||||
local function hide(self)
|
local function hide(self)
|
||||||
-- do nothing if the tooltip is already hidden
|
-- do nothing if the tooltip is already hidden
|
||||||
if not self.visible then return end
|
if not self._private.visible then return end
|
||||||
if self.timer then
|
if self.timer then
|
||||||
if self.timer.started then
|
if self.timer.started then
|
||||||
self.timer:stop()
|
self.timer:stop()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
self.wibox.visible = false
|
self.wibox.visible = false
|
||||||
self.visible = false
|
self._private.visible = false
|
||||||
self:emit_signal("property::visible")
|
self:emit_signal("property::visible")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -129,6 +129,20 @@ end
|
||||||
-- @property visible
|
-- @property visible
|
||||||
-- @param boolean
|
-- @param boolean
|
||||||
|
|
||||||
|
function tooltip:get_visible()
|
||||||
|
return self._private.visible
|
||||||
|
end
|
||||||
|
|
||||||
|
function tooltip:set_visible(value)
|
||||||
|
if self._private.visible == value then return end
|
||||||
|
|
||||||
|
if value then
|
||||||
|
show(self)
|
||||||
|
else
|
||||||
|
hide(self)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
--- Change displayed text.
|
--- Change displayed text.
|
||||||
--
|
--
|
||||||
-- @property text
|
-- @property text
|
||||||
|
@ -138,7 +152,7 @@ end
|
||||||
|
|
||||||
function tooltip:set_text(text)
|
function tooltip:set_text(text)
|
||||||
self.textbox:set_text(text)
|
self.textbox:set_text(text)
|
||||||
if self.visible then
|
if self._private.visible then
|
||||||
set_geometry(self)
|
set_geometry(self)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -152,7 +166,7 @@ end
|
||||||
|
|
||||||
function tooltip:set_markup(text)
|
function tooltip:set_markup(text)
|
||||||
self.textbox:set_markup(text)
|
self.textbox:set_markup(text)
|
||||||
if self.visible then
|
if self._private.visible then
|
||||||
set_geometry(self)
|
set_geometry(self)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -218,7 +232,7 @@ function tooltip.new(args)
|
||||||
|
|
||||||
rawset(self,"_private", {})
|
rawset(self,"_private", {})
|
||||||
|
|
||||||
self.visible = false
|
self._private.visible = false
|
||||||
|
|
||||||
-- private data
|
-- private data
|
||||||
if args.delay_show then
|
if args.delay_show then
|
||||||
|
|
Loading…
Reference in New Issue