IDEIntf: Restore the backwards compatible event TPropHookModified. Add a new event TPropHookModifiedWithName.

git-svn-id: trunk@55015 -
This commit is contained in:
juha 2017-05-19 17:54:10 +00:00
parent cd2672eb03
commit 61beca02f9
4 changed files with 34 additions and 16 deletions

View File

@ -1299,7 +1299,8 @@ type
TPropHookObjectPropertyChanged = procedure(Sender: TObject;
NewObject: TPersistent) of object;
// modifing
TPropHookModified = procedure(Sender: TObject; PropName: ShortString) of object;
TPropHookModified = procedure(Sender: TObject) of object;
TPropHookModifiedWithName = procedure(Sender: TObject; PropName: ShortString) of object;
TPropHookRevert = procedure(Instance:TPersistent; PropInfo:PPropInfo) of object;
TPropHookRefreshPropertyValues = procedure of object;
// other
@ -1342,6 +1343,7 @@ type
htObjectPropertyChanged,
// modifing
htModified,
htModifiedWithName,
htRevert,
htRefreshPropertyValues,
// dependencies
@ -1539,6 +1541,8 @@ type
// modifing events
procedure AddHandlerModified(const OnModified: TPropHookModified);
procedure RemoveHandlerModified(const OnModified: TPropHookModified);
procedure AddHandlerModifiedWithName(const OnModified: TPropHookModifiedWithName);
procedure RemoveHandlerModifiedWithName(const OnModified: TPropHookModifiedWithName);
procedure AddHandlerRevert(const OnRevert: TPropHookRevert);
procedure RemoveHandlerRevert(const OnRevert: TPropHookRevert);
procedure AddHandlerRefreshPropertyValues(
@ -6519,9 +6523,13 @@ var
begin
i := GetHandlerCount(htModified);
while GetNextHandlerIndex(htModified,i) do
TPropHookModified(FHandlers[htModified][i])(Sender, PropName);
TPropHookModified(FHandlers[htModified][i])(Sender);
if Sender is TPropertyEditor then
i := GetHandlerCount(htModifiedWithName);
while GetNextHandlerIndex(htModifiedWithName,i) do
TPropHookModifiedWithName(FHandlers[htModifiedWithName][i])(Sender, PropName);
if Sender is TPropertyEditor then
begin
// mark the designer form of every selected persistent
// ToDo: Use PropName here somehow.
@ -6970,12 +6978,28 @@ begin
RemoveHandler(htObjectPropertyChanged,TMethod(OnObjectPropertyChanged));
end;
procedure TPropertyEditorHook.AddHandlerModified(
const OnModified: TPropHookModified);
procedure TPropertyEditorHook.AddHandlerModified(const OnModified: TPropHookModified);
begin
AddHandler(htModified,TMethod(OnModified));
end;
procedure TPropertyEditorHook.RemoveHandlerModified(const OnModified: TPropHookModified);
begin
AddHandler(htModified,TMethod(OnModified));
end;
procedure TPropertyEditorHook.AddHandlerModifiedWithName(
const OnModified: TPropHookModifiedWithName);
begin
AddHandler(htModifiedWithName,TMethod(OnModified));
end;
procedure TPropertyEditorHook.RemoveHandlerModifiedWithName(
const OnModified: TPropHookModifiedWithName);
begin
RemoveHandler(htModifiedWithName,TMethod(OnModified));
end;
procedure TPropertyEditorHook.AddHandlerDesignerMouseDown(
const OnMouseDown: TMouseEvent);
begin
@ -6988,12 +7012,6 @@ begin
AddHandler(htDesignerMouseUp,TMethod(OnMouseUp));
end;
procedure TPropertyEditorHook.RemoveHandlerModified(
const OnModified: TPropHookModified);
begin
RemoveHandler(htModified,TMethod(OnModified));
end;
procedure TPropertyEditorHook.RemoveHandlerDesignerMouseDown(
const OnMouseDown: TMouseEvent);
begin

View File

@ -175,7 +175,7 @@ type
class procedure OnShowMethod(const Name: String);
class procedure OnDesignRefreshPropertyValues;
class procedure OnModifiedPersistentAdded(APersistent: TPersistent; Select: Boolean);
class procedure OnModifiedSender(Sender: TObject; PropName: ShortString);
class procedure OnModifiedSender(Sender: TObject);
class procedure OnModified;
class procedure DesignerSetFocus;
class procedure OnDesignMouseDown(Sender: TObject; Button: TMouseButton;
@ -1498,7 +1498,7 @@ begin
DesignerSetFocus;
end;
class procedure TSpartaMainIDE.OnModifiedSender(Sender: TObject; PropName: ShortString);
class procedure TSpartaMainIDE.OnModifiedSender(Sender: TObject);
begin
OnModified;
end;

View File

@ -177,7 +177,7 @@ type
procedure DeleteChildlessShadowAndItem(anExistingSI: TShadowItem);
procedure DeleteShadowAndItemAndChildren(anExistingSI: TShadowItem);
procedure InPlaceEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure OnDesignerModified(Sender: TObject; {%H-}PropName: ShortString);
procedure OnDesignerModified(Sender: TObject);
procedure OnObjectPropertyChanged(Sender: TObject; NewObject: TPersistent);
procedure OnDesignerRefreshPropertyValues;
procedure RecursiveCreateShadows(aParentBox: TShadowBox; aMI: TMenuItem);
@ -1480,7 +1480,7 @@ begin
UpdateActionsEnabledness;
end;
procedure TShadowMenu.OnDesignerModified(Sender: TObject; PropName: ShortString);
procedure TShadowMenu.OnDesignerModified(Sender: TObject);
var
i: integer;
persistent: TPersistent;

View File

@ -2090,7 +2090,7 @@ begin
GlobalDesignHook.AddHandlerRenameMethod(@PropHookRenameMethod);
GlobalDesignHook.AddHandlerBeforeAddPersistent(@PropHookBeforeAddPersistent);
GlobalDesignHook.AddHandlerComponentRenamed(@PropHookComponentRenamed);
GlobalDesignHook.AddHandlerModified(@PropHookModified);
GlobalDesignHook.AddHandlerModifiedWithName(@PropHookModified);
GlobalDesignHook.AddHandlerPersistentAdded(@PropHookPersistentAdded);
GlobalDesignHook.AddHandlerPersistentDeleting(@PropHookPersistentDeleting);
GlobalDesignHook.AddHandlerDeletePersistent(@PropHookDeletePersistent);