mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-10-31 04:21:36 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			884 lines
		
	
	
		
			30 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			884 lines
		
	
	
		
			30 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| unit fpWebToolsUnit;
 | ||
| 
 | ||
| {$mode objfpc}{$H+}
 | ||
| 
 | ||
| interface
 | ||
| 
 | ||
| uses
 | ||
|   Classes, SysUtils, ProjectIntf, LCLType;
 | ||
| 
 | ||
| type
 | ||
| 
 | ||
|    { THtmlFileDescriptor }
 | ||
| 
 | ||
|    THtmlFileDescriptor = class(TProjectFileDescriptor)
 | ||
|    public
 | ||
|      constructor Create; override;
 | ||
|      function GetLocalizedName: string; override;
 | ||
|      function GetLocalizedDescription: string; override;
 | ||
|      function GetResourceSource(const ResourceName: string): string; override;
 | ||
|      function CreateSource(const Filename, SourceName,
 | ||
|                            ResourceName: string): string; override;
 | ||
|      procedure UpdateDefaultPascalFileExtension(const DefPasExt: string); override;
 | ||
|    end;
 | ||
| 
 | ||
|    { TJSFileDescriptor }
 | ||
| 
 | ||
|    TJSFileDescriptor = class(TProjectFileDescriptor)
 | ||
|    public
 | ||
|      constructor Create; override;
 | ||
|      function GetLocalizedName: string; override;
 | ||
|      function GetLocalizedDescription: string; override;
 | ||
|      function GetResourceSource(const ResourceName: string): string; override;
 | ||
|      function CreateSource(const Filename, SourceName,
 | ||
|                            ResourceName: string): string; override;
 | ||
|      procedure UpdateDefaultPascalFileExtension(const DefPasExt: string); override;
 | ||
|    end;
 | ||
| 
 | ||
|    { TCSSFileDescriptor }
 | ||
| 
 | ||
|    TCSSFileDescriptor = class(TProjectFileDescriptor)
 | ||
|    public
 | ||
|      constructor Create; override;
 | ||
|      function GetLocalizedName: string; override;
 | ||
|      function GetLocalizedDescription: string; override;
 | ||
|      function GetResourceSource(const ResourceName: string): string; override;
 | ||
|      function CreateSource(const Filename, SourceName,
 | ||
|                            ResourceName: string): string; override;
 | ||
|      procedure UpdateDefaultPascalFileExtension(const DefPasExt: string); override;
 | ||
|    end;
 | ||
| 
 | ||
| procedure Register;
 | ||
| 
 | ||
| //---
 | ||
| procedure ProcHTMLTextBold(Sender: TObject);
 | ||
| procedure ProcHTMLTextItalic(Sender: TObject);
 | ||
| procedure ProcHTMLTextUnderline(Sender: TObject);
 | ||
| procedure ProcHTMLHR(Sender: TObject);
 | ||
| procedure ProcHTMLBR(Sender: TObject);
 | ||
| procedure ProcHTMLNBSP(Sender: TObject);
 | ||
| procedure ProcHTMLComment(Sender: TObject);
 | ||
| procedure ProcHTMLLink(Sender: TObject);
 | ||
| procedure ProcHTMLImageTag(Sender: TObject);
 | ||
| procedure ProcHTMLTextAlignLeft(Sender: TObject);
 | ||
| procedure ProcHTMLTextAlignRight(Sender: TObject);
 | ||
| procedure ProcHTMLTextAlignCenter(Sender: TObject);
 | ||
| procedure ProcHTMLTextAlignJustify(Sender: TObject);
 | ||
| 
 | ||
| //--
 | ||
| procedure ProcHTMLTable(Sender: TObject);
 | ||
| procedure ProcHTMLGenList(Sender: TObject);
 | ||
| 
 | ||
| procedure ProcHTMLTableRow(Sender: TObject);
 | ||
| procedure ProcHTMLTableData(Sender: TObject);
 | ||
| 
 | ||
| procedure ProcHTMLTableRowWD(Sender: TObject);
 | ||
| procedure ProcHTMLTableDataWD(Sender: TObject);
 | ||
| 
 | ||
| //-- Styles
 | ||
| procedure ProcHTMLDIVBlock(Sender: TObject);
 | ||
| procedure ProcHTMLSpanText(Sender: TObject);
 | ||
| procedure ProcHTMLPre(Sender: TObject);
 | ||
| procedure ProcHTMLSub(Sender: TObject);
 | ||
| procedure ProcHTMLSuper(Sender: TObject);
 | ||
| procedure ProcHTMLColor(Sender: TObject);
 | ||
| procedure ProcHTMLTextHeader1(Sender: TObject);
 | ||
| procedure ProcHTMLTextHeader2(Sender: TObject);
 | ||
| procedure ProcHTMLTextHeader3(Sender: TObject);
 | ||
| procedure ProcHTMLTextHeader4(Sender: TObject);
 | ||
| procedure ProcHTMLTextHeader5(Sender: TObject);
 | ||
| 
 | ||
| 
 | ||
| procedure ProcHTMLForm(Sender: TObject);
 | ||
| procedure ProcHTMLSelect(Sender: TObject);
 | ||
| procedure ProcHTMLSelectOptions(Sender: TObject);
 | ||
| procedure ProcHTMLSelectOptionsWD(Sender: TObject);
 | ||
| procedure ProcHTMLCheckButton(Sender: TObject);
 | ||
| procedure ProcHTMLRadioButton(Sender: TObject);
 | ||
| procedure ProcHTMLButton(Sender: TObject);
 | ||
| procedure ProcHTMLInputTag(Sender: TObject);
 | ||
| procedure ProcHTMLInputSubmitTag(Sender: TObject);
 | ||
| procedure ProcHTMLInputResetTag(Sender: TObject);
 | ||
| procedure ProcHTMLFormFieldSet(Sender: TObject);
 | ||
