MG: started component renaming

git-svn-id: trunk@1646 -
This commit is contained in:
lazarus 2002-04-27 18:56:50 +00:00
parent a866d8f430
commit f3cb25dc9c
9 changed files with 211 additions and 70 deletions

View File

@ -272,6 +272,9 @@ type
const AClassName,VarName, VarType: string): boolean;
function RemovePublishedVariable(Code: TCodeBuffer;
const AClassName, AVarName: string): boolean;
function RenamePublishedVariable(Code: TCodeBuffer;
const AClassName, OldVariableName, NewVarName,
VarType: shortstring): boolean;
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -1304,9 +1307,9 @@ function TCodeToolManager.RemovePublishedVariable(Code: TCodeBuffer;
const AClassName, AVarName: string): boolean;
begin
Result:=false;
{$IFDEF CTDEBUG}
writeln('TCodeToolManager.RemovePublishedVariable A ',Code.Filename,' ',AClassName,':',AVarName);
{$ENDIF}
{$IFDEF CTDEBUG}
writeln('TCodeToolManager.RemovePublishedVariable A ',Code.Filename,' ',AClassName,':',AVarName);
{$ENDIF}
if not InitCurCodeTool(Code) then exit;
try
Result:=FCurCodeTool.RemovePublishedVariable(UpperCaseStr(AClassName),
@ -1316,13 +1319,30 @@ writeln('TCodeToolManager.RemovePublishedVariable A ',Code.Filename,' ',AClassNa
end;
end;
function TCodeToolManager.RenamePublishedVariable(Code: TCodeBuffer;
const AClassName, OldVariableName, NewVarName, VarType: shortstring): boolean;
begin
Result:=false;
{$IFDEF CTDEBUG}
writeln('TCodeToolManager.RenamePublishedVariable A ',Code.Filename,' ',AClassName,' OldVar=',OldVarName,' NewVar=',NewVarName);
{$ENDIF}
if not InitCurCodeTool(Code) then exit;
try
Result:=FCurCodeTool.RenamePublishedVariable(UpperCaseStr(AClassName),
UpperCaseStr(OldVariableName),NewVarName,VarType,
SourceChangeCache);
except
on e: Exception do Result:=HandleException(e);
end;
end;
function TCodeToolManager.OnScannerGetInitValues(Code: Pointer;
var AChangeStep: integer): TExpressionEvaluator;
begin
Result:=nil;
AChangeStep:=DefineTree.ChangeStep;
if Code=nil then exit;
//DefineTree.WriteDebugReport;
//DefineTree.WriteDebugReport;
if not TCodeBuffer(Code).IsVirtual then
Result:=DefineTree.GetDefinesForDirectory(
ExtractFilePath(TCodeBuffer(Code).Filename))
@ -1334,7 +1354,7 @@ procedure TCodeToolManager.OnDefineTreeReadValue(Sender: TObject;
const VariableName: string; var Value: string);
begin
Value:=GlobalValues[VariableName];
//writeln('[TCodeToolManager.OnDefineTreeReadValue] Name="',VariableName,'" = "',Value,'"');
//writeln('[TCodeToolManager.OnDefineTreeReadValue] Name="',VariableName,'" = "',Value,'"');
end;
procedure TCodeToolManager.OnGlobalValuesChanged;

View File

@ -652,6 +652,7 @@ begin
Add('PROPERTY',{$ifdef FPC}@{$endif}AllwaysTrue);
Add('RAISE',{$ifdef FPC}@{$endif}AllwaysTrue);
Add('RECORD',{$ifdef FPC}@{$endif}AllwaysTrue);
Add('RESOURCESTRING',{$ifdef FPC}@{$endif}AllwaysTrue);
Add('REPEAT',{$ifdef FPC}@{$endif}AllwaysTrue);
Add('SET',{$ifdef FPC}@{$endif}AllwaysTrue);
Add('SHL',{$ifdef FPC}@{$endif}AllwaysTrue);

View File

@ -45,9 +45,9 @@ uses
{$IFDEF MEM_CHECK}
MemCheck,
{$ENDIF}
Classes, SysUtils, CodeTree, CodeAtom, FindDeclarationTool, PascalParserTool,
SourceLog, KeywordFuncLists, BasicCodeTools, LinkScanner, CodeCache, AVL_Tree,
TypInfo, SourceChanger;
Classes, SysUtils, CodeToolsStrConsts, CodeTree, CodeAtom,
FindDeclarationTool, PascalParserTool, SourceLog, KeywordFuncLists,
BasicCodeTools, LinkScanner, CodeCache, AVL_Tree, TypInfo, SourceChanger;
type
TStandardCodeTool = class(TFindDeclarationTool)
@ -120,7 +120,10 @@ type
SourceChangeCache: TSourceChangeCache): boolean;
function RemovePublishedVariable(const UpperClassName, UpperVarName: string;
SourceChangeCache: TSourceChangeCache): boolean;
function RenamePublishedVariable(const UpperClassName,
UpperOldVarName: string; const NewVarName, VarType: shortstring;
SourceChangeCache: TSourceChangeCache): boolean;
// blocks (e.g. begin..end)
function FindBlockCounterPart(CursorPos: TCodeXYPosition;
var NewPos: TCodeXYPosition; var NewTopLine: integer): boolean;
@ -999,6 +1002,43 @@ begin
Result:=SourceChangeCache.Apply;
end;
function TStandardCodeTool.RenamePublishedVariable(const UpperClassName,
UpperOldVarName: string; const NewVarName, VarType: shortstring;
SourceChangeCache: TSourceChangeCache): boolean;
var TypeNode, VarNode: TCodeTreeNode;
begin
Result:=false;
VarNode:=FindPublishedVariable(UpperClassName,UpperOldVarName);
if VarNode<>nil then begin
// old variable found
// check type
TypeNode:=FindTypeNodeOfDefinition(VarNode);
MoveCursorToNodeStart(TypeNode);
ReadNextAtom;
if AtomIs(VarType) then begin
// rename the identifier
MoveCursorToNodeStart(VarNode);
ReadNextAtom;
SourceChangeCache.MainScanner:=Scanner;
if not SourceChangeCache.Replace(gtNone,gtNone,
CurPos.StartPos,CurPos.EndPos,NewVarName)
then
exit;
end else begin
// auto correct type
// ToDo: auto correct
RaiseExceptionFmt(ctsStrExpectedButAtomFound,[VarType,GetAtom]);
end;
Result:=SourceChangeCache.Apply;
end else begin
// old variable not found -> add it
Result:=AddPublishedVariable(UpperClassName,NewVarName, VarType,
SourceChangeCache);
end;
end;
function TStandardCodeTool.FindBlockCounterPart(CursorPos: TCodeXYPosition;
var NewPos: TCodeXYPosition; var NewTopLine: integer): boolean;
// jump from bracket-open to bracket-close or 'begin' to 'end'

View File

@ -28,6 +28,8 @@ uses
AlignCompsDlg, SizeCompsDlg, ScaleCompsDlg, ExtCtrls;
type
TDesigner = class;
TOnGetSelectedComponentClass = procedure(Sender: TObject;
var RegisteredComponent: TRegisteredComponent) of object;
TOnSetDesigning = procedure(Sender: TObject; Component: TComponent;
@ -38,6 +40,8 @@ type
of object;
TOnGetNonVisualCompIconCanvas = procedure(Sender: TObject;
AComponent: TComponent; var IconCanvas: TCanvas) of object;
TOnRenameComponent = procedure(Designer: TDesigner; AComponent: TComponent;
const NewName: string) of object;
TDesigner = class(TIDesigner)
private
@ -57,6 +61,7 @@ type
FOnSetDesigning: TOnSetDesigning;
FOnUnselectComponentClass: TNotifyEvent;
FOnActivated: TNotifyEvent;
FOnRenameComponent: TOnRenameComponent;
FPopupMenu: TPopupMenu;
FAlignMenuItem: TMenuItem;
FMirrorHorizontalMenuItem: TMenuItem;
@ -133,6 +138,8 @@ type
read FOnUnselectComponentClass write FOnUnselectComponentClass;
property OnActivated: TNotifyEvent
read FOnActivated write FOnActivated;
property OnRenameComponent: TOnRenameComponent
read FOnRenameComponent write FOnRenameComponent;
function NonVisualComponentAtPos(x,y: integer): TComponent;
procedure DrawNonVisualComponents(DC: HDC);
property OnGetNonVisualCompIconCanvas: TOnGetNonVisualCompIconCanvas
@ -802,7 +809,11 @@ end;
procedure TDesigner.ValidateRename(AComponent: TComponent;
const CurName, NewName: string);
Begin
writeln('ToDo: TDesigner.ValidateRename ',CurName,', ',NewName);
if AComponent=nil then AComponent:=FCustomForm;
if CurName<>AComponent.Name then
writeln('WARNING: TDesigner.ValidateRename: OldComponentName="',CurName,'"');
if Assigned(OnRenameComponent) then
OnRenameComponent(Self,AComponent,NewName);
end;
function TDesigner.GetIsControl: Boolean;

View File

@ -118,13 +118,15 @@ type
end;
//----------------------------------------------------------------------------
TOIPropertyGridState = (pgsChangingItemIndex, pgsApplyingValue);
TOIPropertyGridStates = set of TOIPropertyGridState;
TOIPropertyGrid = class(TCustomControl)
private
FComponentList: TComponentSelectionList;
FPropertyEditorHook:TPropertyEditorHook;
FFilter: TTypeKinds;
FItemIndex:integer;
FChangingItemIndex:boolean;
FRows:TList;
FExpandingRow:TOIPropertyGridRow;
FTopY:integer;
@ -141,6 +143,7 @@ type
FOnModified: TNotifyEvent;
FExpandedProperties:TStringList;
FBorderStyle:TBorderStyle;
FStates: TOIPropertyGridStates;
//hint stuff
FHintTimer : TTimer;
@ -319,7 +322,7 @@ begin
FPropertyEditorHook:=APropertyEditorHook;
FFilter:=TypeFilter;
FItemIndex:=-1;
FChangingItemIndex:=false;
FStates:=[];
FRows:=TList.Create;
FExpandingRow:=nil;
FDragging:=false;
@ -560,7 +563,8 @@ procedure TOIPropertyGrid.SetRowValue;
var CurRow:TOIPropertyGridRow;
NewValue:string;
begin
if (FChangingItemIndex=false) and (FCurrentEdit<>nil)
if (FStates*[pgsChangingItemIndex,pgsApplyingValue]=[])
and (FCurrentEdit<>nil)
and (FItemIndex>=0) and (FItemIndex<FRows.Count) then begin
CurRow:=Rows[FItemIndex];
if FCurrentEdit=ValueEdit then
@ -570,12 +574,19 @@ begin
if length(NewValue)>CurRow.Editor.GetEditLimit then
NewValue:=LeftStr(NewValue,CurRow.Editor.GetEditLimit);
if NewValue<>CurRow.Editor.GetVisualValue then begin
Include(FStates,pgsApplyingValue);
try
CurRow.Editor.SetValue(NewValue);
except
on E: Exception do
MessageDlg(E.Message,mtError,[mbOk],0);
on E: Exception do begin
MessageDlg('Error',E.Message,mtError,[mbOk],0);
if FCurrentEdit=ValueEdit then
ValueEdit.Text:=CurRow.Editor.GetVisualValue
else
ValueComboBox.Text:=CurRow.Editor.GetVisualValue;
end;
end;
Exclude(FStates,pgsApplyingValue);
if Assigned(FOnModified) then FOnModified(Self);
end;
end;
@ -584,11 +595,16 @@ end;
procedure TOIPropertyGrid.ValueEditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_UP) and (FItemIndex>0) then begin
ItemIndex:=ItemIndex-1;
end;
if (Key=VK_Down) and (FItemIndex<FRows.Count-1) then begin
ItemIndex:=ItemIndex+1;
case Key of
VK_UP:
if (FItemIndex>0) then ItemIndex:=ItemIndex-1;
VK_Down:
if (FItemIndex<FRows.Count-1) then ItemIndex:=ItemIndex+1;
VK_RETURN:
SetRowValue;
end;
end;
@ -653,7 +669,7 @@ var NewRow:TOIPropertyGridRow;
NewValue:string;
begin
SetRowValue;
FChangingItemIndex:=true;
Include(FStates,pgsChangingItemIndex);
if (FItemIndex<>NewIndex) then begin
if (FItemIndex>=0) and (FItemIndex<FRows.Count) then
Rows[FItemIndex].Editor.Deactivate;
@ -706,7 +722,7 @@ begin
FCurrentButton.Enabled:=true;
end;
end;
FChangingItemIndex:=false;
Exclude(FStates,pgsChangingItemIndex);
end;
function TOIPropertyGrid.GetRowCount:integer;

View File

@ -47,12 +47,12 @@ implementation
constructor TFormEditor.Create;
Begin
inherited;
inherited;
end;
destructor TFormEditor.destroy;
Begin
inherited;
inherited;
end;
end.

View File

@ -36,14 +36,14 @@ uses
Buttons, Menus, ComCtrls, Spin, Project, SysUtils, FileCtrl, Controls,
Graphics, ExtCtrls, Dialogs, LazConf, CompReg, CodeToolManager, CodeCache,
DefineTemplates, MsgView, NewProjectDlg, IDEComp, AbstractFormEditor,
FormEditor, CustomFormEditor, ObjectInspector, PropEdits, ControlSelection,
UnitEditor, CompilerOptions, EditorOptions, EnvironmentOpts, TransferMacros,
SynEditKeyCmds, KeyMapping, ProjectOpts, IDEProcs, Process, UnitInfoDlg,
Debugger, DBGOutputForm, GDBMIDebugger, RunParamsOpts, ExtToolDialog,
MacroPromptDlg, LMessages, ProjectDefs, Watchesdlg, BreakPointsdlg, ColumnDlg,
OutputFilter, BuildLazDialog, MiscOptions, EditDefineTree, CodeToolsOptions,
TypInfo, IDEOptionDefs, CodeToolsDefines, LocalsDlg, DebuggerDlg,
InputHistory,
Designer, FormEditor, CustomFormEditor, ObjectInspector, PropEdits,
ControlSelection, UnitEditor, CompilerOptions, EditorOptions, EnvironmentOpts,
TransferMacros, SynEditKeyCmds, KeyMapping, ProjectOpts, IDEProcs, Process,
UnitInfoDlg, Debugger, DBGOutputForm, GDBMIDebugger, RunParamsOpts,
ExtToolDialog, MacroPromptDlg, LMessages, ProjectDefs, Watchesdlg,
BreakPointsdlg, ColumnDlg, OutputFilter, BuildLazDialog, MiscOptions,
EditDefineTree, CodeToolsOptions, TypInfo, IDEOptionDefs, CodeToolsDefines,
LocalsDlg, DebuggerDlg, InputHistory,
BaseDebugManager, DebugManager, MainBar;
type
@ -177,6 +177,23 @@ type
procedure OnPropHookShowMethod(const AMethodName:ShortString);
procedure OnPropHookRenameMethod(const CurName, NewName:ShortString);
// designer
procedure OnDesignerGetSelectedComponentClass(Sender: TObject;
var RegisteredComponent: TRegisteredComponent);
procedure OnDesignerUnselectComponentClass(Sender: TObject);
procedure OnDesignerSetDesigning(Sender: TObject; Component: TComponent;
Value: boolean);
procedure OnDesignerComponentListChanged(Sender: TObject);
procedure OnDesignerPropertiesChanged(Sender: TObject);
procedure OnDesignerAddComponent(Sender: TObject; Component: TComponent;
ComponentClass: TRegisteredComponent);
procedure OnDesignerRemoveComponent(Sender: TObject; Component: TComponent);
procedure OnDesignerModified(Sender: TObject);
Procedure OnDesignerActivated(Sender : TObject);
procedure OnDesignerRenameComponent(ADesigner: TDesigner;
AComponent: TComponent; const NewName: string);
procedure OnControlSelectionChanged(Sender: TObject);
// Environment options dialog events
procedure OnLoadEnvironmentSettings(Sender: TObject;
TheEnvironmentOptions: TEnvironmentOptions);
@ -354,7 +371,7 @@ type
ActiveUnitInfo: TUnitInfo;
NewSource: TCodeBuffer; NewX, NewY, NewTopLine: integer;
AddJumpPoint: boolean): TModalResult;
procedure SaveSourceEditorChangesToCodeCache;
procedure SaveSourceEditorChangesToCodeCache(PageIndex: integer);
procedure ApplyCodeToolChanges;
procedure DoJumpToProcedureSection;
procedure DoFindDeclarationAtCursor;
@ -384,19 +401,6 @@ type
// form editor and designer
property SelectedComponent : TRegisteredComponent
read FSelectedComponent write FSelectedComponent;
procedure OnDesignerGetSelectedComponentClass(Sender: TObject;
var RegisteredComponent: TRegisteredComponent);
procedure OnDesignerUnselectComponentClass(Sender: TObject);
procedure OnDesignerSetDesigning(Sender: TObject; Component: TComponent;
Value: boolean);
procedure OnDesignerComponentListChanged(Sender: TObject);
procedure OnDesignerPropertiesChanged(Sender: TObject);
procedure OnDesignerAddComponent(Sender: TObject; Component: TComponent;
ComponentClass: TRegisteredComponent);
procedure OnDesignerRemoveComponent(Sender: TObject; Component: TComponent);
procedure OnDesignerModified(Sender: TObject);
Procedure OnDesignerActivated(Sender : TObject);
procedure OnControlSelectionChanged(Sender: TObject);
procedure DoBringToFrontFormOrUnit;
procedure SetDesigning(Control : TComponent; Value : Boolean);
@ -414,7 +418,7 @@ const
implementation
uses
ViewUnit_dlg, Math, LResources, Designer;
ViewUnit_dlg, Math, LResources;
//==============================================================================
{
@ -1903,7 +1907,8 @@ Begin
OnRemoveComponent:=@OnDesignerRemoveComponent;
OnGetNonVisualCompIconCanvas:=@IDECompList.OnGetNonVisualCompIconCanvas;
OnModified:=@OnDesignerModified;
OnActivated := @OnDesignerActivated;
OnActivated:=@OnDesignerActivated;
OnRenameComponent:=@OnDesignerRenameComponent;
ShowHints:=EnvironmentOptions.ShowEditorHints;
end;
end;
@ -3268,8 +3273,9 @@ writeln('TMainIDE.DoNewEditorUnit A NewFilename=',NewFilename);
Result:=CreateNewCodeBuffer(NewUnitType,NewFilename,NewBuffer,NewUnitName);
if Result<>mrOk then exit;
Result:=mrCancel;
SaveSourceEditorChangesToCodeCache(-1);
NewFilename:=NewBuffer.Filename;
NewUnitInfo:=TUnitInfo.Create(NewBuffer);
// create source code
@ -3332,7 +3338,9 @@ begin
end;
GetUnitWithPageIndex(PageIndex,ActiveSrcEdit,ActiveUnitInfo);
if ActiveUnitInfo=nil then exit;
if not (sfProjectSaving in Flags) then
SaveSourceEditorChangesToCodeCache(-1);
// if this file is part of the project and the project is virtual then save
// project first
if (not (sfProjectSaving in Flags)) and Project1.IsVirtual
@ -3885,6 +3893,7 @@ begin
Result:=mrAbort;
exit;
end;
SaveSourceEditorChangesToCodeCache(-1);
writeln('TMainIDE.DoSaveProject A SaveAs=',sfSaveAs in Flags,' SaveToTestDir=',sfSaveToTestDir in Flags);
// check that all new units are saved first to get valid filenames
@ -4506,8 +4515,8 @@ begin
GetCurrentUnit(ActiveSrcEdit,ActiveUnitInfo);
if (ActiveUnitInfo=nil) or (ActiveUnitInfo.Source=nil)
or (ActiveSrcEdit=nil) then exit;
SaveSourceEditorChangesToCodeCache(-1);
CodeToolBoss.VisibleEditorLines:=ActiveSrcEdit.EditorComponent.LinesInWindow;
SaveSourceEditorChangesToCodeCache;
if not CodeToolBoss.CheckSyntax(ActiveUnitInfo.Source,NewCode,NewX,NewY,
NewTopLine,ErrorMsg) then
begin
@ -5356,23 +5365,31 @@ begin
SourceNoteBook.UnlockAllEditorsInSourceChangeCache;
end;
procedure TMainIDE.SaveSourceEditorChangesToCodeCache;
procedure TMainIDE.SaveSourceEditorChangesToCodeCache(PageIndex: integer);
// save all open sources to code tools cache
var i: integer;
CurUnitInfo: TUnitInfo;
SrcEdit: TSourceEditor;
begin
for i:=0 to Project1.UnitCount-1 do begin
CurUnitInfo:=Project1.Units[i];
if CurUnitInfo.EditorIndex>=0 then begin
SrcEdit:=SourceNotebook.FindSourceEditorWithPageIndex(
CurUnitInfo.EditorIndex);
if SrcEdit.Modified then begin
SrcEdit.UpdateCodeBuffer;
CurUnitInfo.Modified:=true;
end;
procedure SaveChanges(APageIndex: integer);
var
SrcEdit: TSourceEditor;
AnUnitInfo: TUnitInfo;
begin
GetUnitWithPageIndex(APageIndex,SrcEdit,AnUnitInfo);
if (SrcEdit<>nil) and (AnUnitInfo<>nil) and (SrcEdit.Modified) then begin
SrcEdit.UpdateCodeBuffer;
AnUnitInfo.Modified:=true;
end;
end;
begin
if PageIndex<0 then begin
if (SourceNotebook.NoteBook<>nil) then begin
for i:=0 to SourceNotebook.NoteBook.PageCount-1 do
SaveChanges(i);
end;
end else begin
SaveChanges(PageIndex);
end;
end;
function TMainIDE.BeginCodeTool(var ActiveSrcEdit: TSourceEditor;
@ -5385,7 +5402,7 @@ begin
else
GetCurrentUnit(ActiveSrcEdit,ActiveUnitInfo);
if (ActiveSrcEdit=nil) or (ActiveUnitInfo=nil) then exit;
SaveSourceEditorChangesToCodeCache;
SaveSourceEditorChangesToCodeCache(-1);
CodeToolBoss.VisibleEditorLines:=ActiveSrcEdit.EditorComponent.LinesInWindow;
Result:=true;
end;
@ -5683,6 +5700,37 @@ begin
FLastFormActivated := TCustomForm(Sender);
end;
procedure TMainIDE.OnDesignerRenameComponent(ADesigner: TDesigner;
AComponent: TComponent; const NewName: string);
var
ActiveSrcEdit: TSourceEditor;
ActiveUnitInfo: TUnitInfo;
begin
BeginCodeTool(ActiveSrcEdit,ActiveUnitInfo,false);
if AComponent.Owner<>nil then begin
// rename published variable in form source
ActiveUnitInfo:=Project1.UnitWithForm(ADesigner.Form);
if CodeToolBoss.RenamePublishedVariable(ActiveUnitInfo.Source,
ADesigner.Form.ClassName,
AComponent.Name,NewName,AComponent.ClassName) then
begin
ApplyCodeToolChanges;
end else begin
ApplyCodeToolChanges;
DoJumpToCodeToolBossError;
raise Exception.Create('Unable to rename variable in source.'#13
+'See messages.');
end;
end else if AComponent=ADesigner.Form then begin
// rename form in source, form variable and createform statement
MessageDlg('Not implemented yet.',
'Form renaming in source is not implemented yet.',
mtInformation,[mbOk],0);
end else begin
raise Exception.Create('TMainIDE.OnDesignerRenameComponent internal error');
end;
end;
Procedure TMainIDE.OnSrcNoteBookAddJumpPoint(ACaretXY: TPoint;
ATopLine: integer; APageIndex: integer; DeleteForwardHistory: boolean);
var
@ -6237,6 +6285,9 @@ end.
{ =============================================================================
$Log$
Revision 1.287 2002/04/27 18:56:47 lazarus
MG: started component renaming
Revision 1.286 2002/04/26 13:50:14 lazarus
MG: IDE and codetools work now with trimmed filenames

View File

@ -322,15 +322,13 @@ type
procedure PaintGrid; virtual; abstract;
procedure ValidateRename(AComponent: TComponent;
const CurName, NewName: string); virtual; abstract;
end;
end;
TProcedure = procedure;
function KeysToShiftState(Keys:Word): TShiftState;
function KeyDataToShiftState(KeyData: Longint): TShiftState;
function GetParentForm(Control:TControl): TCustomForm;

View File

@ -465,7 +465,8 @@ Begin
end;
{------------------------------------------------------------------------------}
{ TCustomForm ValidateRename }
{ TCustomForm ValidateRename }
{ if AComponent is nil, then the name of Self is changed }
{------------------------------------------------------------------------------}
procedure TCustomForm.ValidateRename(AComponent: TComponent;
const CurName, NewName: String);
@ -476,7 +477,7 @@ begin
end;
{------------------------------------------------------------------------------}
{ TCustomForm WndProc }
{ TCustomForm WndProc }
{------------------------------------------------------------------------------}
procedure TCustomForm.WndProc(Var Message : TLMessage);
var
@ -1014,6 +1015,9 @@ end;
{ =============================================================================
$Log$
Revision 1.42 2002/04/27 18:56:50 lazarus
MG: started component renaming
Revision 1.41 2002/04/27 15:35:50 lazarus
MG: fixed window shrinking