added 2 objects, added onBackgroundKey Event
added image object added pane object added new event: onBackgroundKey: listens to incomming key events without beeing the focused object
This commit is contained in:
30
basalt.lua
30
basalt.lua
@@ -620,6 +620,17 @@ local function Object(name) -- Base object
|
||||
return self
|
||||
end;
|
||||
|
||||
onBackgroundKey = function(self, func)
|
||||
self:registerEvent("background_key", func)
|
||||
self:registerEvent("background_char", func)
|
||||
return self
|
||||
end;
|
||||
|
||||
onBackgroundKeyUp = function(self, func)
|
||||
self:registerEvent("background_key_up", func)
|
||||
return self
|
||||
end;
|
||||
|
||||
isFocused = function(self)
|
||||
if(self.parent~=nil)then
|
||||
return self.parent:getFocusedObject()==self
|
||||
@@ -663,6 +674,10 @@ local function Object(name) -- Base object
|
||||
return false
|
||||
end;
|
||||
|
||||
backgroundKeyHandler = function(self, event, key)
|
||||
eventSystem:sendEvent("background_"..event, self, event, key)
|
||||
end;
|
||||
|
||||
valueChangedHandler = function(self)
|
||||
eventSystem:sendEvent("value_changed", self)
|
||||
end;
|
||||
@@ -3282,6 +3297,19 @@ local function Frame(name,parent) -- Frame
|
||||
return false
|
||||
end;
|
||||
|
||||
backgroundKeyHandler = function(self, event, key)
|
||||
base.backgroundKeyHandler(self, event, key)
|
||||
for _,index in pairs(objZIndex)do
|
||||
if(objects[index]~=nil)then
|
||||
for _,v in pairs(objects[index])do
|
||||
if(v.backgroundKeyHandler~=nil)then
|
||||
v:backgroundKeyHandler(event,key)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end;
|
||||
|
||||
eventHandler = function(self, event, p1, p2, p3, p4)
|
||||
base.eventHandler(self, event, p1, p2, p3, p4)
|
||||
for _,index in pairs(objZIndex)do
|
||||
@@ -3601,7 +3629,7 @@ local function basaltUpdateEvent(event, p1,p2,p3,p4)
|
||||
if(event=="mouse_drag")then activeFrame:mouseHandler(event,p1,p2,p3,p4) end
|
||||
if(event=="mouse_up")then activeFrame:mouseHandler(event,p1,p2,p3,p4) end
|
||||
if(event=="mouse_scroll")then activeFrame:mouseHandler(event,p1,p2,p3,p4) end
|
||||
if(event=="key")or(event=="char")then activeFrame:keyHandler(event,p1,p2,p3,p4) end
|
||||
if(event=="key")or(event=="char")then activeFrame:keyHandler(event,p1) activeFrame:backgroundKeyHandler(event,p1) end
|
||||
for _,v in pairs(frames)do
|
||||
v:eventHandler(event, p1, p2, p3, p4)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user