| procedure ProcHTMLFormLegend(Sender: TObject);
 | ||
| 
 | ||
| 
 | ||
| procedure ProcOtherInsertFileName(Sender: TObject);
 | ||
| 
 | ||
| procedure InsertTextToCurEditor(const S:string);
 | ||
| implementation
 | ||
| 
 | ||
| uses LResources, NewItemIntf, Forms, Controls, IDECommands,
 | ||
|   MenuIntf, SrcEditorIntf, Dialogs,
 | ||
|   //HTML
 | ||
|   fpWebNewHTMLFileUnit, fpWebStrConsts, fpWebNewHtmlTableUnit,
 | ||
|   fpwebNewHTMLListUnit, fpwebNewHtmlTagTRUnit, fpwebNewHTMLFormUnit,
 | ||
|   fpwebNewHTMLInputUnit, fpwebNewHTMLImgUnit, fpWebNewHtmlTagPreUnit,
 | ||
|   fpWebHREFEditUnit, fpWebSelectOptionsUnit, fpWebSelectTagUnit,
 | ||
|   fpWebHtmlTagLegendUnit,  fpWebFieldSetTagUnit, fpwebNewHtmlTagTDUnit,
 | ||
|   //Other
 | ||
|   fpIDEExtEditorInsertFileNameUnit;
 | ||
| 
 | ||
| var
 | ||
|   //Standart items
 | ||
|   CmdHTMLBold : TIDECommand;
 | ||
|   CmdHTMLItalic : TIDECommand;
 | ||
|   CmdHTMLUnderline : TIDECommand;
 | ||
|   //----
 | ||
|   CmdHTMLBR : TIDECommand;
 | ||
|   //Paragraph
 | ||
|   CmdHTMLNBSP : TIDECommand;
 | ||
|   //----
 | ||
|   CmdHTMLLink    : TIDECommand ;
 | ||
|   CmdHTMLIMG : TIDECommand;
 | ||
|   CmdHTMLHR : TIDECommand;
 | ||
|   CmdHTMLComment : TIDECommand;
 | ||
|   //----
 | ||
|   CmdHTMLTextAlignLeft : TIDECommand;
 | ||
|   CmdHTMLTextAlignRight : TIDECommand;
 | ||
|   CmdHTMLTextAlignCenter : TIDECommand;
 | ||
|   CmdHTMLTextAlignJustify : TIDECommand;
 | ||
|   //Span text
 | ||
| 
 | ||
| 
 | ||
|   CmdHTMLTable : TIDECommand;
 | ||
|   CmdHTMLList : TIDECommand;
 | ||
| 
 | ||
|   CmdHTMLTableRow : TIDECommand;
 | ||
|   CmdHTMLTableData : TIDECommand;
 | ||
| 
 | ||
|   CmdHTMLTableRowWD : TIDECommand;
 | ||
|   CmdHTMLTableDataWD : TIDECommand;
 | ||
| 
 | ||
|   //Styles
 | ||
|   CmdHTMLDIVBlock    : TIDECommand;
 | ||
|   CmdHTMLSpanText    : TIDECommand;
 | ||
|   CmdHTMLPre         : TIDECommand;
 | ||
|   CmdHTMLSub         : TIDECommand;
 | ||
|   CmdHTMLSuper       : TIDECommand;
 | ||
|   CmdHTMLColor       : TIDECommand;
 | ||
|   CmdHTMLTextStyleH1 : TIDECommand;
 | ||
|   CmdHTMLTextStyleH2 : TIDECommand;
 | ||
|   CmdHTMLTextStyleH3 : TIDECommand;
 | ||
|   CmdHTMLTextStyleH4 : TIDECommand;
 | ||
|   CmdHTMLTextStyleH5 : TIDECommand;
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|   CmdHTMLFrom             : TIDECommand;
 | ||
|   CmdHTMLFormSelect       : TIDECommand;
 | ||
|   CmdHTMLFormSelectOpt    : TIDECommand;
 | ||
|   CmdHTMLFormSelectOptWD  : TIDECommand;
 | ||
|   CmdHTMLFormCheckBtn     : TIDECommand;
 | ||
|   CmdHTMLFormRadioBtn     : TIDECommand;
 | ||
|   CmdHTMLFormButton       : TIDECommand;
 | ||
|   CmdHTMLInput            : TIDECommand;
 | ||
|   CmdHTMLInputSubmit      : TIDECommand;
 | ||
|   CmdHTMLInputReset       : TIDECommand;
 | ||
|   CmdHTMLFormFieldSet     : TIDECommand;
 | ||
|   CmdHTMLFormLegend       : TIDECommand;
 | ||
| 
 | ||
| 
 | ||
|   CmdOtherInsFileName : TIDECommand;
 | ||
| 
 | ||
| procedure CreateHTMLToolsMenu;
 | ||
| var
 | ||
|   Key: TIDEShortCut;
 | ||
|   Cat: TIDECommandCategory;
 | ||
|   mnuHTMLMain : TIDEMenuSection;
 | ||
|   mnuHTMLSection : TIDEMenuSection;
 | ||
| 
 | ||
|   mnuHTMLStandart : TIDEMenuSection;
 | ||
|   mnuHTMLStyles : TIDEMenuSection;
 | ||
|   mnuHTMLTables : TIDEMenuSection;
 | ||
|   mnuHTMLLists : TIDEMenuSection;
 | ||
|   mnuHTMLForms : TIDEMenuSection;
 | ||
|   mnuHTMLOther : TIDEMenuSection;
 | ||
| begin
 | ||
|   Key:=IDEShortCut(VK_UNKNOWN,[],VK_UNKNOWN,[]);
 | ||
| 
 | ||
|   Cat:=IDECommandList.CreateCategory(nil, 'HTMLEditor', SmiHTMLEditor,
 | ||
|     IDECmdScopeSrcEditOnly);
 | ||
|   //--
 | ||
