mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
cleanup: expand tab to 4 spaces
This commit is contained in:
@@ -8,149 +8,149 @@ local Screen = require("ui/screen")
|
||||
local UIManager = require("ui/uimanager")
|
||||
|
||||
local InputText = InputContainer:new{
|
||||
text = "",
|
||||
hint = "demo hint",
|
||||
charlist = {}, -- table to store input string
|
||||
charpos = 1,
|
||||
input_type = nil,
|
||||
|
||||
width = nil,
|
||||
height = nil,
|
||||
face = Font:getFace("cfont", 22),
|
||||
|
||||
padding = 5,
|
||||
margin = 5,
|
||||
bordersize = 2,
|
||||
|
||||
parent = nil, -- parent dialog that will be set dirty
|
||||
scroll = false,
|
||||
text = "",
|
||||
hint = "demo hint",
|
||||
charlist = {}, -- table to store input string
|
||||
charpos = 1,
|
||||
input_type = nil,
|
||||
|
||||
width = nil,
|
||||
height = nil,
|
||||
face = Font:getFace("cfont", 22),
|
||||
|
||||
padding = 5,
|
||||
margin = 5,
|
||||
bordersize = 2,
|
||||
|
||||
parent = nil, -- parent dialog that will be set dirty
|
||||
scroll = false,
|
||||
}
|
||||
|
||||
function InputText:init()
|
||||
self:StringToCharlist(self.text)
|
||||
self:initTextBox()
|
||||
self:initKeyboard()
|
||||
self:StringToCharlist(self.text)
|
||||
self:initTextBox()
|
||||
self:initKeyboard()
|
||||
end
|
||||
|
||||
function InputText:initTextBox()
|
||||
local bgcolor = nil
|
||||
local fgcolor = nil
|
||||
if self.text == "" then
|
||||
self.text = self.hint
|
||||
bgcolor = 0.0
|
||||
fgcolor = 0.5
|
||||
else
|
||||
bgcolor = 0.0
|
||||
fgcolor = 1.0
|
||||
end
|
||||
local text_widget = nil
|
||||
if self.scroll then
|
||||
text_widget = ScrollTextWidget:new{
|
||||
text = self.text,
|
||||
face = self.face,
|
||||
bgcolor = bgcolor,
|
||||
fgcolor = fgcolor,
|
||||
width = self.width,
|
||||
height = self.height,
|
||||
}
|
||||
else
|
||||
text_widget = TextBoxWidget:new{
|
||||
text = self.text,
|
||||
face = self.face,
|
||||
bgcolor = bgcolor,
|
||||
fgcolor = fgcolor,
|
||||
width = self.width,
|
||||
height = self.height,
|
||||
}
|
||||
end
|
||||
self[1] = FrameContainer:new{
|
||||
bordersize = self.bordersize,
|
||||
padding = self.padding,
|
||||
margin = self.margin,
|
||||
text_widget,
|
||||
}
|
||||
self.dimen = self[1]:getSize()
|
||||
local bgcolor = nil
|
||||
local fgcolor = nil
|
||||
if self.text == "" then
|
||||
self.text = self.hint
|
||||
bgcolor = 0.0
|
||||
fgcolor = 0.5
|
||||
else
|
||||
bgcolor = 0.0
|
||||
fgcolor = 1.0
|
||||
end
|
||||
local text_widget = nil
|
||||
if self.scroll then
|
||||
text_widget = ScrollTextWidget:new{
|
||||
text = self.text,
|
||||
face = self.face,
|
||||
bgcolor = bgcolor,
|
||||
fgcolor = fgcolor,
|
||||
width = self.width,
|
||||
height = self.height,
|
||||
}
|
||||
else
|
||||
text_widget = TextBoxWidget:new{
|
||||
text = self.text,
|
||||
face = self.face,
|
||||
bgcolor = bgcolor,
|
||||
fgcolor = fgcolor,
|
||||
width = self.width,
|
||||
height = self.height,
|
||||
}
|
||||
end
|
||||
self[1] = FrameContainer:new{
|
||||
bordersize = self.bordersize,
|
||||
padding = self.padding,
|
||||
margin = self.margin,
|
||||
text_widget,
|
||||
}
|
||||
self.dimen = self[1]:getSize()
|
||||
end
|
||||
|
||||
function InputText:initKeyboard()
|
||||
local keyboard_layout = 2
|
||||
if self.input_type == "number" then
|
||||
keyboard_layout = 3
|
||||
end
|
||||
self.keyboard = VirtualKeyboard:new{
|
||||
layout = keyboard_layout,
|
||||
inputbox = self,
|
||||
width = Screen:getWidth(),
|
||||
height = math.max(Screen:getWidth(), Screen:getHeight())*0.33,
|
||||
}
|
||||
local keyboard_layout = 2
|
||||
if self.input_type == "number" then
|
||||
keyboard_layout = 3
|
||||
end
|
||||
self.keyboard = VirtualKeyboard:new{
|
||||
layout = keyboard_layout,
|
||||
inputbox = self,
|
||||
width = Screen:getWidth(),
|
||||
height = math.max(Screen:getWidth(), Screen:getHeight())*0.33,
|
||||
}
|
||||
end
|
||||
|
||||
function InputText:onShowKeyboard()
|
||||
UIManager:show(self.keyboard)
|
||||
UIManager:show(self.keyboard)
|
||||
end
|
||||
|
||||
function InputText:onCloseKeyboard()
|
||||
UIManager:close(self.keyboard)
|
||||
UIManager:close(self.keyboard)
|
||||
end
|
||||
|
||||
function InputText:getKeyboardDimen()
|
||||
return self.keyboard.dimen
|
||||
return self.keyboard.dimen
|
||||
end
|
||||
|
||||
function InputText:addChar(char)
|
||||
if self.enter_callback and char == '\n' then
|
||||
UIManager:scheduleIn(0.3, function() self.enter_callback() end)
|
||||
return
|
||||
end
|
||||
table.insert(self.charlist, self.charpos, char)
|
||||
self.charpos = self.charpos + 1
|
||||
self.text = self:CharlistToString()
|
||||
self:initTextBox()
|
||||
UIManager:setDirty(self.parent, "partial")
|
||||
if self.enter_callback and char == '\n' then
|
||||
UIManager:scheduleIn(0.3, function() self.enter_callback() end)
|
||||
return
|
||||
end
|
||||
table.insert(self.charlist, self.charpos, char)
|
||||
self.charpos = self.charpos + 1
|
||||
self.text = self:CharlistToString()
|
||||
self:initTextBox()
|
||||
UIManager:setDirty(self.parent, "partial")
|
||||
end
|
||||
|
||||
function InputText:delChar()
|
||||
if self.charpos == 1 then return end
|
||||
self.charpos = self.charpos - 1
|
||||
table.remove(self.charlist, self.charpos)
|
||||
self.text = self:CharlistToString()
|
||||
self:initTextBox()
|
||||
UIManager:setDirty(self.parent, "partial")
|
||||
if self.charpos == 1 then return end
|
||||
self.charpos = self.charpos - 1
|
||||
table.remove(self.charlist, self.charpos)
|
||||
self.text = self:CharlistToString()
|
||||
self:initTextBox()
|
||||
UIManager:setDirty(self.parent, "partial")
|
||||
end
|
||||
|
||||
function InputText:getText()
|
||||
return self.text
|
||||
return self.text
|
||||
end
|
||||
|
||||
function InputText:setText(text)
|
||||
self:StringToCharlist(text)
|
||||
self:initTextBox()
|
||||
UIManager:setDirty(self.parent, "partial")
|
||||
self:StringToCharlist(text)
|
||||
self:initTextBox()
|
||||
UIManager:setDirty(self.parent, "partial")
|
||||
end
|
||||
|
||||
function InputText:StringToCharlist(text)
|
||||
if text == nil then return end
|
||||
-- clear
|
||||
self.charlist = {}
|
||||
self.charpos = 1
|
||||
local prevcharcode, charcode = 0
|
||||
for uchar in string.gfind(text, "([%z\1-\127\194-\244][\128-\191]*)") do
|
||||
charcode = util.utf8charcode(uchar)
|
||||
if prevcharcode then -- utf8
|
||||
self.charlist[#self.charlist+1] = uchar
|
||||
end
|
||||
prevcharcode = charcode
|
||||
end
|
||||
self.text = self:CharlistToString()
|
||||
self.charpos = #self.charlist+1
|
||||
if text == nil then return end
|
||||
-- clear
|
||||
self.charlist = {}
|
||||
self.charpos = 1
|
||||
local prevcharcode, charcode = 0
|
||||
for uchar in string.gfind(text, "([%z\1-\127\194-\244][\128-\191]*)") do
|
||||
charcode = util.utf8charcode(uchar)
|
||||
if prevcharcode then -- utf8
|
||||
self.charlist[#self.charlist+1] = uchar
|
||||
end
|
||||
prevcharcode = charcode
|
||||
end
|
||||
self.text = self:CharlistToString()
|
||||
self.charpos = #self.charlist+1
|
||||
end
|
||||
|
||||
function InputText:CharlistToString()
|
||||
local s, i = ""
|
||||
for i=1, #self.charlist do
|
||||
s = s .. self.charlist[i]
|
||||
end
|
||||
return s
|
||||
local s, i = ""
|
||||
for i=1, #self.charlist do
|
||||
s = s .. self.charlist[i]
|
||||
end
|
||||
return s
|
||||
end
|
||||
|
||||
return InputText
|
||||
|
||||
Reference in New Issue
Block a user