added some help stuff

git-svn-id: trunk@4041 -
This commit is contained in:
mattias 2003-04-11 09:32:20 +00:00
parent 26455f257f
commit 280af8c739
6 changed files with 189 additions and 49 deletions

View File

@ -236,16 +236,6 @@ type
TActionLink = class(TBasicActionLink)
protected
function IsCaptionLinked: Boolean; virtual;
function IsCheckedLinked: Boolean; virtual;
function IsEnabledLinked: Boolean; virtual;
function IsGroupIndexLinked: Boolean; virtual;
function IsHelpContextLinked: Boolean; virtual;
function IsHelpLinked: Boolean; virtual;
function IsHintLinked: Boolean; virtual;
function IsImageIndexLinked: Boolean; virtual;
function IsShortCutLinked: Boolean; virtual;
function IsVisibleLinked: Boolean; virtual;
procedure SetAutoCheck(Value: Boolean); virtual;
procedure SetCaption(const Value: string); virtual;
procedure SetChecked(Value: Boolean); virtual;
@ -258,6 +248,17 @@ type
procedure SetImageIndex(Value: Integer); virtual;
procedure SetShortCut(Value: TShortCut); virtual;
procedure SetVisible(Value: Boolean); virtual;
public
function IsCaptionLinked: Boolean; virtual;
function IsCheckedLinked: Boolean; virtual;
function IsEnabledLinked: Boolean; virtual;
function IsGroupIndexLinked: Boolean; virtual;
function IsHelpContextLinked: Boolean; virtual;
function IsHelpLinked: Boolean; virtual;
function IsHintLinked: Boolean; virtual;
function IsImageIndexLinked: Boolean; virtual;
function IsShortCutLinked: Boolean; virtual;
function IsVisibleLinked: Boolean; virtual;
end;
TActionLinkClass = class of TActionLink;

View File

