| TWPDefAct Object Properties Methods Events |
Unit
wpDefActions
Declaration
TWPDefAct = class(TDataModule)
Hierarchy
TDataModule <--TWPDefAct
Subclasses
None
Description
This data module contains actions which are useful in combination with the TWPRichText control. To use this actions you can use an instance of the component TWPDefaultActions or create the data module in code.
The WPTools default editor (unit wpDefEditor) also uses this data module - but creates it in code. It also contains some code to show the power of the WPReporter. Please see the example code. The component TWPDefaultActions makes it easy to attach event handlers for unused menu items, such as 'Export'.
List of objects created by the data module:
// The menu ---
MainMenu: TMainMenu
File1: TMenuItem
New1: TMenuItem
Open1: TMenuItem // use the XA_Actions !
CloseFile1: TMenuItem
N1: TMenuItem // = seperator
Save1: TMenuItem
SaveAs1: TMenuItem
Export1: TMenuItem
N2: TMenuItem
PageLayout1: TMenuItem
PrintPreview1: TMenuItem
Print1: TMenuItem
Print2: TMenuItem
N3: TMenuItem
MailTo1: TMenuItem
Properties1: TMenuItem
N4: TMenuItem
CloseApp1: TMenuItem
Edit1: TMenuItem
Redo1: TMenuItem
Undo1: TMenuItem
N5: TMenuItem
Cut1: TMenuItem
Copy1: TMenuItem
Paste1: TMenuItem
N6: TMenuItem
Delete1: TMenuItem
ParagraphFormat1: TMenuItem
CharacterFormat1: TMenuItem
ext1: TMenuItem
SelectAll1: TMenuItem
All1: TMenuItem
able1: TMenuItem
N7: TMenuItem
Search1: TMenuItem
Replace1: TMenuItem
View1: TMenuItem
Normal1: TMenuItem
PageLayout2: TMenuItem
Zoom1: TMenuItem // The Zoom Menu
PageWidth1: TMenuItem
FullPage1: TMenuItem
DoublePage1: TMenuItem
N10: TMenuItem
N4001: TMenuItem
N2001: TMenuItem
N1001: TMenuItem
N751: TMenuItem
N501: TMenuItem
N251: TMenuItem
N11: TMenuItem
humbNails1: TMenuItem
N9: TMenuItem
ManageHeaderFooter1: TMenuItem
N8: TMenuItem
ShowMailMergeFields : TMenuItem
ShowSpecialChars : TMenuItem
// used to enable additional GUI elements
ShowHorzRuler1: TMenuItem
ShowVertRuler1: TMenuItem
ShowThumbNails1: TMenuItem
ShowGutter1: TMenuItem
Insert1: TMenuItem
PageBreak1: TMenuItem
ColumnBreak1: TMenuItem // only for WPTools Premium!
SectionBreak1: TMenuItem
N12: TMenuItem
Graphic1: TMenuItem
InsTextBox : TMenuItem // only for WPTools Premium!
Symbol1: TMenuItem
PageNumbers1: TMenuItem
Page: TMenuItem
NextPage1: TMenuItem
PriorPage1: TMenuItem
NumPages1: TMenuItem
Fields1: TMenuItem
Date1: TMenuItem
ime1: TMenuItem
Named1: TMenuItem
N22: TMenuItem
Bookmark1: TMenuItem
Hyperlink1: TMenuItem
N19: TMenuItem
MailmergeField1: TMenuItem
Format1: TMenuItem
Font1: TMenuItem
Paragraph1: TMenuItem
Border1: TMenuItem
abstops1: TMenuItem
Numbers1: TMenuItem
N21: TMenuItem
ColumnsMenu1: TMenuItem // only for WPTools Premium!
ColumnsOff: TMenuItem
Col21: TMenuItem
Col31: TMenuItem
Col41: TMenuItem
GraphicOptions1: TMenuItem
ascharacter2: TMenuItem
reltoparautowrapleftorright1: TMenuItem
reltoparwrapleftandright2: TMenuItem
reltopagenowrappng2: TMenuItem
reltopagewrapleftandright2: TMenuItem
TMenuItem
N14: TMenuItem
Capitalisation1: TMenuItem
Lowercase: TMenuItem
Uppercase: TMenuItem
ExtrasMenu: TMenuItem
Spellcheck1: TMenuItem
SpellAsYouGo1: TMenuItem
hesaurus1: TMenuItem
ReportingMenu: TMenuItem
InsertField1: TMenuItem
PropertyDialog1: TMenuItem
CreateReport1: TMenuItem
able2: TMenuItem
NewTable1: TMenuItem
Insert2: TMenuItem
Rows1: TMenuItem
Columns2: TMenuItem
Delete2: TMenuItem
Row1: TMenuItem
Column1: TMenuItem
Select1: TMenuItem
able4: TMenuItem
Row2: TMenuItem
Column2: TMenuItem
N15: TMenuItem
SplitCell1: TMenuItem
SplitTable1: TMenuItem
N17: TMenuItem
SelectLanguage1 : TMenuItem // Visible=FALSE
Info1: TMenuItem
Info2: TMenuItem
// The popup menu for graphic objects
GraphicPopupMenu: TPopupMenu
ascharacter1: TMenuItem
reltoparautowrap1: TMenuItem
reltoparwrapleftandright1: TMenuItem
reltopagenowrappng1: TMenuItem
reltopagewrapleftandright1: TMenuItem
// three image lists ---
InsNumberIcons: TImageList
StdIcons: TImageList
DemoIcons: TImageList
// The actions ---
StdActions: TActionList
WPABBottom1: TWPABBottom
WPAInsertField1: TWPAInsertField
WPAEditHyperlink1: TWPAEditHyperlink
WPAInsertNextPage: TWPAInsertNumber
WPADelRow1: TWPADelRow
WPABInner1: TWPABInner
WPABOuter1: TWPABOuter
XA_View200: TAction
WPABAllOff1: TWPABAllOff
WPACreateTable1: TWPACreateTable
WPACombineCell1: TWPACombineCell
WPASplitCells1: TWPASplitCells
WPAInsRow1: TWPAInsRow
WPASelectColumn1: TWPASelectColumn
WPASelectRow1: TWPASelectRow
WPAZoomOut1: TWPAZoomOut
WPAZoomIn1: TWPAZoomIn
WPAFitHeight1: TWPAFitHeight
WPAFitWidth1: TWPAFitWidth
WPAPrint1: TWPAPrint
WPAPrinterSetup1: TWPAPrinterSetup
WPAPriorPage1: TWPAPriorPage
WPANextPage1: TWPANextPage
WPALeft1: TWPALeft
WPACenter1: TWPACenter
WPARight1: TWPARight
WPAJustified1: TWPAJustified
WPABullets1: TWPABullets
WPANumbers1: TWPANumbers
WPADecIndent1: TWPADecIndent
WPAIncIndent1: TWPAIncIndent
WPAOpen1: TWPAOpen
WPASave1: TWPASave
WPAExit1: TWPAExit
WPAClose1: TWPAClose
WPANew1: TWPANew
WPAUndo1: TWPAUndo
WPACopy1: TWPACopy
WPACut1: TWPACut
WPAPaste1: TWPAPaste
WPASearch1: TWPASearch
WPAReplace1: TWPAReplace
WPASellAll1: TWPASellAll
WPAHideSelection1: TWPAHideSelection
WPASpellcheck1: TWPASpellcheck
WPACancel1: TWPACancel
WPADelete1: TWPADelete
WPAAdd1: TWPAAdd
WPAEdit1: TWPAEdit
WPANext1: TWPANext
WPABack1: TWPABack
WPAOK1: TWPAOK
WPAToEnd1: TWPAToEnd
WPAToStart1: TWPAToStart
WPANorm1: TWPANorm
WPABold1: TWPABold
WPAItalic1: TWPAItalic
WPAProtected1: TWPAProtected
WPAHidden1: TWPAHidden
WPARTFCode1: TWPARTFCode
WPAUnderline1: TWPAUnderline
WPAStrikeout1: TWPAStrikeout
WPASubscript1: TWPASubscript
WPASuperscript1: TWPASuperscript
WPAInsCol1: TWPAInsCol
WPADelCol1: TWPADelCol
WPARedo1: TWPARedo
WPADeleteText1: TWPADeleteText
WPAInsertPagNo: TWPAInsertNumber
WPAIsOutlineMode1: TWPAIsOutlineMode
WPAInOutlineUp1: TWPAInOutlineUp
WPAInOutlineDown1: TWPAInOutlineDown
WPAInsertPriorPage: TWPAInsertNumber
WPAInsertPageCount: TWPAInsertNumber
WPAInsertDate: TWPAInsertNumber
WPASpellAsYouGo1: TWPASpellAsYouGo
WPAStartThesaurus1: TWPAStartThesaurus
XA_Close: TAction
XA_DocProp: TAction
XA_Load: TAction // File Menu!
XA_Save: TAction
XA_SaveAs: TAction
XA_CloseFile: TAction
XA_MailTo: TAction
XA_Print: TAction
XA_PrintDialog: TAction
XA_DiaPreview: TAction
XA_DiaPageSetup: TAction
XA_ExportFile: TAction
XA_New: TAction
XA_DelParFormat: TAction
XA_DelCharFormat: TAction
XA_SelectTable: TAction
XA_ViewNormal: TAction
WPABLeft1: TWPABLeft
WPABTop1: TWPABTop
XA_ViewPageLayout: TAction
XA_ViewPageWidth: TAction
XA_ViewFullPage: TAction
XA_ViewDoublePage: TAction
XA_View500: TAction
XA_View100: TAction
XA_View75: TAction
XA_View50: TAction
XA_View25: TAction
XA_ViewThumbnails: TAction
XA_ManageHeaderFooter: TAction
XA_ShowHorzRuler: TAction
XA_ShowVertRuler: TAction
XA_ShowThumbnails: TAction
XA_InsPageBreak: TAction
XA_InsColumnBreak: TAction
XA_InsSectionBreak: TAction
XA_InsGraphic: TAction
XA_InsSymbol: TAction
XA_FInsPage: TAction
XA_FInsNextPage: TAction
XA_FInsPriorPage: TAction
XA_FInsNumPages: TAction
XA_FInsDate: TAction
XA_FInsTime: TAction
XA_InsNamedField: TAction
XA_InsMailmergeField: TAction
XA_FrmFontDialog: TAction
XA_FrmIndentSpacing: TAction
XA_FrmBorder: TAction
XA_FrmTabStops: TAction
XA_FrmNumbers: TAction
XA_Col_Off: TAction
XA_Col_2: TAction
XA_Col_3: TAction
XA_Col_4: TAction
XA_FrmCap_Lowercase: TAction
XA_FrmCap_Uppercase: TAction
XA_FrmCap_Off: TAction
XA_SpellCheck: TAction
XA_SpellAsYouGo: TAction
XA_SpellThesaurus: TAction
XA_CreateTable: TAction
XA_SplitTable: TAction
XA_InsHyperlink: TAction
XA_InsBookmark: TAction
XA_Info: TAction
XA_ShowRepBand: TAction
XA_CreateReport: TAction
// The WPTools dialogs ---
WPSymbolDlg1: TWPSymbolDlg
WPTableDlg1: TWPTableDlg
WPParagraphPropDlg1: TWPParagraphPropDlg
WPParagraphBorderDlg1: TWPParagraphBorderDlg
WPBulletDlg1: TWPBulletDlg
WPTabDlg1: TWPTabDlg
WPStyleDlg1: TWPStyleDlg
WPOneStyleDlg1: TWPOneStyleDlg
WPStyleCollection1: TWPStyleCollection
WPPagePropDlg1: TWPPagePropDlg
// Preview Dialog ---
WPPreviewDlg1: TWPPreviewDlg
// Preview Dialog used for report output only ---
WPPreviewDlg2: TWPPreviewDlg
|
| Introduced Properties |
![]() | OnInfo | |
![]() | WPRichText1 |
| Introduced Methods |
![]() | LoadStrings | ||
![]() | SaveStrings |
| Introduced Events |
![]() | OnGetWPRichText |
procedure TWPToolsEditor.FormCreate(Sender: TObject);
begin
WPDefAct:= TWPDefAct.Create(Self);
{$IFDEF WPREPORTER}
FWPSuperMerge := TWPSuperMerge.Create(nil);
FWPSuperMerge.DataBases := 'DATA,LOOP10,LOOP100';
FWPSuperMerge.OnMailMergeGetText := WPSuperMergeMailMergeGetText;
FWPSuperMerge.BeforeProcessGroup := WPSuperMergeBeforeProcessGroup;
FWPReportDest := TWPRichText.CreateDynamic;
FWPReportDest.InsertPointAttr.Hidden := TRUE;
FWPSuperMerge.SetSourceDest(WPRichText1.Memo.RTFData, FWPReportDest.Memo.RTFData);
{$ENDIF}
Menu := WPDefAct.MainMenu;
WPRichText1.GraphicPopupMenu := WPDefAct.GraphicPopupMenu;
end;
procedure TWPToolsEditor.FormDestroy(Sender: TObject);
begin
{$IFDEF WPREPORTER}
FWPSuperMerge.Free;
FWPReportDest.Free;
{$ENDIF}
WPDefAct.Free;
end;
procedure TWPToolsEditor.FormShow(Sender: TObject);
begin
WPDefAct.OnGetWPRichText := GetToolsEditor;
WPRichText1.ActionList := WPDefAct.StdActions;
WPRichText1.SetFocus;
{$IFDEF WPREPORTER}
WPDefAct.SuperMerge := FWPSuperMerge;
WPDefAct.ReportDest := FWPReportDest;
{$ENDIF}
end;
procedure TWPToolsEditor.GetToolsEditor(Sender: TObject; var wp: TWPCustomRichText);
begin
wp := WPRichText1;
end;
// This functions are used when this editor is used as property editor
procedure TWPToolsEditor.GetFromRTFText( Source : TWPRTFBlobContents);
begin
WPRichText1.RTFText.Assign(Source);
WPRichText1.RTFText.Apply;
if Source.OwnerEngine<>nil then
WPRichText1.Header.Assign(Source.OwnerEngine.RTFData.Header);
WPRichText1.CPPosition := 0;
WPRichText1.DelayedReformat;
end;
procedure TWPToolsEditor.SetToRTFText( Dest : TWPRTFBlobContents);
begin
WPRichText1.RTFText.Update;
Dest.Assign(WPRichText1.RTFText);
Dest.Apply;
if Dest.OwnerEngine<>nil then
Dest.OwnerEngine.RTFData.Header.Assign(WPRichText1.Header);
end;
procedure TWPToolsEditor.BorderButtonSwitchClick(Sender: TObject);
begin
BorderParent.Top := WPToolPanel1.Height;
BorderParent.Left := Width - BorderParent.Width - 20;
BorderParent.Visible := BorderButtonSwitch.Down;
end;
procedure TWPToolsEditor.FormResize(Sender: TObject);
begin
if BorderParent.Visible then
begin
BorderParent.Top := WPToolPanel1.Height;
BorderParent.Left := Width - BorderParent.Width - 20;
end;
end;
procedure TWPToolsEditor.WPRichText1OpenDialog(Sender: TObject;
DiaType: TWPCustomRtfEditDialog; var ResultValue: Boolean);
begin
// Utility procedure to show style dialogs from unit WP1Style
WPStyleOpenDialog(Self, Sender, DiaType, ResultValue);
end;
{$IFDEF WPREPORTER}
// two event handlers to demonstrate WPReporter
procedure TWPToolsEditor.WPSuperMergeMailMergeGetText(Sender: TObject;
const inspname: string; Contents: TWPMMInsertTextContents);
begin
// Contents.StringValue := DataBase.FieldByName(inspname)
Contents.StringValue := inspname + IntToStr(Random(100000));
end;
procedure TWPToolsEditor.WPSuperMergeBeforeProcessGroup(
Sender: TWPSuperMerge; Band: TWPBand; Count: Integer;
var CustomData: TObject; var ProcessGroup, IsLastRun: Boolean);
begin
if Band.Alias = 'LOOP10' then
begin
IsLastRun := Count = 9;
ProcessGroup := Count <= 9;
end else
if Band.Alias = 'LOOP100' then
begin
IsLastRun := Count = 99;
ProcessGroup := Count <= 99;
end;
end;
{$ENDIF} |
|
Copyright (C) by WP |