|   CmdHTMLBold := RegisterIDECommand(Cat, 'HTMLTable', SmiHTMLTextBold, Key, nil, @ProcHTMLTextBold);
 | ||
|   CmdHTMLItalic := RegisterIDECommand(Cat, 'HTMLTable', SmiHTMLTextItalic, Key, nil, @ProcHTMLTextItalic);
 | ||
|   CmdHTMLUnderline := RegisterIDECommand(Cat, 'HTMLTable', SmiHTMLTextUnderline, Key, nil, @ProcHTMLTextUnderline);
 | ||
|   CmdHTMLBR := RegisterIDECommand(Cat, 'HTMLBR', SmiHTMLInsertBR, Key, nil, @ProcHTMLBR);
 | ||
|   //Para
 | ||
|   CmdHTMLNBSP := RegisterIDECommand(Cat, 'HTMLNBSP', SmiHTMLInsertBR, Key, nil, @ProcHTMLNBSP);
 | ||
| 
 | ||
|   CmdHTMLHR := RegisterIDECommand(Cat, 'HTMLHR', SmiHTMLInsertHR, Key, nil, @ProcHTMLHR);
 | ||
|   CmdHTMLComment := RegisterIDECommand(Cat, 'HTMLComment', SmiHTMLInsertComment, Key, nil, @ProcHTMLComment);
 | ||
|   CmdHTMLIMG := RegisterIDECommand(Cat, 'HTMLIMG', SmiHTMLInsertIMG, Key, nil, @ProcHTMLImageTag);
 | ||
|   CmdHTMLLink:= RegisterIDECommand(Cat, 'HTMLLink', SmiHTMLInsertLink, Key, nil, @ProcHTMLLink);
 | ||
| 
 | ||
|   CmdHTMLTextAlignLeft :=RegisterIDECommand(Cat, 'HTMLTextAlignLeft', SmiHTMLTextAlignLeft, Key, nil, @ProcHTMLTextAlignLeft);
 | ||
|   CmdHTMLTextAlignRight :=RegisterIDECommand(Cat, 'HTMLTextAlignRight', SmiHTMLTextAlignRight, Key, nil, @ProcHTMLTextAlignRight);
 | ||
|   CmdHTMLTextAlignCenter :=RegisterIDECommand(Cat, 'HTMLTextAlignCenter', SmiHTMLTextAlignCenter, Key, nil, @ProcHTMLTextAlignCenter);
 | ||
|   CmdHTMLTextAlignJustify :=RegisterIDECommand(Cat, 'HTMLTextAlignJustify', SmiHTMLTextAlignJustify, Key, nil, @ProcHTMLTextAlignJustify);
 | ||
| 
 | ||
|   //--
 | ||
|   CmdHTMLTable := RegisterIDECommand(Cat, 'HTMLTable', SmiHTMLInsertTable, Key, nil, @ProcHTMLTable);
 | ||
|   CmdHTMLList := RegisterIDECommand(Cat, 'HTMLList', SmiHTMLInsertList, Key, nil, @ProcHTMLGenList);
 | ||
| 
 | ||
|   CmdHTMLTableRow := RegisterIDECommand(Cat, 'HTMLTableRow', SmiHTMLInsertTableRow, Key, nil, @ProcHTMLTableRow);
 | ||
|   CmdHTMLTableData := RegisterIDECommand(Cat, 'HTMLTableData', SmiHTMLInsertTableData, Key, nil, @ProcHTMLTableData);
 | ||
| 
 | ||
|   CmdHTMLTableRowWD  := RegisterIDECommand(Cat, 'HTMLTableRowWD', SmiHTMLInsertTableRowWD, Key, nil, @ProcHTMLTableRowWD);
 | ||
|   CmdHTMLTableDataWD := RegisterIDECommand(Cat, 'HTMLTableDataWD', SmiHTMLInsertTableDataWD, Key, nil, @ProcHTMLTableDataWD);
 | ||
| 
 | ||
|   //Styles
 | ||
|   CmdHTMLDIVBlock    := RegisterIDECommand(Cat, 'HTMLDIVBlock', SmiHTMLInsertDIVBlock, Key, nil, @ProcHTMLDIVBlock);
 | ||
|   CmdHTMLSpanText    := RegisterIDECommand(Cat, 'HTMLSpanText', SmiHTMLInsertSpanText, Key, nil, @ProcHTMLSpanText);
 | ||
|   CmdHTMLPre         := RegisterIDECommand(Cat, 'HTMLPre', SmiHTMLInsertPre, Key, nil, @ProcHTMLPre);
 | ||
|   CmdHTMLSub         := RegisterIDECommand(Cat, 'HTMLSub', SmiHTMLInsertSub, Key, nil, @ProcHTMLSub);
 | ||
|   CmdHTMLSuper       := RegisterIDECommand(Cat, 'HTMLSuper', SmiHTMLInsertSuper, Key, nil, @ProcHTMLSuper);
 | ||
|   CmdHTMLColor       := RegisterIDECommand(Cat, 'HTMLColor', SmiHTMLInsertColor, Key, nil, @ProcHTMLColor);
 | ||
|   CmdHTMLTextStyleH1 := RegisterIDECommand(Cat, 'HTMLTextStyleH1', SmiHTMLInsertHeader1Level, Key, nil, @ProcHTMLTextHeader1);
 | ||
|   CmdHTMLTextStyleH2 := RegisterIDECommand(Cat, 'HTMLTextStyleH2', SmiHTMLInsertHeader2Level, Key, nil, @ProcHTMLTextHeader2);
 | ||
|   CmdHTMLTextStyleH3 := RegisterIDECommand(Cat, 'HTMLTextStyleH3', SmiHTMLInsertHeader3Level, Key, nil, @ProcHTMLTextHeader3);
 | ||
|   CmdHTMLTextStyleH4 := RegisterIDECommand(Cat, 'HTMLTextStyleH4', SmiHTMLInsertHeader4Level, Key, nil, @ProcHTMLTextHeader4);
 | ||