@ -264,76 +264,78 @@ type
FActiveControl: TWinControl;
FBorderStyle: TFormBorderStyle;
FDesigner: TIDesigner;
FFormStyle: TFormStyle;
FDummyTextHeight: Longint;
FFormState: TFormState;
FFormStyle: TFormStyle;
FFormUpdateCount: integer;
FHelpFile: string;
FIcon: TIcon;
FKeyPreview: Boolean;
FMenu: TMainMenu;
FModalResult: TModalResult;
FOnActivate: TNotifyEvent;
FOnClose: TCloseEvent;
FOnCloseQuery: TCloseQueryEvent;
FOnCreate: TNotifyEvent;
FOnDeactivate: TNotifyEvent;
FOnDestroy: TNotifyEvent;
FOnHelp: THelpEvent;
FOnHide: TNotifyEvent;
FOnShow: TNotifyEvent;
FOnClose: TCloseEvent;
FOnCloseQuery: TCloseQueryEvent;
FOnWindowStateChanged: TNotifyEvent;
FPosition: TPosition;
FWindowState: TWindowState;
FDummyTextHeight: Longint;
function IsForm : Boolean;
function IsHelpFileStored: boolean;
function IsIconStored: Boolean;
procedure ClientWndProc(var Message: TLMessage);
procedure CloseModal;
procedure DoCreate;
procedure DoDestroy;
procedure IconChanged(Sender: TObject);
procedure SetActive(AValue: Boolean);
procedure SetActiveControl(AWinControl: TWinControl);
procedure SetBorderStyle(Value : TFormBorderStyle);
procedure SetDesigner(Value : TIDesigner);
procedure SetMenu(Value : TMainMenu);
procedure SetFormStyle(Value : TFormStyle);
procedure SetIcon(AValue: TIcon);
procedure SetMenu(Value : TMainMenu);
procedure SetModalResult(const AValue: TModalResult);
procedure SetPosition(Value : TPosition);
procedure SetVisible(Value: boolean);
procedure SetWindowFocus;
procedure SetWindowState(Value : TWIndowState);
function IsForm : Boolean;
procedure IconChanged(Sender: TObject);
function IsIconStored: Boolean;
private
procedure WMActivate(var Message : TLMActivate); message LM_ACTIVATE;
procedure WMCloseQuery(var message: TLMessage); message LM_CLOSEQUERY;
procedure WMDeactivate(var Message : TLMActivate); message LM_DEACTIVATE;
procedure WMPaint(var message: TLMPaint); message LM_PAINT;
procedure WMSize(var message: TLMSize); message LM_Size;
procedure WMShowWindow(var message: TLMShowWindow); message LM_SHOWWINDOW;
procedure WMCloseQuery(var message: TLMessage); message LM_CLOSEQUERY;
procedure WMSize(var message: TLMSize); message LM_Size;
protected
function CloseQuery : boolean; virtual;
function FormUpdating: boolean;
procedure Activate; dynamic;
procedure ActiveChanged; dynamic;
function CloseQuery : boolean; virtual;
procedure BeginFormUpdate;
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
procedure Loaded; override;
procedure BeginFormUpdate;
procedure Deactivate;dynamic;
procedure DoClose(var Action: TCloseAction); dynamic;
procedure DoHide; dynamic;
procedure DoShow; dynamic;
procedure EndFormUpdate;
function FormUpdating: boolean;
procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
procedure Loaded; override;
// Delphi needed GetClientRect for win32 specific things, LCL not
// Function GetClientRect : TRect ; Override;
procedure Notification(AComponent: TComponent; Operation : TOperation);override;
procedure PaintWindow(dc : Hdc); override;
procedure RequestAlign; override;
Procedure SetZOrder(Topmost: Boolean); override;
procedure UpdateShowing; override;
procedure UpdateWindowState;
procedure ValidateRename(AComponent: TComponent;
const CurName, NewName: string);override;
Procedure SetZOrder(Topmost: Boolean); override;
procedure VisibleChanging; override;
procedure WndProc(var TheMessage : TLMessage); override;
public
@ -347,6 +349,7 @@ type
property OnCreate: TNotifyEvent read FOnCreate write FOnCreate;
property OnDeactivate: TNotifyEvent read FOnDeactivate write FOnDeactivate;
property OnDestroy: TNotifyEvent read FOnDestroy write FOnDestroy;
property OnHelp: THelpEvent read FOnHelp write FOnHelp;
property OnHide: TNotifyEvent read FOnHide write FOnHide;
property OnShow: TNotifyEvent read FOnShow write FOnShow;
property OnResize stored IsForm;
@ -377,6 +380,7 @@ type
property Designer : TIDesigner read FDesigner write SetDesigner;
property FormStyle : TFormStyle read FFormStyle write SetFormStyle default fsNormal;
property FormState : TFormState read FFormState;
property HelpFile: string read FHelpFile write FHelpFile stored IsHelpFileStored;
property KeyPreview: Boolean read FKeyPreview write FKeyPreview;
property Menu : TMainMenu read FMenu write SetMenu;
property ModalResult : TModalResult read FModalResult write SetModalResult;
@ -395,44 +399,46 @@ type
public
property ClientHandle: HWND read FClientHandle;
published
property PixelsPerInch : Longint read FDummyPPI write FDummyPPI stored False;
property ActiveControl;
property Align;
property AutoSize;
property BorderStyle;
property Caption;
property Color;
property ClientHeight;
property ClientWidth;
property Color;
property Constraints;
property Enabled;
property Font;
property FormStyle;
property HelpFile;
property Icon;
property Menu;
property OnActivate;
property OnClose;
property OnCloseQuery;
property OnCreate;
property OnDeactivate;
property OnDestroy;
property OnHide;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnHelp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnPaint;
property OnResize;
property OnShow;
property ParentFont;
property PixelsPerInch : Longint read FDummyPPI write FDummyPPI stored False;
property PopupMenu;
property Position;
property ShowHint;
property TextHeight;
property Visible;
property WindowState;
property OnActivate;
property OnCreate;
property OnClose;
property OnCloseQuery;
property OnDeactivate;
property OnDestroy;
property OnKeyPress;
property OnKeyUp;
property OnKeyDown;
property OnMouseMove;
property OnMouseUp;
property OnMouseDown;
property OnShow;
property OnHide;
property OnPaint;
property OnResize;
end;
TFormClass = class of TForm;
@ -596,6 +602,8 @@ type
private
FFlag: TApplicationFlags;
FHandle : THandle;
//FHelpSystem : IHelpSystem;
FHelpFile: string;
FHint: string;
FHintColor: TColor;
FHintControl: TControl;
@ -611,6 +619,7 @@ type
FMainForm : TForm;
FMouseControl: TControl;
FOnException: TExceptionEvent;
FOnHelp: THelpEvent;
FOnHint: TNotifyEvent;
FOnIdle: TIdleEvent;
FOnIdleHandler: TMethodList;
@ -623,17 +632,20 @@ type
FTerminate : Boolean;
FTitle : String;
procedure DoOnIdleEnd;
function GetCurrentHelpFile: string;
function GetExename: String;
function GetIconHandle: HICON;
function GetTitle: string;
procedure IconChanged(Sender: TObject);
procedure Idle;
function InvokeHelp(Command: Word; Data: Longint): Boolean;
procedure MouseIdle(const CurrentControl: TControl);
procedure SetHint(const AValue: string);
procedure SetHintColor(const AValue: TColor);
procedure SetIcon(AValue: TIcon);
procedure SetShowHint(const AValue: Boolean);
procedure StopHintTimer;
function ValidateHelpSystem: Boolean;
procedure WndProc(var AMessage : TLMessage);
protected
procedure NotifyIdleHandler;
@ -653,6 +665,10 @@ type
function HandleAllocated: boolean;
procedure HandleException(Sender: TObject);
procedure HandleMessage;
function HelpCommand(Command: Integer; Data: Longint): Boolean;
function HelpContext(Context: THelpContext): Boolean;
function HelpJump(const JumpID: string): Boolean;
function HelpKeyword(const Keyword: String): Boolean;
function IsWaiting: boolean;
procedure CancelHint;
procedure HideHint;
@ -676,6 +692,8 @@ type
public
property Exename: String read GetExeName;
property Handle: THandle read FHandle;
//property HelpSystem : IHelpSystem read FHelpSystem;
property HelpFile: string read FHelpFile write FHelpFile;
property Hint: string read FHint write SetHint;
property HintColor: TColor read FHintColor write SetHintColor;
property HintHidePause: Integer read FHintHidePause write FHintHidePause;
@ -687,6 +705,7 @@ type
property OnException: TExceptionEvent read FOnException write FOnException;
property OnIdle: TIdleEvent read FOnIdle write FOnIdle;
property OnIdleEnd: TNotifyEvent read FOnIdleEnd write FOnIdleEnd;
property OnHelp: THelpEvent read FOnHelp write FOnHelp;
property OnHint: TNotifyEvent read FOnHint write FOnHint;
property OnShowHint: TShowHintEvent read FOnShowHint write FOnShowHint;
property OnUserInput: TOnUserInputEvent read FOnUserInput write FOnUserInput;

