From a0f6fd68a56068a20e7186e2dd2d7daccfbce4aa Mon Sep 17 00:00:00 2001 From: Pavel Perminov Date: Wed, 26 Sep 2012 19:02:53 +0000 Subject: Chess4Net_MI 2010.0 release (106 rev. truncated adjusted copy) git-svn-id: http://svn.miranda-ng.org/main/trunk@1666 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- .../lib/TntUnicodeControls/Source/TntActnList.pas | 835 +++++++++++++++++++++ 1 file changed, 835 insertions(+) create mode 100644 plugins/Chess4Net/lib/TntUnicodeControls/Source/TntActnList.pas (limited to 'plugins/Chess4Net/lib/TntUnicodeControls/Source/TntActnList.pas') diff --git a/plugins/Chess4Net/lib/TntUnicodeControls/Source/TntActnList.pas b/plugins/Chess4Net/lib/TntUnicodeControls/Source/TntActnList.pas new file mode 100644 index 0000000000..0f3e69893c --- /dev/null +++ b/plugins/Chess4Net/lib/TntUnicodeControls/Source/TntActnList.pas @@ -0,0 +1,835 @@ + +{*****************************************************************************} +{ } +{ Tnt Delphi Unicode Controls } +{ http://www.tntware.com/delphicontrols/unicode/ } +{ Version: 2.3.0 } +{ } +{ Copyright (c) 2002-2007, Troy Wolbrink (troy.wolbrink@tntware.com) } +{ } +{*****************************************************************************} + +unit TntActnList; + +{$INCLUDE TntCompilers.inc} + +interface + +uses + Classes, Controls, ActnList, Buttons, ExtCtrls, ComCtrls, StdCtrls, Menus; + +type +{TNT-WARN TActionList} + TTntActionList = class(TActionList{TNT-ALLOW TActionList}) + private + FCheckActionsTimer: TTimer; + procedure CheckActions(Sender: TObject); + public + constructor Create(AOwner: TComponent); override; + end; + + ITntAction = interface + ['{59D0AE37-8161-4AD6-9102-14B28E5761EB}'] + end; + +//--------------------------------------------------------------------------------------------- +// ACTIONS +//--------------------------------------------------------------------------------------------- + +{TNT-WARN TCustomAction} + TTntCustomAction = class(TCustomAction{TNT-ALLOW TCustomAction}, ITntAction) + private + function GetCaption: WideString; + procedure SetCaption(const Value: WideString); + function GetHint: WideString; + procedure SetHint(const Value: WideString); + protected + procedure DefineProperties(Filer: TFiler); override; + public + procedure Assign(Source: TPersistent); override; + public + property Caption: WideString read GetCaption write SetCaption; + property Hint: WideString read GetHint write SetHint; + end; + +{TNT-WARN TAction} + TTntAction = class(TAction{TNT-ALLOW TAction}, ITntAction) + private + function GetCaption: WideString; + procedure SetCaption(const Value: WideString); + function GetHint: WideString; + procedure SetHint(const Value: WideString); + protected + procedure DefineProperties(Filer: TFiler); override; + public + procedure Assign(Source: TPersistent); override; + published + property Caption: WideString read GetCaption write SetCaption; + property Hint: WideString read GetHint write SetHint; + end; + +//--------------------------------------------------------------------------------------------- + +// MENU ACTION LINK +//--------------------------------------------------------------------------------------------- + +{TNT-WARN TMenuActionLink} + TTntMenuActionLink = class(TMenuActionLink{TNT-ALLOW TMenuActionLink}) + protected + function IsCaptionLinked: Boolean; override; + function IsHintLinked: Boolean; override; + procedure SetCaption(const Value: string{TNT-ALLOW string}); override; + procedure SetHint(const Value: string{TNT-ALLOW string}); override; + end; + +//--------------------------------------------------------------------------------------------- +// CONTROL ACTION LINKS +//--------------------------------------------------------------------------------------------- + +{TNT-WARN TListViewActionLink} + TTntListViewActionLink = class(TListViewActionLink{TNT-ALLOW TListViewActionLink}) + protected + function IsCaptionLinked: Boolean; override; + function IsHintLinked: Boolean; override; + procedure SetCaption(const Value: string{TNT-ALLOW string}); override; + procedure SetHint(const Value: string{TNT-ALLOW string}); override; + end; + +{TNT-WARN TComboBoxExActionLink} + TTntComboBoxExActionLink = class(TComboBoxExActionLink{TNT-ALLOW TComboBoxExActionLink}) + protected + function IsCaptionLinked: Boolean; override; + function IsHintLinked: Boolean; override; + procedure SetCaption(const Value: string{TNT-ALLOW string}); override; + procedure SetHint(const Value: string{TNT-ALLOW string}); override; + end; + +{TNT-WARN TSpeedButtonActionLink} + TTntSpeedButtonActionLink = class(TSpeedButtonActionLink{TNT-ALLOW TSpeedButtonActionLink}) + protected + function IsCaptionLinked: Boolean; override; + function IsHintLinked: Boolean; override; + procedure SetCaption(const Value: string{TNT-ALLOW string}); override; + procedure SetHint(const Value: string{TNT-ALLOW string}); override; + {$IFDEF COMPILER_10_UP} + function IsImageIndexLinked: Boolean; override; + procedure SetImageIndex(Value: Integer); override; + {$ENDIF} + end; + +{$IFDEF COMPILER_10_UP} +{TNT-WARN TBitBtnActionLink} + TTntBitBtnActionLink = class(TBitBtnActionLink{TNT-ALLOW TBitBtnActionLink}) + protected + function IsCaptionLinked: Boolean; override; + function IsHintLinked: Boolean; override; + procedure SetCaption(const Value: string{TNT-ALLOW string}); override; + procedure SetHint(const Value: string{TNT-ALLOW string}); override; + {$IFDEF COMPILER_10_UP} + function IsImageIndexLinked: Boolean; override; + procedure SetImageIndex(Value: Integer); override; + {$ENDIF} + end; +{$ENDIF} + +{TNT-WARN TToolButtonActionLink} + TTntToolButtonActionLink = class(TToolButtonActionLink{TNT-ALLOW TToolButtonActionLink}) + protected + function IsCaptionLinked: Boolean; override; + function IsHintLinked: Boolean; override; + procedure SetCaption(const Value: string{TNT-ALLOW string}); override; + procedure SetHint(const Value: string{TNT-ALLOW string}); override; + end; + +{TNT-WARN TButtonActionLink} + TTntButtonActionLink = class(TButtonActionLink{TNT-ALLOW TButtonActionLink}) + protected + function IsCaptionLinked: Boolean; override; + function IsHintLinked: Boolean; override; + procedure SetCaption(const Value: string{TNT-ALLOW string}); override; + procedure SetHint(const Value: string{TNT-ALLOW string}); override; + end; + +{TNT-WARN TWinControlActionLink} + TTntWinControlActionLink = class(TWinControlActionLink{TNT-ALLOW TWinControlActionLink}) + protected + function IsCaptionLinked: Boolean; override; + function IsHintLinked: Boolean; override; + procedure SetCaption(const Value: string{TNT-ALLOW string}); override; + procedure SetHint(const Value: string{TNT-ALLOW string}); override; + end; + +{TNT-WARN TControlActionLink} + TTntControlActionLink = class(TControlActionLink{TNT-ALLOW TControlActionLink}) + protected + function IsCaptionLinked: Boolean; override; + function IsHintLinked: Boolean; override; + procedure SetCaption(const Value: string{TNT-ALLOW string}); override; + procedure SetHint(const Value: string{TNT-ALLOW string}); override; + end; + +//--------------------------------------------------------------------------------------------- +// helper procs +//--------------------------------------------------------------------------------------------- + +//-- TCustomAction helper routines +procedure TntAction_SetCaption(Action: TCustomAction{TNT-ALLOW TCustomAction}; const Value: WideString); +function TntAction_GetCaption(Action: TCustomAction{TNT-ALLOW TCustomAction}): WideString; +function TntAction_GetNewCaption(Action: TCustomAction{TNT-ALLOW TCustomAction}; const Default: WideString): WideString; +procedure TntAction_SetHint(Action: TCustomAction{TNT-ALLOW TCustomAction}; const Value: WideString); +function TntAction_GetHint(Action: TCustomAction{TNT-ALLOW TCustomAction}): WideString; +function TntAction_GetNewHint(Action: TCustomAction{TNT-ALLOW TCustomAction}; const Default: WideString): WideString; +procedure TntAction_AfterInherited_Assign(Action: TCustomAction{TNT-ALLOW TCustomAction}; Source: TPersistent); + +// -- TControl helper routines +function TntControl_GetActionLinkClass(Control: TControl; InheritedLinkClass: TControlActionLinkClass): TControlActionLinkClass; +procedure TntControl_BeforeInherited_ActionChange(Control: TControl; Sender: TObject; CheckDefaults: Boolean); + +// -- TControlActionLink helper routines +function TntActionLink_IsCaptionLinked(InheritedIsCaptionLinked: Boolean; Action: TBasicAction; FClient: TControl): Boolean; +function TntActionLink_IsHintLinked(InheritedIsHintLinked: Boolean; Action: TBasicAction; FClient: TControl): Boolean; +procedure TntActionLink_SetCaption(IsCaptionLinked: Boolean; Action: TBasicAction; FClient: TControl; const Value: string{TNT-ALLOW string}); +procedure TntActionLink_SetHint(IsHintLinked: Boolean; Action: TBasicAction; FClient: TControl; const Value: string{TNT-ALLOW string}); + +type + TUpgradeActionListItemsProc = procedure (ActionList: TTntActionList); + +var + UpgradeActionListItemsProc: TUpgradeActionListItemsProc; + +implementation + +uses + SysUtils, TntMenus, TntClasses, TntControls; + +{ TActionListList } + +type + TActionListList = class(TList) + private + FActionList: TTntActionList; + protected + procedure Notify(Ptr: Pointer; Action: TListNotification); override; + end; + +procedure TActionListList.Notify(Ptr: Pointer; Action: TListNotification); +begin + inherited; + if (Action = lnAdded) and (FActionList <> nil) and (Ptr <> nil) + and (not Supports(TObject(Ptr), ITntAction)) then + begin + FActionList.FCheckActionsTimer.Enabled := False; + FActionList.FCheckActionsTimer.Enabled := True; + end; +end; + +{ THackActionList } + +type +{$IFDEF COMPILER_6} // verified against VCL source in Delphi 6 and BCB 6 + THackCustomActionList = class(TComponent) + private + FActions: TList; + end; +{$ENDIF} +{$IFDEF DELPHI_7} // verified against VCL source in Delphi 7 + THackCustomActionList = class(TComponent) + private + FActions: TList; + end; +{$ENDIF} +{$IFDEF DELPHI_9} // verified against VCL source in Delphi 9 + THackCustomActionList = class(TComponent) + private + FActions: TList; + end; +{$ENDIF} +{$IFDEF DELPHI_10} // verified against VCL source in Delphi 10 + THackCustomActionList = class(TComponent) + private + FActions: TList; + end; +{$ENDIF} + +{ TTntActionList } + +constructor TTntActionList.Create(AOwner: TComponent); +begin + inherited; + if (csDesigning in ComponentState) then begin + FCheckActionsTimer := TTimer.Create(Self); + FCheckActionsTimer.Enabled := False; + FCheckActionsTimer.Interval := 50; + FCheckActionsTimer.OnTimer := CheckActions; + // + THackCustomActionList(Self).FActions.Free; + THackCustomActionList(Self).FActions := TActionListList.Create; + TActionListList(THackCustomActionList(Self).FActions).FActionList := Self; + end; +end; + +procedure TTntActionList.CheckActions(Sender: TObject); +begin + if FCheckActionsTimer <> nil then begin + FCheckActionsTimer.Enabled := False; + end; + Assert(csDesigning in ComponentState); + Assert(Assigned(UpgradeActionListItemsProc)); + UpgradeActionListItemsProc(Self); +end; + +{ TCustomActionHelper } + +type + TCustomActionHelper = class(TComponent) + private + FAction: TCustomAction{TNT-ALLOW TCustomAction}; + private + FCaption: WideString; + FSettingNewCaption: Boolean; + FOldWideCaption: WideString; + FNewAnsiCaption: AnsiString; + procedure SetAnsiCaption(const Value: AnsiString); + function SettingNewCaption: Boolean; + procedure SetCaption(const Value: WideString); + function GetCaption: WideString; + private + FHint: WideString; + FSettingNewHint: Boolean; + FOldWideHint: WideString; + FNewAnsiHint: AnsiString; + procedure SetAnsiHint(const Value: AnsiString); + function SettingNewHint: Boolean; + procedure SetHint(const Value: WideString); + function GetHint: WideString; + end; + +procedure TCustomActionHelper.SetAnsiCaption(const Value: AnsiString); +begin + FAction.Caption := Value; + if (Value = '') and (FNewAnsiCaption <> '') then + FOldWideCaption := ''; +end; + +function TCustomActionHelper.SettingNewCaption: Boolean; +begin + Result := FSettingNewCaption and (FAction.Caption <> FNewAnsiCaption); +end; + +function TCustomActionHelper.GetCaption: WideString; +begin + if SettingNewCaption then + Result := FOldWideCaption + else + Result := GetSyncedWideString(FCaption, FAction.Caption) +end; + +procedure TCustomActionHelper.SetCaption(const Value: WideString); +begin + FOldWideCaption := GetCaption; + FNewAnsiCaption := Value; + FSettingNewCaption := True; + try + SetSyncedWideString(Value, FCaption, FAction.Caption, SetAnsiCaption) + finally + FSettingNewCaption := False; + end; +end; + +procedure TCustomActionHelper.SetAnsiHint(const Value: AnsiString); +begin + FAction.Hint := Value; + if (Value = '') and (FNewAnsiHint <> '') then + FOldWideHint := ''; +end; + +function TCustomActionHelper.SettingNewHint: Boolean; +begin + Result := FSettingNewHint and (FAction.Hint <> FNewAnsiHint); +end; + +function TCustomActionHelper.GetHint: WideString; +begin + if SettingNewHint then + Result := FOldWideHint + else + Result := GetSyncedWideString(FHint, FAction.Hint) +end; + +procedure TCustomActionHelper.SetHint(const Value: WideString); +begin + FOldWideHint := GetHint; + FNewAnsiHint := Value; + FSettingNewHint := True; + try + SetSyncedWideString(Value, FHint, FAction.Hint, SetAnsiHint) + finally + FSettingNewHint := False; + end; +end; + +function FindActionHelper(Action: TCustomAction{TNT-ALLOW TCustomAction}): TCustomActionHelper; +var + i: integer; +begin + Assert(Action <> nil); + Result := nil; + if Supports(Action, ITntAction) then begin + for i := 0 to Action.ComponentCount - 1 do begin + if Action.Components[i] is TCustomActionHelper then begin + Result := TCustomActionHelper(Action.Components[i]); + break; + end; + end; + if Result = nil then begin + Result := TCustomActionHelper.Create(Action); + Result.FAction := Action; + end; + end; +end; + +//-- TCustomAction helper routines + +procedure TntAction_SetCaption(Action: TCustomAction{TNT-ALLOW TCustomAction}; const Value: WideString); +begin + if Supports(Action, ITntAction) then + with FindActionHelper(Action) do + SetCaption(Value) + else + Action.Caption := Value; +end; + +function TntAction_GetCaption(Action: TCustomAction{TNT-ALLOW TCustomAction}): WideString; +begin + if Supports(Action, ITntAction) then + with FindActionHelper(Action) do + Result := GetCaption + else + Result := Action.Caption; +end; + +function TntAction_GetNewCaption(Action: TCustomAction{TNT-ALLOW TCustomAction}; const Default: WideString): WideString; +begin + Result := Default; + if Supports(Action, ITntAction) then + with FindActionHelper(Action) do + if SettingNewCaption then + Result := FCaption; +end; + +procedure TntAction_SetHint(Action: TCustomAction{TNT-ALLOW TCustomAction}; const Value: WideString); +begin + if Supports(Action, ITntAction) then + with FindActionHelper(Action) do + SetHint(Value) + else + Action.Hint := Value; +end; + +function TntAction_GetHint(Action: TCustomAction{TNT-ALLOW TCustomAction}): WideString; +begin + if Supports(Action, ITntAction) then + with FindActionHelper(Action) do + Result := GetHint + else + Result := Action.Hint; +end; + +function TntAction_GetNewHint(Action: TCustomAction{TNT-ALLOW TCustomAction}; const Default: WideString): WideString; +begin + Result := Default; + if Supports(Action, ITntAction) then + with FindActionHelper(Action) do + if SettingNewHint then + Result := FHint; +end; + +procedure TntAction_AfterInherited_Assign(Action: TCustomAction{TNT-ALLOW TCustomAction}; Source: TPersistent); +begin + with Action do begin + if (Source is TCustomAction{TNT-ALLOW TCustomAction}) then begin + Caption := TntAction_GetCaption(Source as TCustomAction{TNT-ALLOW TCustomAction}); + Hint := TntAction_GetHint(Source as TCustomAction{TNT-ALLOW TCustomAction}); + end else if (Source is TControl) then begin + Caption := TntControl_GetText(Source as TControl); + Hint := TntControl_GetHint(Source as TControl); + end; + end; +end; + +// -- TControl helper routines + +function TntControl_GetActionLinkClass(Control: TControl; InheritedLinkClass: TControlActionLinkClass): TControlActionLinkClass; +begin + if Control is TCustomListView{TNT-ALLOW TCustomListView} then + Result := TTntListViewActionLink + else if Control is TComboBoxEx then + Result := TTntComboBoxExActionLink + else if Control is TSpeedButton{TNT-ALLOW TSpeedButton} then + Result := TTntSpeedButtonActionLink + {$IFDEF COMPILER_10_UP} + else if Control is TBitBtn{TNT-ALLOW TBitBtn} then + Result := TTntBitBtnActionLink + {$ENDIF} + else if Control is TToolButton{TNT-ALLOW TToolButton} then + Result := TTntToolButtonActionLink + else if Control is TButtonControl then + Result := TTntButtonActionLink + else if Control is TWinControl then + Result := TTntWinControlActionLink + else + Result := TTntControlActionLink; + + Assert(Result.ClassParent = InheritedLinkClass); +end; + +procedure TntControl_BeforeInherited_ActionChange(Control: TControl; Sender: TObject; CheckDefaults: Boolean); +begin + if (Sender is TCustomAction{TNT-ALLOW TCustomAction}) and Supports(Sender, ITntAction) then begin + if not CheckDefaults or (TntControl_GetText(Control) = '') or (TntControl_GetText(Control) = Control.Name) then + TntControl_SetText(Control, TntAction_GetCaption(TCustomAction{TNT-ALLOW TCustomAction}(Sender))); + if not CheckDefaults or (TntControl_GetHint(Control) = '') then + TntControl_SetHint(Control, TntAction_GetHint(TCustomAction{TNT-ALLOW TCustomAction}(Sender))); + end; +end; + +// -- TControlActionLink helper routines + +function TntActionLink_IsCaptionLinked(InheritedIsCaptionLinked: Boolean; Action: TBasicAction; FClient: TControl): Boolean; +begin + Result := InheritedIsCaptionLinked + and (TntAction_GetCaption(Action as TCustomAction{TNT-ALLOW TCustomAction}) = TntControl_GetText(FClient)); +end; + +function TntActionLink_IsHintLinked(InheritedIsHintLinked: Boolean; Action: TBasicAction; FClient: TControl): Boolean; +begin + Result := InheritedIsHintLinked + and (TntAction_GetHint(Action as TCustomAction{TNT-ALLOW TCustomAction}) = TntControl_GetHint(FClient)); +end; + +procedure TntActionLink_SetCaption(IsCaptionLinked: Boolean; Action: TBasicAction; FClient: TControl; const Value: string{TNT-ALLOW string}); +begin + if IsCaptionLinked then + TntControl_SetText(FClient, TntAction_GetNewCaption(Action as TCustomAction{TNT-ALLOW TCustomAction}, Value)); +end; + +procedure TntActionLink_SetHint(IsHintLinked: Boolean; Action: TBasicAction; FClient: TControl; const Value: string{TNT-ALLOW string}); +begin + if IsHintLinked then + TntControl_SetHint(FClient, TntAction_GetNewHint(Action as TCustomAction{TNT-ALLOW TCustomAction}, Value)); +end; + +//--------------------------------------------------------------------------------------------- +// ACTIONS +//--------------------------------------------------------------------------------------------- + +{ TTntCustomAction } + +procedure TTntCustomAction.Assign(Source: TPersistent); +begin + inherited; + TntAction_AfterInherited_Assign(Self, Source); +end; + +procedure TTntCustomAction.DefineProperties(Filer: TFiler); +begin + inherited; + TntPersistent_AfterInherited_DefineProperties(Filer, Self); +end; + +function TTntCustomAction.GetCaption: WideString; +begin + Result := TntAction_GetCaption(Self); +end; + +procedure TTntCustomAction.SetCaption(const Value: WideString); +begin + TntAction_SetCaption(Self, Value); +end; + +function TTntCustomAction.GetHint: WideString; +begin + Result := TntAction_GetHint(Self); +end; + +procedure TTntCustomAction.SetHint(const Value: WideString); +begin + TntAction_SetHint(Self, Value); +end; + +{ TTntAction } + +procedure TTntAction.Assign(Source: TPersistent); +begin + inherited; + TntAction_AfterInherited_Assign(Self, Source); +end; + +procedure TTntAction.DefineProperties(Filer: TFiler); +begin + inherited; + TntPersistent_AfterInherited_DefineProperties(Filer, Self); +end; + +function TTntAction.GetCaption: WideString; +begin + Result := TntAction_GetCaption(Self); +end; + +procedure TTntAction.SetCaption(const Value: WideString); +begin + TntAction_SetCaption(Self, Value); +end; + +function TTntAction.GetHint: WideString; +begin + Result := TntAction_GetHint(Self); +end; + +procedure TTntAction.SetHint(const Value: WideString); +begin + TntAction_SetHint(Self, Value); +end; + +//--------------------------------------------------------------------------------------------- +// MENU ACTION LINK +//--------------------------------------------------------------------------------------------- + +{ TTntMenuActionLink } + +function TTntMenuActionLink.IsCaptionLinked: Boolean; +begin + Result := inherited IsCaptionLinked + and WideSameCaption(TntAction_GetCaption(Action as TCustomAction{TNT-ALLOW TCustomAction}), (FClient as TTntMenuItem).Caption); +end; + +function TTntMenuActionLink.IsHintLinked: Boolean; +begin + Result := inherited IsHintLinked + and (TntAction_GetHint(Action as TCustomAction{TNT-ALLOW TCustomAction}) = (FClient as TTntMenuItem).Hint); +end; + +procedure TTntMenuActionLink.SetCaption(const Value: string{TNT-ALLOW string}); +begin + if IsCaptionLinked then + (FClient as TTntMenuItem).Caption := TntAction_GetNewCaption(Action as TCustomAction{TNT-ALLOW TCustomAction}, Value); +end; + +procedure TTntMenuActionLink.SetHint(const Value: string{TNT-ALLOW string}); +begin + if IsHintLinked then + (FClient as TTntMenuItem).Hint := TntAction_GetNewHint(Action as TCustomAction{TNT-ALLOW TCustomAction}, Value); +end; + +//--------------------------------------------------------------------------------------------- +// CONTROL ACTION LINKS +//--------------------------------------------------------------------------------------------- + +{ TTntListViewActionLink } + +function TTntListViewActionLink.IsCaptionLinked: Boolean; +begin + Result := TntActionLink_IsCaptionLinked(inherited IsCaptionLinked, Action, FClient); +end; + +function TTntListViewActionLink.IsHintLinked: Boolean; +begin + Result := TntActionLink_IsHintLinked(inherited IsHintLinked, Action, FClient); +end; + +procedure TTntListViewActionLink.SetCaption(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetCaption(IsCaptionLinked, Action, FClient, Value); +end; + +procedure TTntListViewActionLink.SetHint(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetHint(IsHintLinked, Action, FClient, Value); +end; + +{ TTntComboBoxExActionLink } + +function TTntComboBoxExActionLink.IsCaptionLinked: Boolean; +begin + Result := TntActionLink_IsCaptionLinked(inherited IsCaptionLinked, Action, FClient); +end; + +function TTntComboBoxExActionLink.IsHintLinked: Boolean; +begin + Result := TntActionLink_IsHintLinked(inherited IsHintLinked, Action, FClient); +end; + +procedure TTntComboBoxExActionLink.SetCaption(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetCaption(IsCaptionLinked, Action, FClient, Value); +end; + +procedure TTntComboBoxExActionLink.SetHint(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetHint(IsHintLinked, Action, FClient, Value); +end; + +{ TTntSpeedButtonActionLink } + +function TTntSpeedButtonActionLink.IsCaptionLinked: Boolean; +begin + Result := TntActionLink_IsCaptionLinked(inherited IsCaptionLinked, Action, FClient); +end; + +function TTntSpeedButtonActionLink.IsHintLinked: Boolean; +begin + Result := TntActionLink_IsHintLinked(inherited IsHintLinked, Action, FClient); +end; + +procedure TTntSpeedButtonActionLink.SetCaption(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetCaption(IsCaptionLinked, Action, FClient, Value); +end; + +procedure TTntSpeedButtonActionLink.SetHint(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetHint(IsHintLinked, Action, FClient, Value); +end; + +{$IFDEF COMPILER_10_UP} +// bug fix for VCL where ImageIndex on Action ALWAYS overrides the Glyph. + +function TTntSpeedButtonActionLink.IsImageIndexLinked: Boolean; +begin + Result := Action is TCustomAction{TNT-ALLOW TCustomAction}; // taken from TActionLink.IsImageIndexLinked +end; + +procedure TTntSpeedButtonActionLink.SetImageIndex(Value: Integer); +begin + ; // taken from TActionLink.IsImageIndexLinked +end; +{$ENDIF} + +{$IFDEF COMPILER_10_UP} +{ TTntBitBtnActionLink } + +function TTntBitBtnActionLink.IsCaptionLinked: Boolean; +begin + Result := TntActionLink_IsCaptionLinked(inherited IsCaptionLinked, Action, FClient); +end; + +function TTntBitBtnActionLink.IsHintLinked: Boolean; +begin + Result := TntActionLink_IsHintLinked(inherited IsHintLinked, Action, FClient); +end; + +procedure TTntBitBtnActionLink.SetCaption(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetCaption(IsCaptionLinked, Action, FClient, Value); +end; + +procedure TTntBitBtnActionLink.SetHint(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetHint(IsHintLinked, Action, FClient, Value); +end; + +{$IFDEF COMPILER_10_UP} +// bug fix for VCL where ImageIndex on Action ALWAYS overrides the Glyph. + +function TTntBitBtnActionLink.IsImageIndexLinked: Boolean; +begin + Result := Action is TCustomAction{TNT-ALLOW TCustomAction}; // taken from TActionLink.IsImageIndexLinked +end; + +procedure TTntBitBtnActionLink.SetImageIndex(Value: Integer); +begin + ; // taken from TActionLink.IsImageIndexLinked +end; +{$ENDIF} + +{$ENDIF} + +{ TTntToolButtonActionLink } + +function TTntToolButtonActionLink.IsCaptionLinked: Boolean; +begin + Result := TntActionLink_IsCaptionLinked(inherited IsCaptionLinked, Action, FClient); +end; + +function TTntToolButtonActionLink.IsHintLinked: Boolean; +begin + Result := TntActionLink_IsHintLinked(inherited IsHintLinked, Action, FClient); +end; + +procedure TTntToolButtonActionLink.SetCaption(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetCaption(IsCaptionLinked, Action, FClient, Value); +end; + +procedure TTntToolButtonActionLink.SetHint(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetHint(IsHintLinked, Action, FClient, Value); +end; + +{ TTntButtonActionLink } + +function TTntButtonActionLink.IsCaptionLinked: Boolean; +begin + Result := TntActionLink_IsCaptionLinked(inherited IsCaptionLinked, Action, FClient); +end; + +function TTntButtonActionLink.IsHintLinked: Boolean; +begin + Result := TntActionLink_IsHintLinked(inherited IsHintLinked, Action, FClient); +end; + +procedure TTntButtonActionLink.SetCaption(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetCaption(IsCaptionLinked, Action, FClient, Value); +end; + +procedure TTntButtonActionLink.SetHint(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetHint(IsHintLinked, Action, FClient, Value); +end; + +{ TTntWinControlActionLink } + +function TTntWinControlActionLink.IsCaptionLinked: Boolean; +begin + Result := TntActionLink_IsCaptionLinked(inherited IsCaptionLinked, Action, FClient); +end; + +function TTntWinControlActionLink.IsHintLinked: Boolean; +begin + Result := TntActionLink_IsHintLinked(inherited IsHintLinked, Action, FClient); +end; + +procedure TTntWinControlActionLink.SetCaption(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetCaption(IsCaptionLinked, Action, FClient, Value); +end; + +procedure TTntWinControlActionLink.SetHint(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetHint(IsHintLinked, Action, FClient, Value); +end; + +{ TTntControlActionLink } + +function TTntControlActionLink.IsCaptionLinked: Boolean; +begin + Result := TntActionLink_IsCaptionLinked(inherited IsCaptionLinked, Action, FClient); +end; + +function TTntControlActionLink.IsHintLinked: Boolean; +begin + Result := TntActionLink_IsHintLinked(inherited IsHintLinked, Action, FClient); +end; + +procedure TTntControlActionLink.SetCaption(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetCaption(IsCaptionLinked, Action, FClient, Value); +end; + +procedure TTntControlActionLink.SetHint(const Value: string{TNT-ALLOW string}); +begin + TntActionLink_SetHint(IsHintLinked, Action, FClient, Value); +end; + +end. -- cgit v1.2.3