|   CmdHTMLTextStyleH5 := RegisterIDECommand(Cat, 'HTMLTextStyleH5', SmiHTMLInsertHeader5Level, Key, nil, @ProcHTMLTextHeader5);
 | ||
| 
 | ||
| 
 | ||
|   //Forms---
 | ||
|   CmdHTMLFrom := RegisterIDECommand(Cat, 'HTMLForm', SmiHTMLInsertForm, Key, nil, @ProcHTMLForm);
 | ||
|   CmdHTMLFormSelect      := RegisterIDECommand(Cat, 'HTMLFormSelect', SmiHTMLFormSelect, Key, nil, @ProcHTMLSelect);
 | ||
|   CmdHTMLFormSelectOpt   := RegisterIDECommand(Cat, 'HTMLFormSelectOpt', SmiHTMLFormSelectOpt, Key, nil, @ProcHTMLSelectOptionsWD);
 | ||
|   CmdHTMLFormSelectOptWD := RegisterIDECommand(Cat, 'HTMLFormSelectOptWD', SmiHTMLFormSelectOptWD, Key, nil, @ProcHTMLSelectOptions);
 | ||
|   CmdHTMLFormCheckBtn    := RegisterIDECommand(Cat, 'HTMLFormCheckBtn', SmiHTMLFormCheckBox, Key, nil, @ProcHTMLCheckButton);
 | ||
|   CmdHTMLFormRadioBtn    := RegisterIDECommand(Cat, 'HTMLFormRadioBtn', SmiHTMLFormRadioBtn, Key, nil, @ProcHTMLRadioButton);
 | ||
|   CmdHTMLFormButton      := RegisterIDECommand(Cat, 'HTMLFormButton', SmiHTMLFormButtton, Key, nil, @ProcHTMLButton);
 | ||
|   CmdHTMLInput           := RegisterIDECommand(Cat, 'HTMLInput', SmiHTMLInsertInput, Key, nil, @ProcHTMLInputTag);
 | ||
|   CmdHTMLInputSubmit     := RegisterIDECommand(Cat, 'HTMLInputSubmit', SmiHTMLInsertInputSubmit, Key, nil, @ProcHTMLInputSubmitTag);
 | ||
|   CmdHTMLInputReset      := RegisterIDECommand(Cat, 'HTMLInputReset', SmiHTMLInsertInputReset, Key, nil, @ProcHTMLInputResetTag);
 | ||
|   CmdHTMLFormFieldSet    := RegisterIDECommand(Cat, 'HTMLFormFieldSet', SmiHTMLFormFieldSet, Key, nil, @ProcHTMLFormFieldSet);
 | ||
|   CmdHTMLFormLegend      := RegisterIDECommand(Cat, 'HTMLFormLegend', SmiHTMLFormLegend, Key, nil, @ProcHTMLFormLegend);
 | ||
|   CmdHTMLFrom := RegisterIDECommand(Cat, 'HTMLForm', SmiHTMLInsertForm, Key, nil, @ProcHTMLForm);
 | ||
|   CmdHTMLInput:= RegisterIDECommand(Cat, 'HTMLInput', SmiHTMLInsertInput, Key, nil, @ProcHTMLInputTag);
 | ||
|   CmdHTMLInputSubmit := RegisterIDECommand(Cat, 'HTMLInputSubmit', SmiHTMLInsertInputSubmit, Key, nil, @ProcHTMLInputSubmitTag);
 | ||
|   CmdHTMLInputReset := RegisterIDECommand(Cat, 'HTMLInputReset', SmiHTMLInsertInputReset, Key, nil, @ProcHTMLInputResetTag);
 | ||
| 
 | ||
|   CmdOtherInsFileName:=RegisterIDECommand(Cat, 'OtherInsFN', SmiOtherInsertFN, Key, nil, @ProcOtherInsertFileName);
 | ||
| 
 | ||
|   //  mnuHTMLMain := RegisterIDEMenuRoot('HTML');//RegisterIDEMenuSection(itmCustomTools, 'HTMLEditor');
 | ||
|   mnuHTMLMain := RegisterIDEMenuSection(mnuMain, 'HTMLEditor');
 | ||
| 
 | ||
|   mnuHTMLSection:=RegisterIDESubMenu(mnuHTMLMain, 'HTMLEditor', SmiHTMLEditor, nil, nil);
 | ||
| 
 | ||
|   mnuHTMLStandart := RegisterIDESubMenu(mnuHTMLSection, 'HTMLStandart', SmiHTMLStandart, nil, nil);
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLBold', SmiHTMLTextBold, nil, nil, CmdHTMLBold, 'tag_bold');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLItalic', SmiHTMLTextItalic, nil, nil, CmdHTMLItalic, 'tag_i');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLUnderline', SmiHTMLTextUnderline, nil, nil, CmdHTMLUnderline, 'tag_u');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, '', '-', nil, nil, nil, '');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLBR', SmiHTMLInsertBR, nil, nil, CmdHTMLBR, 'tag_br');
 | ||
|     //Paragraph
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLNBSP', SmiHTMLInsertNBSP, nil, nil, CmdHTMLNBSP, 'tag_nbsp');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, '', '-', nil, nil, nil, '');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLLink', SmiHTMLInsertLink, nil, nil, CmdHTMLLink, 'tag_a');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLIMG', SmiHTMLInsertIMG, nil, nil, CmdHTMLIMG, 'tag_image');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLHR', SmiHTMLInsertHR, nil, nil, CmdHTMLHR, 'tag_hr');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLComment', SmiHTMLInsertComment, nil, nil, CmdHTMLComment, 'tag_comm');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, '', '-', nil, nil, nil, '');
 | ||
