Update of /cvsroot/qtcsharp/Bugtussle/src/static/kylix
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4052/src/static/kylix
Modified Files:
QtClassesUtils.pas
Log Message:
Index: QtClassesUtils.pas
===================================================================
RCS file: /cvsroot/qtcsharp/Bugtussle/src/static/kylix/QtClassesUtils.pas,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** QtClassesUtils.pas 18 Apr 2005 09:32:21 -0000 1.3
--- QtClassesUtils.pas 12 Jun 2005 20:52:51 -0000 1.4
***************
*** 37,40 ****
--- 37,43 ----
Windows,
{$ENDIF MSWINDOWS}
+ {$IFDEF LINUX}
+ Libc,
+ {$ENDIF LINUX}
QtLibrary, Classes, Contnrs;
***************
*** 77,82 ****
destructor Destroy; override;
! procedure AddSignal(Member: string; const Method);
! procedure AddSlot(Member: string; const Method: TMethod);
end;
--- 80,85 ----
destructor Destroy; override;
! procedure AddSignal(Member: string; Method: Pointer);
! procedure AddSlot(Member: string; Method: Pointer);
end;
***************
*** 130,133 ****
--- 133,162 ----
function QtCast(ToClass: TCWrapperObjectBaseClass; Instance: TCWrapperObjectBase): Pointer;{TCWrapperObjectBase} overload;
+ type
+ PQUType = ^QUType;
+ QUType = object
+ end;
+
+ PQUParameter = ^QUParameter;
+ QUParameter = record
+ Name: PChar;
+ Typ: PQUType;
+ TypeExtra: Pointer;
+ InOut: (inoutIn = 1, inoutOut = 2, inoutInOut = 1 or 2);
+ end;
+
+ PQUMethod = ^QUMethod;
+ QUMethod = record
+ Name: PChar;
+ Count: Integer;
+ Parameters: PQUParameter;
+ end;
+
+ QMetaData = record
+ Name: PChar;
+ Method: PQUMethod;
+ Access: (aPrivate, aProtected, aPublic);
+ end;
+
implementation
***************
*** 161,165 ****
FInstance := AInstance;
FAutoDeleteInstance := AAutoDeleteInstance;
! IntfCastList.Add(AInstance);
end;
--- 190,195 ----
FInstance := AInstance;
FAutoDeleteInstance := AAutoDeleteInstance;
! if AInstance <> nil then
! IntfCastList.Add(AInstance);
end;
***************
*** 258,262 ****
end
else
! Result := nil;
end;
--- 288,292 ----
end
else
! Result := TQtCastObject.Create(nil, False);
end;
***************
*** 273,277 ****
TSignalSlotItem = record
Member: string;
! Method: TMethod;
end;
--- 303,307 ----
TSignalSlotItem = record
Member: string;
! Method: Pointer;
end;
***************
*** 282,290 ****
destructor TSignalSlotList.Destroy;
begin
FList.Free;
end;
! procedure TSignalSlotList.AddSignal(Member: string; const Method);
var
N: PSignalSlotItem;
--- 312,324 ----
destructor TSignalSlotList.Destroy;
+ var
+ i: Integer;
begin
+ for i := 0 to FList.Count - 1 do
+ Dispose(PSignalSlotItem(FList[i]));
FList.Free;
end;
! procedure TSignalSlotList.AddSignal(Member: string; Method: Pointer);
var
N: PSignalSlotItem;
***************
*** 295,303 ****
New(N);
N.Member := Member;
! N.Method := TMethod(Method);
end;
end;
! procedure TSignalSlotList.AddSlot(Member: string; const Method: TMethod);
var
N: PSignalSlotItem;
--- 329,338 ----
New(N);
N.Member := Member;
! N.Method := Method;
! FList.Add(N);
end;
end;
! procedure TSignalSlotList.AddSlot(Member: string; Method: Pointer);
var
N: PSignalSlotItem;
***************
*** 308,312 ****
New(N);
N.Member := Member;
! N.Method := TMethod(Method);
FList.Add(N);
end;
--- 343,347 ----
New(N);
N.Member := Member;
! N.Method := Method;
FList.Add(N);
end;
|