View File

@ -277,6 +277,48 @@ begin
end;
end;
{------------------------------------------------------------------------------
function TApplication.InvokeHelp(Command: Word; Data: Longint): Boolean;
------------------------------------------------------------------------------}
function TApplication.InvokeHelp(Command: Word; Data: Longint): Boolean;
var
CallHelp: Boolean;
//HelpHandle: HWND;
ActiveForm: TCustomForm;
begin
Result := False;
CallHelp := True;
ActiveForm := Screen.ActiveCustomForm;
{ let existing hooks get called, if any. }
if Assigned(ActiveForm) and Assigned(ActiveForm.FOnHelp) then
Result := ActiveForm.FOnHelp(Command, Data, CallHelp)
else if Assigned(FOnHelp) then
Result := FOnHelp(Command, Data, CallHelp);
if CallHelp then begin
if Assigned(ActiveForm) and ActiveForm.HandleAllocated
and (ActiveForm.FHelpFile <> '') then
begin
//HelpHandle := ActiveForm.Handle;
//if ValidateHelpSystem then
// Result := HelpSystem.Hook(Longint(HelpHandle), ActiveForm.FHelpFile,
// Command, Data);
end
else
if FHelpFile <> '' then
begin
//HelpHandle := Handle;
//if FMainForm <> nil then HelpHandle := FMainForm.Handle;
//if ValidateHelpSystem then
// Result := HelpSystem.Hook(Longint(HelpHandle),FHelpFile,Command,Data);
end else begin
//if not FHandleCreated then
// PostMessage(FHandle, CM_INVOKEHELP, Command, Data);
end;
end;
end;
{------------------------------------------------------------------------------
Method: TApplication.SetIcon
Params: the new icon
@ -316,6 +358,14 @@ begin
FHintTimerType:=ahtNone;
end;
{------------------------------------------------------------------------------
procedure TApplication.NotifyIdleHandler;
------------------------------------------------------------------------------}
function TApplication.ValidateHelpSystem: Boolean;
begin
Result:=false;
end;
{------------------------------------------------------------------------------
procedure TApplication.NotifyIdleHandler;
------------------------------------------------------------------------------}
@ -612,6 +662,50 @@ begin
if not FTerminate then Idle;
end;
{------------------------------------------------------------------------------
function TApplication.HelpCommand(Command: Integer; Data: Longint): Boolean;
------------------------------------------------------------------------------}
function TApplication.HelpCommand(Command: Integer; Data: Longint): Boolean;
begin
Result := InvokeHelp(Command, Data);
end;
{------------------------------------------------------------------------------
function TApplication.HelpContext(Context: THelpContext): Boolean;
------------------------------------------------------------------------------}
function TApplication.HelpContext(Context: THelpContext): Boolean;
begin
if ValidateHelpSystem then begin
Result := true;
//HelpSystem.ShowContextHelp(Context, GetCurrentHelpFile);
end else
Result := false;
end;
{------------------------------------------------------------------------------
function TApplication.HelpJump(const JumpID: string): Boolean;
------------------------------------------------------------------------------}
function TApplication.HelpJump(const JumpID: string): Boolean;
begin
if ValidateHelpSystem then begin
Result := true;
//HelpSystem.ShowTopicHelp(JumpID, GetCurrentHelpFile);
end else
Result := false;
end;
{------------------------------------------------------------------------------
function TApplication.HelpKeyword(const Keyword: String): Boolean;
------------------------------------------------------------------------------}
function TApplication.HelpKeyword(const Keyword: String): Boolean;
begin
if ValidateHelpSystem then begin
Result := true;
//HelpSystem.ShowHelp(Keyword, GetCurrentHelpFile);
end else
Result := false;
end;
{------------------------------------------------------------------------------
function TApplication.IsWaiting: boolean;
------------------------------------------------------------------------------}
@ -705,9 +799,23 @@ begin
Include(FFlag,AppIdleEndSent);
end;
{------------------------------------------------------------------------------}
{ TApplication ShowException }
{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------
function TApplication.GetCurrentHelpFile: string;
------------------------------------------------------------------------------}
function TApplication.GetCurrentHelpFile: string;
var
ActiveForm: TCustomForm;
begin
ActiveForm := Screen.ActiveCustomForm;
if Assigned(ActiveForm) and (ActiveForm.FHelpFile <> '') then
Result := ActiveForm.HelpFile
else
Result := HelpFile;
end;
{------------------------------------------------------------------------------
TApplication ShowException
------------------------------------------------------------------------------}
procedure TApplication.ShowException(E: Exception);
var
Msg: string;
@ -855,6 +963,9 @@ end;
{ =============================================================================
$Log$
Revision 1.48 2003/04/11 09:32:20 mattias
added some help stuff
Revision 1.47 2003/03/11 07:46:43 mattias
more localization for gtk- and win32-interface and lcl

View File

@ -1096,6 +1096,14 @@ begin
Result := True;
end;
{------------------------------------------------------------------------------
function TCustomForm.IsHelpFileStored: boolean;
------------------------------------------------------------------------------}
function TCustomForm.IsHelpFileStored: boolean;
begin
Result:=FHelpFile<>'';
end;
{------------------------------------------------------------------------------
TCustomForm Method SetFocusedControl
------------------------------------------------------------------------------}
@ -1391,6 +1399,9 @@ end;
{ =============================================================================
$Log$
Revision 1.93 2003/04/11 09:32:20 mattias
added some help stuff
Revision 1.92 2003/03/25 10:45:40 mattias
reduced focus handling and improved focus setting

View File

@ -673,7 +673,6 @@ begin
FTree.Add(APackage);
FItems.Add(APackage);
APackage.OnChangeName:=@PackageChangedName;
writeln('TLazPackageGraph.AddPackage ',Assigned(OnAddPackage));
if Assigned(OnAddPackage) then OnAddPackage(APackage);
end;

View File

@ -225,7 +225,6 @@ end;
procedure TPkgManager.PkgManagerAddPackage(Pkg: TLazPackage);
begin
writeln('TPkgManager.PkgManagerAddPackage ',PackageGraphExplorer<>nil);
if PackageGraphExplorer<>nil then
PackageGraphExplorer.UpdatePackageAdded(Pkg);
end;