|     //--
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLTextAlignLeft', SmiHTMLTextAlignLeft, nil, nil, CmdHTMLTextAlignLeft, 'div_left');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLTextAlignRight', SmiHTMLTextAlignRight, nil, nil, CmdHTMLTextAlignRight, 'div_right');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLTextAlignCenter', SmiHTMLTextAlignCenter, nil, nil, CmdHTMLTextAlignCenter, 'div_center');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStandart, 'HTMLTextAlignJustify', SmiHTMLTextAlignJustify, nil, nil, CmdHTMLTextAlignJustify, 'div_justify');
 | ||
|     //Span text
 | ||
| 
 | ||
|   //List's
 | ||
|   mnuHTMLLists := RegisterIDESubMenu(mnuHTMLSection, 'HTMLLists', SmiHTMLLists, nil, nil);
 | ||
|     RegisterIDEMenuCommand(mnuHTMLLists, 'HTMLList', SmiHTMLInsertList, nil, nil,
 | ||
|       CmdHTMLList, 'HTMLList');
 | ||
| 
 | ||
|   //Style's
 | ||
|   mnuHTMLStyles :=RegisterIDESubMenu(mnuHTMLSection, 'HTMLStyle', SmiHTMLStyle, nil, nil);
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, 'HTMLDIVBlock', SmiHTMLInsertDIVBlock, nil, nil, CmdHTMLDIVBlock, 'div_justify');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, 'HTMLSpanText', SmiHTMLInsertSpanText, nil, nil, CmdHTMLSpanText, 'tag_font');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, '', '-', nil, nil, nil, '');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, 'HTMLPre', SmiHTMLInsertPre, nil, nil, CmdHTMLPre, 'tag_pre');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, 'HTMLSub', SmiHTMLInsertSub, nil, nil, CmdHTMLSub, 'tag_sub');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, 'HTMLSuper', SmiHTMLInsertSuper, nil, nil, CmdHTMLSuper, 'tag_sup');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, 'HTMLColor', SmiHTMLInsertColor, nil, nil, CmdHTMLColor, 'color-picker');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, '', '-', nil, nil, nil, '');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, 'HTMLTextHeader1', SmiHTMLInsertHeader1Level, nil, nil, CmdHTMLTextStyleH1, 'tag_h1');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, 'HTMLTextHeader2', SmiHTMLInsertHeader2Level, nil, nil, CmdHTMLTextStyleH2, 'tag_h2');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, 'HTMLTextHeader3', SmiHTMLInsertHeader3Level, nil, nil, CmdHTMLTextStyleH3, 'tag_h3');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, 'HTMLTextHeader4', SmiHTMLInsertHeader4Level, nil, nil, CmdHTMLTextStyleH4, 'tag_h4');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLStyles, 'HTMLTextHeader5', SmiHTMLInsertHeader5Level, nil, nil, CmdHTMLTextStyleH5, 'tag_h5');
 | ||
| 
 | ||
|   //Table menus
 | ||
|   mnuHTMLTables := RegisterIDESubMenu(mnuHTMLSection, 'HTMLTables', SmiHTMLTables, nil, nil);
 | ||
|     RegisterIDEMenuCommand(mnuHTMLTables, 'HTMLTable', SmiHTMLInsertTable, nil, nil,
 | ||
|       CmdHTMLTable, 'quick_table');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLTables, 'HTMLTableRow', SmiHTMLInsertTableRow, nil, nil,
 | ||
|       CmdHTMLTableRow, 'tag_tr');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLTables, 'HTMLTableData', SmiHTMLInsertTableData, nil, nil,
 | ||
|       CmdHTMLTableData, 'tag_td');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLTables, 'HTMLTableRowWD', SmiHTMLInsertTableRowWD, nil, nil,
 | ||
|       CmdHTMLTableRowWD, 'tag_table_row');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLTables, 'HTMLTableDataWD', SmiHTMLInsertTableDataWD, nil, nil,
 | ||
|       CmdHTMLTableDataWD, 'tag_table_data');
 | ||
| 
 | ||
| 
 | ||
|   //Forms menu
 | ||
|   mnuHTMLForms := RegisterIDESubMenu(mnuHTMLSection, 'HTMLForms', SmiHTMLForms, nil, nil);
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, 'HTMLForm', SmiHTMLInsertForm, nil, nil, CmdHTMLFrom, 'HTMLForm');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, '', '-', nil, nil, nil, '');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, 'HTMLFormSelect', SmiHTMLFormSelect, nil, nil, CmdHTMLFormSelect, 'select');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, 'HTMLFormSelectOpt', SmiHTMLFormSelectOpt, nil, nil, CmdHTMLFormSelectOpt, 'tag_li');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, 'HTMLFormSelectOptWD', SmiHTMLFormSelectOptWD, nil, nil, CmdHTMLFormSelectOptWD, 'tag_li');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, 'HTMLFormCheckBtn', SmiHTMLFormCheckBox, nil, nil, CmdHTMLFormCheckBtn, 'check');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, 'HTMLFormRadioBtn', SmiHTMLFormRadioBtn, nil, nil, CmdHTMLFormRadioBtn, 'radio');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, 'HTMLFormButton', SmiHTMLFormButtton, nil, nil, CmdHTMLFormButton, 'button');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, '', '-', nil, nil, nil, '');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, 'HTMLInput', SmiHTMLInsertInput, nil, nil, CmdHTMLInput, 'lineedit');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, 'HTMLInputSubmit', SmiHTMLInsertInputSubmit, nil, nil, CmdHTMLInputSubmit, 'submit');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, 'HTMLInputReset', SmiHTMLInsertInputReset, nil, nil, CmdHTMLInputReset, 'reset');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, '', '-', nil, nil, nil, '');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, 'HTMLFormFieldSet', SmiHTMLFormFieldSet, nil, nil, CmdHTMLFormFieldSet, 'tag_element');
 | ||
|     RegisterIDEMenuCommand(mnuHTMLForms, 'HTMLFormLegend', SmiHTMLFormLegend, nil, nil, CmdHTMLFormLegend, 'tag_attribute');
 | ||
| 
 | ||
