mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-07 00:33:06 +01:00
added hint for unimplemented IDE directives for non pascal sources
git-svn-id: trunk@5657 -
This commit is contained in:
parent
b4e039e934
commit
b2e93949f4
@ -63,6 +63,9 @@ type
|
|||||||
|
|
||||||
TJITReaderErrorEvent = procedure(Sender: TObject; ErrorType: TJITFormError;
|
TJITReaderErrorEvent = procedure(Sender: TObject; ErrorType: TJITFormError;
|
||||||
var Action: TModalResult) of object;
|
var Action: TModalResult) of object;
|
||||||
|
TJITPropertyNotFoundEvent = procedure(Sender: TObject; Reader: TReader;
|
||||||
|
Instance: TPersistent; var PropName: string; IsPath: boolean;
|
||||||
|
var Handled, Skip: Boolean) of object;
|
||||||
|
|
||||||
|
|
||||||
{ TJITComponentList }
|
{ TJITComponentList }
|
||||||
@ -77,6 +80,7 @@ type
|
|||||||
FComponentPrefix: string;
|
FComponentPrefix: string;
|
||||||
FCurUnknownClass: string;
|
FCurUnknownClass: string;
|
||||||
FCurUnknownProperty: string;
|
FCurUnknownProperty: string;
|
||||||
|
FOnPropertyNotFound: TJITPropertyNotFoundEvent;
|
||||||
procedure SetComponentPrefix(const AValue: string);
|
procedure SetComponentPrefix(const AValue: string);
|
||||||
protected
|
protected
|
||||||
FCurReadErrorMsg: string;
|
FCurReadErrorMsg: string;
|
||||||
@ -160,6 +164,8 @@ type
|
|||||||
BaseJITClass: TJITClass;
|
BaseJITClass: TJITClass;
|
||||||
property OnReaderError: TJITReaderErrorEvent
|
property OnReaderError: TJITReaderErrorEvent
|
||||||
read FOnReaderError write FOnReaderError;
|
read FOnReaderError write FOnReaderError;
|
||||||
|
property OnPropertyNotFound: TJITPropertyNotFoundEvent
|
||||||
|
read FOnPropertyNotFound write FOnPropertyNotFound;
|
||||||
property CurReadJITComponent:TComponent read FCurReadJITComponent;
|
property CurReadJITComponent:TComponent read FCurReadJITComponent;
|
||||||
property CurReadClass:TClass read FCurReadClass;
|
property CurReadClass:TClass read FCurReadClass;
|
||||||
property CurReadChild: TComponent read FCurReadChild;
|
property CurReadChild: TComponent read FCurReadChild;
|
||||||
@ -822,13 +828,13 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
TReader events.
|
TReader events.
|
||||||
If a LFM is streamed back into the corresponfing TForm descendent, all methods
|
Normally at runtime a LFM is streamed back into the corresponding TForm
|
||||||
and components are published members and TReader can set these values.
|
descendent, all methods and components are published members and TReader can
|
||||||
|
set these values.
|
||||||
But at design time we do not have the corresponding TForm descendent. And
|
But at design time we do not have the corresponding TForm descendent. And
|
||||||
there is no compiled code, thus it must be produced it at runtime
|
there is no compiled code, thus it must be produced it at runtime
|
||||||
(just-in-time).
|
(just-in-time).
|
||||||
}
|
}
|
||||||
|
|
||||||
procedure TJITComponentList.ReaderFindMethod(Reader: TReader;
|
procedure TJITComponentList.ReaderFindMethod(Reader: TReader;
|
||||||
const FindMethodName: Ansistring; var Address: Pointer; var Error: Boolean);
|
const FindMethodName: Ansistring; var Address: Pointer; var Error: Boolean);
|
||||||
var NewMethod: TMethod;
|
var NewMethod: TMethod;
|
||||||
@ -850,8 +856,12 @@ procedure TJITComponentList.ReaderPropertyNotFound(Reader: TReader;
|
|||||||
Instance: TPersistent; var PropName: string; IsPath: Boolean;
|
Instance: TPersistent; var PropName: string; IsPath: Boolean;
|
||||||
var Handled, Skip: Boolean);
|
var Handled, Skip: Boolean);
|
||||||
begin
|
begin
|
||||||
// this is pretty normal for extra properties in DefineProperties
|
// FCL in VER1_9_4 and below creates this event for DefineProperties too
|
||||||
//writeln('TJITComponentList.ReaderPropertyNotFound ',Instance.ClassName,'.',PropName);
|
{$IFNDEF VER1_9_4}
|
||||||
|
writeln('TJITComponentList.ReaderPropertyNotFound ',Instance.ClassName,'.',PropName);
|
||||||
|
if Assigned(OnPropertyNotFound) then
|
||||||
|
OnPropertyNotFound(Self,Reader,Instance,PropName,IsPath,Handled,Skip);
|
||||||
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TJITComponentList.ReaderSetMethodProperty(Reader: TReader;
|
procedure TJITComponentList.ReaderSetMethodProperty(Reader: TReader;
|
||||||
|
|||||||
@ -76,16 +76,16 @@ each control that's dropped onto the form
|
|||||||
constructor Create(AComponent: TComponent);
|
constructor Create(AComponent: TComponent);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
|
|
||||||
Function GetComponentType : ShortString; override;
|
Function GetComponentType: ShortString; override;
|
||||||
Function GetComponentHandle : LongInt; override;
|
Function GetComponentHandle: LongInt; override;
|
||||||
Function GetParent : TIComponentInterface; override;
|
Function GetParent: TIComponentInterface; override;
|
||||||
Function IsTControl : Boolean; override;
|
Function IsTControl: Boolean; override;
|
||||||
Function GetPropCount : Integer; override;
|
Function GetPropCount: Integer; override;
|
||||||
Function GetPropType(Index : Integer) : TTypeKind; override;
|
Function GetPropType(Index: Integer): TTypeKind; override;
|
||||||
Function GetPropTypeInfo(Index : Integer) : PTypeInfo;
|
Function GetPropTypeInfo(Index: Integer): PTypeInfo;
|
||||||
Function GetPropName(Index : Integer) : ShortString; override;
|
Function GetPropName(Index: Integer): ShortString; override;
|
||||||
Function GetPropTypeName(Index : Integer) : ShortString; override;
|
Function GetPropTypeName(Index: Integer): ShortString; override;
|
||||||
Function GetPropTypebyName(Name : ShortString) : TTypeKind; override;
|
Function GetPropTypebyName(Name: ShortString): TTypeKind; override;
|
||||||
|
|
||||||
Function GetPropValue(Index : Integer; var Value) : Boolean; override;
|
Function GetPropValue(Index : Integer; var Value) : Boolean; override;
|
||||||
Function GetPropValuebyName(Name: ShortString; var Value) : Boolean; override;
|
Function GetPropValuebyName(Name: ShortString; var Value) : Boolean; override;
|
||||||
@ -127,6 +127,9 @@ each control that's dropped onto the form
|
|||||||
procedure SetObj_Inspector(AnObjectInspector: TObjectInspector); virtual;
|
procedure SetObj_Inspector(AnObjectInspector: TObjectInspector); virtual;
|
||||||
procedure JITListReaderError(Sender: TObject; ErrorType: TJITFormError;
|
procedure JITListReaderError(Sender: TObject; ErrorType: TJITFormError;
|
||||||
var Action: TModalResult); virtual;
|
var Action: TModalResult); virtual;
|
||||||
|
procedure JITListPropertyNotFound(Sender: TObject; Reader: TReader;
|
||||||
|
Instance: TPersistent; var PropName: string; IsPath: boolean;
|
||||||
|
var Handled, Skip: Boolean);
|
||||||
|
|
||||||
procedure OnDesignerMenuItemClick(Sender: TObject); virtual;
|
procedure OnDesignerMenuItemClick(Sender: TObject); virtual;
|
||||||
function FindNonControlFormNode(LookupRoot: TComponent): TAVLTreeNode;
|
function FindNonControlFormNode(LookupRoot: TComponent): TAVLTreeNode;
|
||||||
@ -651,10 +654,12 @@ begin
|
|||||||
|
|
||||||
JITFormList := TJITForms.Create;
|
JITFormList := TJITForms.Create;
|
||||||
JITFormList.OnReaderError:=@JITListReaderError;
|
JITFormList.OnReaderError:=@JITListReaderError;
|
||||||
|
JITFormList.OnPropertyNotFound:=@JITListPropertyNotFound;
|
||||||
|
|
||||||
JITDataModuleList := TJITDataModules.Create;
|
JITDataModuleList := TJITDataModules.Create;
|
||||||
JITDataModuleList.OnReaderError:=@JITListReaderError;
|
JITDataModuleList.OnReaderError:=@JITListReaderError;
|
||||||
|
JITDataModuleList.OnPropertyNotFound:=@JITListPropertyNotFound;
|
||||||
|
|
||||||
DesignerMenuItemClick:=@OnDesignerMenuItemClick;
|
DesignerMenuItemClick:=@OnDesignerMenuItemClick;
|
||||||
OnGetDesignerForm:=@GetDesignerForm;
|
OnGetDesignerForm:=@GetDesignerForm;
|
||||||
end;
|
end;
|
||||||
@ -1230,6 +1235,14 @@ begin
|
|||||||
@CompareLookupRootAndNonControlForm);
|
@CompareLookupRootAndNonControlForm);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCustomFormEditor.JITListPropertyNotFound(Sender: TObject;
|
||||||
|
Reader: TReader; Instance: TPersistent; var PropName: string;
|
||||||
|
IsPath: boolean; var Handled, Skip: Boolean);
|
||||||
|
begin
|
||||||
|
writeln('TCustomFormEditor.JITListPropertyNotFound ',Sender.ClassName,
|
||||||
|
' Instance=',Instance.ClassName,' PropName="',PropName,'" IsPath=',IsPath);
|
||||||
|
end;
|
||||||
|
|
||||||
function TCustomFormEditor.GetPropertyEditorHook: TPropertyEditorHook;
|
function TCustomFormEditor.GetPropertyEditorHook: TPropertyEditorHook;
|
||||||
begin
|
begin
|
||||||
Result:=Obj_Inspector.PropertyEditorHook;
|
Result:=Obj_Inspector.PropertyEditorHook;
|
||||||
|
|||||||
11
ide/main.pp
11
ide/main.pp
@ -6429,6 +6429,9 @@ begin
|
|||||||
|
|
||||||
end else begin
|
end else begin
|
||||||
// ToDo: load .lfi file
|
// ToDo: load .lfi file
|
||||||
|
MessageDlg('Not implemented',
|
||||||
|
'Sorry, IDE directives are only implemented for pascal sources',
|
||||||
|
mtInformation,[mbCancel],0);
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
Result:=mrOk;
|
Result:=mrOk;
|
||||||
@ -8770,7 +8773,10 @@ function TMainIDE.BeginCodeTool(ADesigner: TDesigner;
|
|||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
if (SourceNoteBook.NoteBook=nil)
|
if (SourceNoteBook.NoteBook=nil)
|
||||||
or (ToolStatus in [itCodeTools,itCodeToolAborting]) then exit;
|
or (ToolStatus in [itCodeTools,itCodeToolAborting]) then begin
|
||||||
|
debugln('TMainIDE.BeginCodeTool impossible ',dbgs(ord(ToolStatus)));
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
if ctfSwitchToFormSource in Flags then
|
if ctfSwitchToFormSource in Flags then
|
||||||
DoSwitchToFormSrc(ADesigner,ActiveSrcEdit,ActiveUnitInfo)
|
DoSwitchToFormSrc(ADesigner,ActiveSrcEdit,ActiveUnitInfo)
|
||||||
else if Designer<>nil then
|
else if Designer<>nil then
|
||||||
@ -10448,6 +10454,9 @@ end.
|
|||||||
|
|
||||||
{ =============================================================================
|
{ =============================================================================
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.736 2004/07/07 17:10:02 mattias
|
||||||
|
added hint for unimplemented IDE directives for non pascal sources
|
||||||
|
|
||||||
Revision 1.735 2004/07/03 15:10:57 mattias
|
Revision 1.735 2004/07/03 15:10:57 mattias
|
||||||
added insert IFDEF tool from Colin
|
added insert IFDEF tool from Colin
|
||||||
|
|
||||||
|
|||||||
@ -580,7 +580,7 @@ var
|
|||||||
if EventString <> nil
|
if EventString <> nil
|
||||||
then begin
|
then begin
|
||||||
EventString^ := #0;
|
EventString^ := #0;
|
||||||
EventString^ := #0;
|
// MG: should we set Event^.length := 0; or is this used for mem allocation?
|
||||||
end;
|
end;
|
||||||
{MWE:.$EndIf}
|
{MWE:.$EndIf}
|
||||||
|
|
||||||
@ -793,6 +793,7 @@ begin
|
|||||||
|
|
||||||
if (EventString<>nil) and (Msg.CharCode <> ord(EventString^))
|
if (EventString<>nil) and (Msg.CharCode <> ord(EventString^))
|
||||||
then begin
|
then begin
|
||||||
|
writeln('HandleGTKKeyUpDown A');
|
||||||
// key was changed by lcl
|
// key was changed by lcl
|
||||||
if Msg.CharCode=0 then
|
if Msg.CharCode=0 then
|
||||||
StopKeyEvent('key_press_event')
|
StopKeyEvent('key_press_event')
|
||||||
@ -3111,6 +3112,9 @@ end;
|
|||||||
{ =============================================================================
|
{ =============================================================================
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.237 2004/07/07 17:10:02 mattias
|
||||||
|
added hint for unimplemented IDE directives for non pascal sources
|
||||||
|
|
||||||
Revision 1.236 2004/06/29 21:25:52 marc
|
Revision 1.236 2004/06/29 21:25:52 marc
|
||||||
* Fixed compilation for gtk2
|
* Fixed compilation for gtk2
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user