mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-16 04:37:41 +00:00
81 lines
2.7 KiB
ObjectPascal
81 lines
2.7 KiB
ObjectPascal
(*
|
|
Name: Keyman.Developer.System.Project.ProjectFiles
|
|
Copyright: Copyright (C) SIL International.
|
|
Documentation:
|
|
Description:
|
|
Create Date: 1 Aug 2006
|
|
|
|
Modified Date: 4 May 2015
|
|
Authors: mcdurdin
|
|
Related Files:
|
|
Dependencies:
|
|
|
|
Bugs:
|
|
Todo:
|
|
Notes:
|
|
History: 01 Aug 2006 - mcdurdin - Initial version
|
|
04 Dec 2006 - mcdurdin - Test if file is open - WindowOpen
|
|
16 Jan 2009 - mcdurdin - I1769 - Add support for HTM, HTLM, XML to open for edit in Keyman Developer
|
|
18 May 2012 - mcdurdin - I3306 - V9.0 - Remove TntControls + Win9x support
|
|
08 Jun 2012 - mcdurdin - I3349 - V9.0 - Consolidate all process creation into TUtilExecute
|
|
04 May 2015 - mcdurdin - I4687 - V9.0 - Split project UI actions into separate classes
|
|
04 May 2015 - mcdurdin - I4694 - V9.0 - Split UI actions from non-UI actions in projects
|
|
*)
|
|
unit Keyman.Developer.System.Project.ProjectFiles; // I3306 // I4687
|
|
|
|
interface
|
|
|
|
uses
|
|
Keyman.Developer.System.Project.ProjectFile;
|
|
|
|
type
|
|
TProjectFileActionCompileSuccessEvent = procedure(Sender: TObject; const SourceFilename, DestFilename: string) of object;
|
|
|
|
TShellProjectFile = class(TProjectFile)
|
|
protected
|
|
function GetRelativeOrder: Integer; override;
|
|
procedure GetFileParameters; override;
|
|
end;
|
|
|
|
TOpenableProjectFile = class(TShellProjectFile)
|
|
private
|
|
class var FOnCompileSuccess: TProjectFileActionCompileSuccessEvent;
|
|
protected
|
|
function GetRelativeOrder: Integer; override;
|
|
public
|
|
class property OnCompileSuccess: TProjectFileActionCompileSuccessEvent read FOnCompileSuccess write FOnCompileSuccess;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
Keyman.Developer.System.Project.ProjectFileType;
|
|
|
|
function TOpenableProjectFile.GetRelativeOrder: Integer;
|
|
begin
|
|
Result := 10;
|
|
end;
|
|
|
|
function TShellProjectFile.GetRelativeOrder: Integer;
|
|
begin
|
|
Result := 0;
|
|
end;
|
|
|
|
procedure TShellProjectFile.GetFileParameters;
|
|
begin
|
|
end;
|
|
|
|
initialization
|
|
RegisterProjectFileType('*', TShellProjectFile);
|
|
RegisterProjectFileType('.bmp', TOpenableProjectFile);
|
|
RegisterProjectFileType('.ico', TOpenableProjectFile);
|
|
RegisterProjectFileType('.txt', TOpenableProjectFile);
|
|
RegisterProjectFileType('.md', TOpenableProjectFile);
|
|
RegisterProjectFileType('.keyboard_info', TOpenableProjectFile);
|
|
RegisterProjectFileType('.model_info', TOpenableProjectFile);
|
|
RegisterProjectFileType('.htm', TOpenableProjectFile); // I1769
|
|
RegisterProjectFileType('.html', TOpenableProjectFile); // I1769
|
|
RegisterProjectFileType('.xml', TOpenableProjectFile); // I1769
|
|
RegisterProjectFileType('.js', TOpenableProjectFile);
|
|
end.
|
|
|