|   //Other tools
 | ||
|   mnuHTMLOther :=RegisterIDESubMenu(mnuHTMLSection, 'HTMLOther', SmiHTMLOther, nil, nil);
 | ||
|     RegisterIDEMenuCommand(mnuHTMLOther, 'OtherInsFN', SmiOtherInsertFN, nil, nil,
 | ||
|       CmdOtherInsFileName, '');
 | ||
| 
 | ||
| end;
 | ||
| 
 | ||
| procedure Register;
 | ||
| begin
 | ||
|   RegisterNewItemCategory(TNewIDEItemCategory.Create(SHtmlDesign));
 | ||
|   RegisterProjectFileDescriptor(THtmlFileDescriptor.Create, SHtmlDesign);
 | ||
|   RegisterProjectFileDescriptor(TJSFileDescriptor.Create, SHtmlDesign);
 | ||
|   RegisterProjectFileDescriptor(TCSSFileDescriptor.Create, SHtmlDesign);
 | ||
| 
 | ||
|   CreateHTMLToolsMenu;
 | ||
| end;
 | ||
| 
 | ||
| Procedure InsertHTMLSnippet(Const AText : String);
 | ||
| 
 | ||
| begin
 | ||
|   if Assigned(SourceEditorManagerIntf) and Assigned(SourceEditorManagerIntf.ActiveEditor) then
 | ||
|     With SourceEditorManagerIntf.ActiveEditor do
 | ||
|       Selection:=AText;
 | ||
| end;
 | ||
| 
 | ||
| Function CheckEditor : Boolean;
 | ||
| 
 | ||
| begin
 | ||
|   Result:=Assigned(SourceEditorManagerIntf) and Assigned(SourceEditorManagerIntf.ActiveEditor);
 | ||
| end;
 | ||
| 
 | ||
| Procedure InsertHTMLTag(Const ATag : String; Const AAttribute : String = '');
 | ||
| 
 | ||
| begin
 | ||
|   If CheckEditor then
 | ||
|     With SourceEditorManagerIntf.ActiveEditor do
 | ||
|       if (AAttribute='') then
 | ||
|         Selection:='<'+ATag+'>'+Selection+'</'+ATag+'>'
 | ||
|       else
 | ||
|         Selection:='<'+ATag+' '+AAttribute+' >'+Selection+'</'+ATag+'>';
 | ||
| end;
 | ||
| 
 | ||
| function ShowEditInputTagForm(const ATagType:string; const ADefValue:string = ''):string;
 | ||
| 
 | ||
| begin
 | ||
|   If Not CheckEditor then Exit;
 | ||
|   With TFpwebNewHTMLInputForm.Create(Application) do
 | ||
|     try
 | ||
|       cbType.Text:=ATagType;
 | ||
|       if ADefValue<>'' then
 | ||
|         edtValue.Text:=ADefValue
 | ||
|       else
 | ||
|         edtValue.Text:=SourceEditorManagerIntf.ActiveEditor.Selection;
 | ||
|       if ShowModal = mrOk then
 | ||
|         InsertHTMLSnippet(HtmlText);
 | ||
|     finally
 | ||
|       Free;
 | ||
