mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-23 02:59:33 +02:00
cocoa: removing LCL custom event LCLEventSubTypeMessage as unused
git-svn-id: trunk@61339 -
This commit is contained in:
parent
ceb695c594
commit
ea39d588f5
@ -173,8 +173,6 @@ type
|
||||
|
||||
function CreateTimer(Interval: integer; TimerFunc: TWSTimerProc): THandle; override;
|
||||
function DestroyTimer(TimerHandle: THandle): boolean; override;
|
||||
function NewUserEventInfo(Handle: HWND; Msg: Cardinal; wParam: WParam; lParam: LParam): NSMutableDictionary;
|
||||
function PrepareUserEvent(Handle: HWND; Info: NSDictionary; NeedsResult: Boolean): NSEvent;
|
||||
|
||||
procedure InitStockItems;
|
||||
procedure FreeStockItems;
|
||||
|
@ -330,60 +330,6 @@ begin
|
||||
NSTimer(obj).invalidate;
|
||||
end;
|
||||
|
||||
function TCocoaWidgetSet.NewUserEventInfo(Handle: HWND; Msg: Cardinal;
|
||||
wParam: WParam; lParam: LParam): NSMutableDictionary;
|
||||
var
|
||||
LocalPool: NSAutoReleasePool;
|
||||
Keys, Objs: NSMutableArray;
|
||||
begin
|
||||
// create a dinctionary
|
||||
LocalPool := NSAutoReleasePool.alloc.init;
|
||||
Keys := NSMutableArray.arrayWithObjects(
|
||||
NSMessageWnd,
|
||||
NSMessageMsg,
|
||||
NSMessageWParam,
|
||||
NSMessageLParam,
|
||||
NSMessageResult,
|
||||
nil);
|
||||
Objs := NSMutableArray.arrayWithObjects(
|
||||
NSNumber.numberWithUnsignedInteger(Handle),
|
||||
NSNumber.numberWithUnsignedLong(Msg),
|
||||
NSNumber.numberWithInteger(wParam),
|
||||
NSNumber.numberWithInteger(lParam),
|
||||
NSNumber.numberWithInteger(0),
|
||||
nil);
|
||||
Result := NSMutableDictionary.dictionaryWithObjects_forKeys(Objs, Keys);
|
||||
Result.retain;
|
||||
// release everything
|
||||
LocalPool.release;
|
||||
end;
|
||||
|
||||
function TCocoaWidgetSet.PrepareUserEvent(Handle: HWND; Info: NSDictionary; NeedsResult: Boolean): NSEvent;
|
||||
var
|
||||
Obj: NSObject;
|
||||
Win: NSWindow;
|
||||
begin
|
||||
Obj := NSObject(Handle);
|
||||
if Obj.isKindOfClass(NSWindow) then
|
||||
Win := NSWindow(Obj)
|
||||
else if Obj.isKindOfClass(NSView) then
|
||||
Win := NSWindow(NSView(Handle).window)
|
||||
else if GetNSObjectView(Obj) <> nil then
|
||||
Win := NSWindow(GetNSObjectView(Obj).window)
|
||||
else
|
||||
Exit(nil);
|
||||
Result := NSEvent.otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2(
|
||||
NSApplicationDefined,
|
||||
NSZeroPoint,
|
||||
0,
|
||||
GetCurrentEventTime,
|
||||
Win.windowNumber,
|
||||
nil,
|
||||
LCLEventSubTypeMessage,
|
||||
NSInteger(Info),
|
||||
NSInteger(NeedsResult));
|
||||
end;
|
||||
|
||||
procedure TCocoaWidgetSet.InitStockItems;
|
||||
var
|
||||
LogBrush: TLogBrush;
|
||||
|
@ -11,8 +11,6 @@ uses
|
||||
SysUtils, Types, LCLType, LCLClasses, LCLProc,
|
||||
Graphics, Math, GraphType;
|
||||
|
||||
const
|
||||
LCLEventSubTypeMessage = MaxShort - 1;
|
||||
var
|
||||
// post message/send message string. Created by TCocoaWidgetSet
|
||||
NSMessageWnd, NSMessageMsg, NSMessageWParam, NSMessageLParam, NSMessageResult: NSString;
|
||||
|
@ -112,7 +112,6 @@ type
|
||||
procedure mouseEntered(event: NSEvent); override;
|
||||
procedure mouseExited(event: NSEvent); override;
|
||||
procedure mouseMoved(event: NSEvent); override;
|
||||
procedure sendEvent(event: NSEvent); override;
|
||||
end;
|
||||
|
||||
{ TCocoaWindow }
|
||||
@ -688,42 +687,6 @@ begin
|
||||
inherited mouseMoved(event);
|
||||
end;
|
||||
|
||||
procedure TCocoaPanel.sendEvent(event: NSEvent);
|
||||
var
|
||||
Message: NSMutableDictionary;
|
||||
Handle: HWND;
|
||||
Msg: Cardinal;
|
||||
WP: WParam;
|
||||
LP: LParam;
|
||||
ResultCode: NSNumber;
|
||||
Obj: NSObject;
|
||||
begin
|
||||
if event.type_ = NSApplicationDefined then
|
||||
begin
|
||||
// event which we get through PostMessage or SendMessage
|
||||
if event.subtype = LCLEventSubTypeMessage then
|
||||
begin
|
||||
// extract message data
|
||||
Message := NSMutableDictionary(event.data1);
|
||||
Handle := NSNumber(Message.objectForKey(NSMessageWnd)).unsignedIntegerValue;
|
||||
Msg := NSNumber(Message.objectForKey(NSMessageMsg)).unsignedLongValue;
|
||||
WP := NSNumber(Message.objectForKey(NSMessageWParam)).integerValue;
|
||||
LP := NSNumber(Message.objectForKey(NSMessageLParam)).integerValue;
|
||||
Obj := NSObject(Handle);
|
||||
// deliver message and set result if response requested
|
||||
// todo: check that Obj is still a valid NSView/NSWindow
|
||||
ResultCode := NSNumber.numberWithInteger(Obj.lclDeliverMessage(Msg, WP, LP));
|
||||
if event.data2 <> 0 then
|
||||
Message.setObject_forKey(ResultCode, NSMessageResult)
|
||||
else
|
||||
Message.release;
|
||||
//ResultCode.release; // will be auto-released
|
||||
end;
|
||||
end
|
||||
else
|
||||
inherited sendEvent(event);
|
||||
end;
|
||||
|
||||
{ TCocoaWindow }
|
||||
|
||||
function TCocoaWindow.windowShouldClose(sender: id): LongBool;
|
||||
@ -956,42 +919,11 @@ end;
|
||||
|
||||
procedure TCocoaWindow.sendEvent(event: NSEvent);
|
||||
var
|
||||
Message: NSMutableDictionary;
|
||||
Handle: HWND;
|
||||
Msg: Cardinal;
|
||||
WP: WParam;
|
||||
LP: LParam;
|
||||
ResultCode: NSNumber;
|
||||
Obj: NSObject;
|
||||
|
||||
Epos: NSPoint;
|
||||
cr : NSRect;
|
||||
fr : NSRect;
|
||||
prc: Boolean;
|
||||
begin
|
||||
if event.type_ = NSApplicationDefined then
|
||||
begin
|
||||
// event which we get through PostMessage or SendMessage
|
||||
if event.subtype = LCLEventSubTypeMessage then
|
||||
begin
|
||||
// extract message data
|
||||
Message := NSMutableDictionary(event.data1);
|
||||
Handle := NSNumber(Message.objectForKey(NSMessageWnd)).unsignedIntegerValue;
|
||||
Msg := NSNumber(Message.objectForKey(NSMessageMsg)).unsignedLongValue;
|
||||
WP := NSNumber(Message.objectForKey(NSMessageWParam)).integerValue;
|
||||
LP := NSNumber(Message.objectForKey(NSMessageLParam)).integerValue;
|
||||
// deliver message and set result if response requested
|
||||
Obj := NSObject(Handle);
|
||||
// todo: check that Obj is still a valid NSView/NSWindow
|
||||
ResultCode := NSNumber.numberWithInteger(Obj.lclDeliverMessage(Msg, WP, LP));
|
||||
if event.data2 <> 0 then
|
||||
Message.setObject_forKey(ResultCode, NSMessageResult)
|
||||
else
|
||||
Message.release;
|
||||
//ResultCode.release; // will be auto-released
|
||||
end;
|
||||
end
|
||||
else
|
||||
if event.type_ = NSLeftMouseUp then
|
||||
// This code is introduced here for an odd cocoa feature.
|
||||
// mouseUp is not fired, if pressed on Window's title.
|
||||
|
Loading…
Reference in New Issue
Block a user