|     end;
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTableRow(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('tr');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTableData(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('td');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTextHeader1(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('H1');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTextHeader2(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('H2');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTextHeader3(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('H3');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTextHeader4(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('H4');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTextHeader5(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('H5');
 | ||
| end;
 | ||
| 
 | ||
| 
 | ||
| procedure ProcHTMLTextBold(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('strong');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTextItalic(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('em');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTextUnderline(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('u');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLHR(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLSnippet('<HR>');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLBR(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLSnippet('<BR>');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLNBSP(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLSnippet('   ');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTextAlignLeft(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('div','align="left"');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTextAlignRight(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('div','align="right"');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTextAlignCenter(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('div','align="center"');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTextAlignJustify(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('div','align="justify"');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLComment(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then Exit;
 | ||
|   with SourceEditorManagerIntf.ActiveEditor do
 | ||
|     Selection:='<!-- '+Selection+' -->';
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLDIVBlock(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then Exit;
 | ||
|   With TfpWebNewHtmlTagPreForm.Create(Application) do
 | ||
|   try
 | ||
|     if ShowModal = mrOk then
 | ||
|       InsertHTMLSnippet(HtmlText(SourceEditorManagerIntf.ActiveEditor.Selection));
 | ||
|   finally
 | ||
|     Free;
 | ||
|   end;
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLSpanText(Sender: TObject);
 | ||
| begin
 | ||
|   { TODO : Необходимо добавить окно диалога с запросом параметров - события/стили }
 | ||
|   InsertHTMLTag('SPAN');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLPre(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('pre');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLSub(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('sub');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLSuper(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('sup');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLColor(Sender: TObject);
 | ||
| var
 | ||
|   Dlg:TColorDialog;
 | ||
| begin
 | ||
|   If Not CheckEditor then Exit;
 | ||
|   Dlg:=TColorDialog.Create(Application);
 | ||
|   try
 | ||
|     if Dlg.Execute then
 | ||
|       InsertHTMLSnippet('#'+IntToHex(Dlg.Color,6));
 | ||
|   finally
 | ||
|     Dlg.Free;
 | ||
|   end;
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTable(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then Exit;
 | ||
|   With TfpWebNewHtmlTableForm.Create(Application) do
 | ||
|     try
 | ||
|       if ShowModal = mrOk then
 | ||
|          InsertHTMLSnippet(HtmlText);
 | ||
|     finally
 | ||
|       fpWebNewHtmlTableForm.Free;
 | ||
|     end;
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLGenList(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then Exit;
 | ||
|   With TfpWebNewHTMLListForm.Create(Application) do
 | ||
|     try
 | ||
|       if ShowModal = mrOk then
 | ||
|          InsertHTMLSnippet(HtmlText);
 | ||
|     finally
 | ||
|       Free;
 | ||
|     end;
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTableRowWD(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then Exit;
 | ||
|   With TfpWebNewHtmlTagTRForm.Create(Application) do
 | ||
|     try
 | ||
|       if ShowModal = mrOk then
 | ||
|          InsertHTMLSnippet(HtmlText);
 | ||
|     Finally
 | ||
|       Free;
 | ||
|     end
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLTableDataWD(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then Exit;
 | ||
|   With TfpwebNewHtmlTagTDForm.Create(Application) do
 | ||
|   try
 | ||
|     edtText.Text:=SourceEditorManagerIntf.ActiveEditor.Selection;
 | ||
|     if ShowModal = mrOk then
 | ||
|       InsertHTMLSnippet(HtmlText);
 | ||
|   finally
 | ||
|     Free;
 | ||
|   end;
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLForm(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then Exit;
 | ||
|   With TfpWebNewHTMLFormForm.Create(Application) do
 | ||
|     try
 | ||
|       if ShowModal = mrOk then
 | ||
|         InsertHTMLSnippet(HtmlText(SourceEditorManagerIntf.ActiveEditor.Selection));
 | ||
|     finally
 | ||
|       Free;
 | ||
|     end;
 | ||
| end;
 | ||
| 
 | ||
| {procedure ProcHTMLInputTag(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then Exit;
 | ||
|   With TfpWebNewHTMLInputForm.Create(Application) do
 | ||
|     try
 | ||
|       if ShowModal = mrOk then
 | ||
|          InsertHTMLSnippet(HtmlText);
 | ||
|     finally
 | ||
|       Free;
 | ||
|     end;
 | ||
| end;}
 | ||
| 
 | ||
| 
 | ||
| procedure ProcHTMLImageTag(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then Exit;
 | ||
|   With TfpWebNewHTMLImgForm.Create(Application) do
 | ||
|     try
 | ||
|       if ShowModal = mrOk then
 | ||
|        InsertHTMLSnippet(HtmlText);
 | ||
|     finally
 | ||
|       Free;
 | ||
|     end;
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLSelect(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then Exit;
 | ||
|   With TfpWebSelectTagForm.Create(Application) do
 | ||
|     try
 | ||
|       edtName.Text:=SourceEditorManagerIntf.ActiveEditor.Selection;
 | ||
|       if ShowModal = mrOk then
 | ||
|         InsertHTMLSnippet(HtmlText);
 | ||
|     finally
 | ||
|       Free;
 | ||
|     end;
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLSelectOptions(Sender: TObject);
 | ||
| begin
 | ||
|   InsertHTMLTag('option');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLSelectOptionsWD(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then exit;
 | ||
|   With TfpWebSelectOptionsForm.Create(Application) do
 | ||
|     try
 | ||
|       edtCaption.Text:=SourceEditorManagerIntf.ActiveEditor.Selection;
 | ||
|       if ShowModal = mrOk then
 | ||
|          InsertHTMLSnippet(HtmlText);
 | ||
|     finally
 | ||
|       Free;
 | ||
|     end;
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLCheckButton(Sender: TObject);
 | ||
| begin
 | ||
|   ShowEditInputTagForm('checkbox');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLRadioButton(Sender: TObject);
 | ||
| 
 | ||
| begin
 | ||
|   ShowEditInputTagForm('radio');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLButton(Sender: TObject);
 | ||
| begin
 | ||
|   ShowEditInputTagForm('button');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLInputTag(Sender: TObject);
 | ||
| begin
 | ||
|   ShowEditInputTagForm('');
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLInputSubmitTag(Sender: TObject);
 | ||
| begin
 | ||
|   ShowEditInputTagForm('submit', SHTMLTagCaptionSubmit);
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLInputResetTag(Sender: TObject);
 | ||
| begin
 | ||
|   ShowEditInputTagForm('reset', SHTMLTagCaptionReset);
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLFormFieldSet(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then exit;
 | ||
|   With TfpWebFieldSetTagForm.Create(Application) do
 | ||
|     try
 | ||
|       if ShowModal = mrOk then
 | ||
|         InsertHTMLSnippet(HtmlText(SourceEditorManagerIntf.ActiveEditor.Selection));
 | ||
|     Finally
 | ||
|       Free;
 | ||
|     end;
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLFormLegend(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then exit;
 | ||
|   With TfpWebHtmlTagLegendForm.Create(Application) do
 | ||
|     try
 | ||
|       edtCaption.Text:=SourceEditorManagerIntf.ActiveEditor.Selection;
 | ||
|       if ShowModal = mrOk then
 | ||
|         InsertHTMLSnippet(HtmlText);
 | ||
|     finally
 | ||
|       Free;
 | ||
|     end;
 | ||
| end;
 | ||
| 
 | ||
| procedure ProcHTMLLink(Sender: TObject);
 | ||
| begin
 | ||
|   If Not CheckEditor then exit;
 | ||
|   With TfpWebHREFEditForm.Create(Application) do
 | ||
|     try
 | ||
|       edtLinkText.Text:=SourceEditorManagerIntf.ActiveEditor.Selection;
 | ||
|       if ShowModal = mrOk then
 | ||
|         InsertHTMLSnippet(HtmlText);
 | ||
|     finally
 | ||
|       Free;
 | ||
|     end;
 | ||
| end;
 | ||
| 
 | ||
| 
 | ||
| procedure ProcOtherInsertFileName(Sender: TObject);
 | ||
| begin
 | ||
|   With TfpIDEExtEditorInsertFileNameForm.Create(Application) do
 | ||
|     try
 | ||
|       if ShowModal = mrOk then
 | ||
|         InsertHTMLSnippet(SelectedFile);
 | ||
|     finally
 | ||
|       Free;
 | ||
|     end;
 | ||
| end;
 | ||
| 
 | ||
| procedure InsertTextToCurEditor(const S: string);
 | ||
| var
 | ||
|   i:integer;
 | ||
| begin
 | ||
|   { TODO -oalexs : Add code for positiopn cursor to position of char |, also insert curent selection into new string at position of %s }
 | ||
| 
 | ||
| {  if Assigned(SourceEditorManagerIntf) and Assigned(SourceEditorManagerIntf.ActiveEditor) then
 | ||
|   begin
 | ||
|     if Pos('|', S)
 | ||
|     SourceEditorManagerIntf.ActiveEditor.Selection:=fpWebIDEExtEditorInsertFileNameForm.SelectedFile;
 | ||
|   end;}
 | ||
| end;
 | ||
| 
 | ||
| { THtmlFileDescriptor }
 | ||
| 
 | ||
| constructor THtmlFileDescriptor.Create;
 | ||
| begin
 | ||
|   inherited Create;
 | ||
|   Name:='Html file';
 | ||
|   DefaultFilename:='index.html';
 | ||
|   DefaultResFileExt:='';
 | ||
|   DefaultFileExt:='.html';
 | ||
|   VisibleInNewDialog:=true;
 | ||
| end;
 | ||
| 
 | ||
| function THtmlFileDescriptor.GetLocalizedName: string;
 | ||
| begin
 | ||
|   Result:=SHtmlFile;
 | ||
| end;
 | ||
| 
 | ||
| function THtmlFileDescriptor.GetLocalizedDescription: string;
 | ||
| begin
 | ||
|   Result:=SHtmlFileDesc;
 | ||
| end;
 | ||
| 
 | ||
| function THtmlFileDescriptor.GetResourceSource(const ResourceName: string
 | ||
|   ): string;
 | ||
| begin
 | ||
|   Result:='';
 | ||
| end;
 | ||
| 
 | ||
| function THtmlFileDescriptor.CreateSource(const Filename, SourceName,
 | ||
|   ResourceName: string): string;
 | ||
| begin
 | ||
|   Result:='';
 | ||
|   fpWebNewHTMLFileForm:=TfpWebNewHTMLFileForm.Create(Application);
 | ||
|   if fpWebNewHTMLFileForm.ShowModal = mrOk then
 | ||
|   begin
 | ||
|     Result:=fpWebNewHTMLFileForm.HtmlText;
 | ||
|   end;
 | ||
|   fpWebNewHTMLFileForm.Free;
 | ||
| end;
 | ||
| 
 | ||
| procedure THtmlFileDescriptor.UpdateDefaultPascalFileExtension(
 | ||
|   const DefPasExt: string);
 | ||
| begin
 | ||
|   //inherited UpdateDefaultPascalFileExtension(DefPasExt);
 | ||
| end;
 | ||
| 
 | ||
| { TJSFileDescriptor }
 | ||
| 
 | ||
| constructor TJSFileDescriptor.Create;
 | ||
| begin
 | ||
|   inherited Create;
 | ||
|   Name:='Java script file';
 | ||
|   DefaultFilename:='functions.js';
 | ||
|   DefaultResFileExt:='';
 | ||
|   DefaultFileExt:='.js';
 | ||
|   VisibleInNewDialog:=true;
 | ||
| end;
 | ||
| 
 | ||
| function TJSFileDescriptor.GetLocalizedName: string;
 | ||
| begin
 | ||
|   Result:=SJSFile;
 | ||
| end;
 | ||
| 
 | ||
| function TJSFileDescriptor.GetLocalizedDescription: string;
 | ||
| begin
 | ||
|   Result:=SJSFileDesc;
 | ||
| end;
 | ||
| 
 | ||
| function TJSFileDescriptor.GetResourceSource(const ResourceName: string
 | ||
|   ): string;
 | ||
| begin
 | ||
|   Result:='';
 | ||
| end;
 | ||
| 
 | ||
| function TJSFileDescriptor.CreateSource(const Filename, SourceName,
 | ||
|   ResourceName: string): string;
 | ||
| begin
 | ||
|   Result:='/* '+SJSSource+ '*/';
 | ||
| end;
 | ||
| 
 | ||
| procedure TJSFileDescriptor.UpdateDefaultPascalFileExtension(
 | ||
|   const DefPasExt: string);
 | ||
| begin
 | ||
|   //
 | ||
| end;
 | ||
| 
 | ||
| { TCSSFileDescriptor }
 | ||
| 
 | ||
| constructor TCSSFileDescriptor.Create;
 | ||
| begin
 | ||
|   inherited Create;
 | ||
|   Name:='CSS file';
 | ||
|   DefaultFilename:='styles.css';
 | ||
|   DefaultResFileExt:='';
 | ||
|   DefaultFileExt:='.css';
 | ||
|   VisibleInNewDialog:=true;
 | ||
| end;
 | ||
| 
 | ||
| function TCSSFileDescriptor.GetLocalizedName: string;
 | ||
| begin
 | ||
|   Result:=SCSSFile;
 | ||
| end;
 | ||
| 
 | ||
| function TCSSFileDescriptor.GetLocalizedDescription: string;
 | ||
| begin
 | ||
|   Result:=SCSSFileDesc;
 | ||
| end;
 | ||
| 
 | ||
| function TCSSFileDescriptor.GetResourceSource(const ResourceName: string
 | ||
|   ): string;
 | ||
| begin
 | ||
|   Result:='';
 | ||
| end;
 | ||
| 
 | ||
| function TCSSFileDescriptor.CreateSource(const Filename, SourceName,
 | ||
|   ResourceName: string): string;
 | ||
| begin
 | ||
|   Result:='/* '+SCSSSource+' */';
 | ||
| end;
 | ||
| 
 | ||
| procedure TCSSFileDescriptor.UpdateDefaultPascalFileExtension(
 | ||
|   const DefPasExt: string);
 | ||
| begin
 | ||
|   //
 | ||
| end;
 | ||
| 
 | ||
| initialization
 | ||
|   {$I fpWeb_images.inc}
 | ||
| end.
 | ||
| 
 | 
