git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.DevExpressVCL@55 05c56307-c608-d34a-929d-697000501d7a
1938 lines
70 KiB
ObjectPascal
1938 lines
70 KiB
ObjectPascal
{*******************************************************************}
|
|
{ }
|
|
{ Developer Express Visual Component Library }
|
|
{ ExpressPrinting System COMPONENT SUITE }
|
|
{ }
|
|
{ Copyright (C) 1998-2009 Developer Express Inc. }
|
|
{ ALL RIGHTS RESERVED }
|
|
{ }
|
|
{ The entire contents of this file is protected by U.S. and }
|
|
{ International Copyright Laws. Unauthorized reproduction, }
|
|
{ reverse-engineering, and distribution of all or any portion of }
|
|
{ the code contained in this file is strictly prohibited and may }
|
|
{ result in severe civil and criminal penalties and will be }
|
|
{ prosecuted to the maximum extent possible under the law. }
|
|
{ }
|
|
{ RESTRICTIONS }
|
|
{ }
|
|
{ THIS SOURCE CODE AND ALL RESULTING INTERMEDIATE FILES }
|
|
{ (DCU, OBJ, DLL, ETC.) ARE CONFIDENTIAL AND PROPRIETARY TRADE }
|
|
{ SECRETS OF DEVELOPER EXPRESS INC. THE REGISTERED DEVELOPER IS }
|
|
{ LICENSED TO DISTRIBUTE THE EXPRESSPRINTINGSYSTEM AND }
|
|
{ ALL ACCOMPANYING VCL CONTROLS AS PART OF AN }
|
|
{ EXECUTABLE PROGRAM ONLY. }
|
|
{ }
|
|
{ THE SOURCE CODE CONTAINED WITHIN THIS FILE AND ALL RELATED }
|
|
{ FILES OR ANY PORTION OF ITS CONTENTS SHALL AT NO TIME BE }
|
|
{ COPIED, TRANSFERRED, SOLD, DISTRIBUTED, OR OTHERWISE MADE }
|
|
{ AVAILABLE TO OTHER INDIVIDUALS WITHOUT EXPRESS WRITTEN CONSENT }
|
|
{ AND PERMISSION FROM DEVELOPER EXPRESS INC. }
|
|
{ }
|
|
{ CONSULT THE END USER LICENSE AGREEMENT FOR INFORMATION ON }
|
|
{ ADDITIONAL RESTRICTIONS. }
|
|
{ }
|
|
{*******************************************************************}
|
|
|
|
unit dxPSPrVwRibbon;
|
|
|
|
interface
|
|
|
|
{$I cxVer.inc}
|
|
|
|
uses
|
|
Windows, SysUtils, Classes, Messages, Graphics, Controls, ComCtrls, StdCtrls,
|
|
ExtCtrls, Forms, Menus, ImgList, dxPSCore, dxPSESys, dxPrevw, dxPSPrvw, dxBar,
|
|
dxBarPopupMenuEd, dxBarExtItems, cxClasses, dxRibbonForm, cxGeometry, dxRibbon,
|
|
cxControls, cxLookAndFeels, cxGraphics, dxRibbonGallery, dxBkGnd, Dialogs,
|
|
cxLookAndFeelPainters, IniFiles;
|
|
|
|
type
|
|
|
|
{ TdxfmRibbonPreview }
|
|
|
|
TdxRibbonPrintPreviewForm = class(TdxRibbonForm)
|
|
bbAutoText: TdxBarSubItem;
|
|
bbCloseHeaderAndFooter: TdxBarLargeButton;
|
|
bbDefinePrintStyles: TdxBarButton;
|
|
bbEdit: TdxBarSubItem;
|
|
bbEditFind: TdxBarButton;
|
|
bbEditFindNext: TdxBarButton;
|
|
bbEditReplace: TdxBarButton;
|
|
bbExplorerCreateNewFolder: TdxBarButton;
|
|
bbExplorerDelete: TdxBarButton;
|
|
bbExplorerRename: TdxBarButton;
|
|
bbExportToPDF: TdxBarButton;
|
|
bbFileClose: TdxBarButton;
|
|
bbFileExit: TdxBarButton;
|
|
bbFileLoad: TdxBarButton;
|
|
bbFilePageSetup: TdxBarButton;
|
|
bbFilePrint: TdxBarButton;
|
|
bbFilePrintDialog: TdxBarButton;
|
|
bbFileSave: TdxBarButton;
|
|
bbFormatDateTime: TdxBarButton;
|
|
bbFormatHFBackground: TdxBarButton;
|
|
bbFormatHFClear: TdxBarButton;
|
|
bbFormatPageNumbering: TdxBarButton;
|
|
bbFormatShowHideEmptyPages: TdxBarButton;
|
|
bbFormatTitle: TdxBarButton;
|
|
bbGoToFirstPage: TdxBarButton;
|
|
bbGoToLastPage: TdxBarButton;
|
|
bbGoToNextPage: TdxBarButton;
|
|
bbGoToPrevPage: TdxBarButton;
|
|
bbInsertEditAutoText: TdxBarButton;
|
|
bbInsertHFDate: TdxBarButton;
|
|
bbInsertHFDateTime: TdxBarButton;
|
|
bbInsertHFMachineName: TdxBarButton;
|
|
bbInsertHFPageNumber: TdxBarButton;
|
|
bbInsertHFPageOfPages: TdxBarButton;
|
|
bbInsertHFTime: TdxBarButton;
|
|
bbInsertHFTotalPages: TdxBarButton;
|
|
bbInsertHFUserName: TdxBarButton;
|
|
bbThumbnailsLarge: TdxBarButton;
|
|
bbThumbnailsSmall: TdxBarButton;
|
|
bbViewExplorer: TdxBarButton;
|
|
bbViewHFClose: TdxBarButton;
|
|
bbViewMarginBar: TdxBarButton;
|
|
bbViewMargins: TdxBarButton;
|
|
bbViewPageFooters: TdxBarButton;
|
|
bbViewPageHeaders: TdxBarButton;
|
|
bbViewStatusBar: TdxBarButton;
|
|
bbViewSwitchToCenterPart: TdxBarButton;
|
|
bbViewSwitchToLeftPart: TdxBarButton;
|
|
bbViewSwitchToRightPart: TdxBarButton;
|
|
bbViewThumbnails: TdxBarButton;
|
|
bbZoom: TdxBarSubItem;
|
|
bbZoomFourPages: TdxBarButton;
|
|
bbZoomMultiplePages: TdxBarButton;
|
|
bbZoomPageWidth: TdxBarButton;
|
|
bbZoomPercent100: TdxBarButton;
|
|
bbZoomSetup: TdxBarButton;
|
|
bbZoomTwoPages: TdxBarButton;
|
|
bbZoomWholePage: TdxBarButton;
|
|
bbZoomWidenToSourceWidth: TdxBarButton;
|
|
bliInsertAutoTextEntries: TdxBarListItem;
|
|
bliPrintStyles: TdxBarListItem;
|
|
bsiInsertAutoText: TdxBarSubItem;
|
|
cbxPredefinedZoom: TdxBarImageCombo;
|
|
dxBarExplorer: TdxBar;
|
|
dxBarFormat: TdxBar;
|
|
dxBarHeaderAndFooterParts: TdxBar;
|
|
dxBarHeaderAndFooterClose: TdxBar;
|
|
dxBarInsertAutoText: TdxBar;
|
|
dxBarInsertDateTime: TdxBar;
|
|
dxBarInsertName: TdxBar;
|
|
dxBarInsertPageNumber: TdxBar;
|
|
dxBarManager: TdxBarManager;
|
|
dxBarMorePages: TdxBarButton;
|
|
dxBarNavigation: TdxBar;
|
|
dxBarQuickAccess: TdxBar;
|
|
dxBarReport: TdxBar;
|
|
dxBarZoom: TdxBar;
|
|
dxRibbon: TdxRibbon;
|
|
rtHeader: TdxRibbonTab;
|
|
rtMain: TdxRibbonTab;
|
|
seActivePage: TdxBarSpinEdit;
|
|
TimerHint: TTimer;
|
|
Preview: TdxPSPreviewWindow;
|
|
ApplicationMenu: TdxBarApplicationMenu;
|
|
bbNavigation: TdxBarSubItem;
|
|
rtExplorer: TdxRibbonTab;
|
|
bbReportProperties: TdxBarLargeButton;
|
|
dxBarView: TdxBar;
|
|
bbExplorer: TdxBarLargeButton;
|
|
bbThumbnails: TdxBarLargeButton;
|
|
bbClosePreview: TdxBarLargeButton;
|
|
bbHeaderAndFooter: TdxBarLargeButton;
|
|
ilSmallImages: TcxImageList;
|
|
ilLargeImages: TcxImageList;
|
|
dxBarExplorerReport: TdxBar;
|
|
bbBarExplorerClose: TdxBarLargeButton;
|
|
bbFormatFootnotes: TdxBarButton;
|
|
pmPrintStyles: TdxRibbonPopupMenu;
|
|
pmExplorer: TdxRibbonPopupMenu;
|
|
pmThumbnails: TdxRibbonPopupMenu;
|
|
dxBarPagesPopup: TdxRibbonPopupMenu;
|
|
pmPreview: TdxRibbonPopupMenu;
|
|
bbFileDesign: TdxBarLargeButton;
|
|
bbFileRebuild: TdxBarLargeButton;
|
|
rtFooter: TdxRibbonTab;
|
|
dxBarPageSetup: TdxBar;
|
|
bbPageSetup: TdxBarLargeButton;
|
|
rgiBackgroundColor: TdxRibbonGalleryItem;
|
|
bbFormatSubItem: TdxBarSubItem;
|
|
bbBackgroundNoFill: TdxBarButton;
|
|
bbBackgroundMoreColors: TdxBarButton;
|
|
bbBackgroundFillEffects: TdxBarButton;
|
|
bbFormatShrinkToPageWidth: TdxBarLargeButton;
|
|
dxBarOutput: TdxBar;
|
|
bbLargePrint: TdxBarLargeButton;
|
|
bbLargePrintDialog: TdxBarLargeButton;
|
|
bbLargeExportToPDF: TdxBarLargeButton;
|
|
bbLargePageSetup: TdxBarLargeButton;
|
|
procedure bbExplorerPropertiesClick(Sender: TObject);
|
|
procedure bbExportToPDFClick(Sender: TObject);
|
|
procedure bbFileCloseClick(Sender: TObject);
|
|
procedure bbFileRebuildClick(Sender: TObject);
|
|
procedure bbFormatDateTimeClick(Sender: TObject);
|
|
procedure bbFormatHeaderAndFooterClick(Sender: TObject);
|
|
procedure bbFormatHFBackgroundClick(Sender: TObject);
|
|
procedure bbFormatHFClearClick(Sender: TObject);
|
|
procedure bbFormatPageNumbersClick(Sender: TObject);
|
|
procedure bbFormatShowHideEmptyPagesClick(Sender: TObject);
|
|
procedure bbFormatShrinkToPageWidthClick(Sender: TObject);
|
|
procedure bbFormatTitleClick(Sender: TObject);
|
|
procedure bbThumbnailsSizeClick(Sender: TObject);
|
|
procedure bbToolsCustomizeClick(Sender: TObject);
|
|
procedure bbViewExplorerClick(Sender: TObject);
|
|
procedure bbViewHFCloseClick(Sender: TObject);
|
|
procedure bbViewMarginBarClick(Sender: TObject);
|
|
procedure bbViewMarginsClick(Sender: TObject);
|
|
procedure bbViewPageFootersClick(Sender: TObject);
|
|
procedure bbViewPageHeadersClick(Sender: TObject);
|
|
procedure bbViewStatusBarClick(Sender: TObject);
|
|
procedure bbViewThumbnailsClick(Sender: TObject);
|
|
procedure bbZoomMultiplePagesClick(Sender: TObject);
|
|
procedure bbZoomSetupClick(Sender: TObject);
|
|
procedure cbxPredefinedZoomChange(Sender: TObject);
|
|
procedure cbxPredefinedZoomClick(Sender: TObject);
|
|
procedure CloseClick(Sender: TObject);
|
|
procedure DesignClick(Sender: TObject);
|
|
procedure dxRibbonHelpButtonClick(Sender: TdxCustomRibbon);
|
|
procedure ExplorerCreateNewFolderClick(Sender: TObject);
|
|
procedure ExplorerDeleteItemClick(Sender: TObject);
|
|
procedure ExplorerLoadDataClick(Sender: TObject);
|
|
procedure ExplorerRenameItemClick(Sender: TObject);
|
|
procedure FileSaveClick(Sender: TObject);
|
|
procedure GoToPageClick(Sender: TObject);
|
|
procedure HelpClick(Sender: TObject);
|
|
procedure InsertHFClick(Sender: TObject);
|
|
procedure PageBackgroundClick(Sender: TObject);
|
|
procedure PageSetupClick(Sender: TObject);
|
|
procedure pmExplorerPopup(Sender: TObject);
|
|
procedure PrintClick(Sender: TObject);
|
|
procedure seActivePageButtonClick(Sender: TdxBarSpinEdit; Button: TdxBarSpinEditButton);
|
|
procedure seActivePageChange(Sender: TObject);
|
|
procedure SwitchPartClick(Sender: TObject);
|
|
procedure TimerHintTimer(Sender: TObject);
|
|
procedure ZoomClick(Sender: TObject);
|
|
procedure PreviewInitContent(Sender: TObject);
|
|
procedure PreviewCanShowMarginHint(Sender: TObject; var AAllow: Boolean);
|
|
procedure PreviewAddExplorerCommand(Sender: TObject; ACommand: TCustomdxPSExplorerContextCommand);
|
|
procedure PreviewAfterPrintReport(Sender: TObject; AShowDialog: Boolean);
|
|
procedure PreviewPreviewDblClick(Sender: TObject);
|
|
procedure PreviewZoomFactorChanged(Sender: TObject);
|
|
procedure PreviewZoomModeChanged(Sender: TObject);
|
|
procedure PreviewHFToolBarVisibleChanged(Sender: TObject; AShow: Boolean);
|
|
procedure PreviewStyleListChanged(Sender: TObject);
|
|
procedure PreviewHFTextEntriesChanged(Sender: TObject);
|
|
procedure PreviewUpdateExplorerCommands(Sender: TObject);
|
|
procedure PreviewCreationComplete(Sender: TObject);
|
|
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
procedure PreviewUpdateControls(Sender: TObject);
|
|
procedure bbClosePreviewClick(Sender: TObject);
|
|
procedure bbExplorerClick(Sender: TObject);
|
|
procedure bbThumbnailsClick(Sender: TObject);
|
|
procedure bbHeaderAndFooterClick(Sender: TObject);
|
|
procedure bbCloseHeaderAndFooterClick(Sender: TObject);
|
|
procedure bbBarExplorerCloseClick(Sender: TObject);
|
|
procedure bbFormatFootnotesClick(Sender: TObject);
|
|
procedure dxRibbonTabChanged(Sender: TdxCustomRibbon);
|
|
procedure bbPageSetupClick(Sender: TObject);
|
|
procedure bbBackgroundNoFillClick(Sender: TObject);
|
|
procedure bbBackgroundMoreColorsClick(Sender: TObject);
|
|
procedure bbBackgroundFillEffectsClick(Sender: TObject);
|
|
procedure PreviewLoadProperties(Sender: TObject; AIniFile: TCustomIniFile; const ASectionName: string);
|
|
procedure PreviewSaveProperties(Sender: TObject; AIniFile: TCustomIniFile; const ASectionName: string);
|
|
private
|
|
FExplorerContextCommands: TList;
|
|
FHeaderAndFooterContextVisible: Boolean;
|
|
function GetExplorerContextCommand(Index: Integer): TCustomdxPSExplorerContextCommand;
|
|
function GetExplorerContextCommandCount: Integer;
|
|
function GetExplorerTree: TCustomdxPSExplorerTreeContainer;
|
|
function GetIsExplorerAvailable: Boolean;
|
|
function GetIsPrinting: Boolean;
|
|
function GetLocked: Boolean;
|
|
function GetReportLink: TBasedxReportLink;
|
|
function GetZoomFactor: Integer;
|
|
|
|
function CalcWindowPos(Sender: TObject): TPoint;
|
|
procedure ClearColorItemsSelection;
|
|
procedure DoGalleryColorItemClick(Sender: TObject);
|
|
procedure DoPageSetupReport(APageIndex: Integer);
|
|
procedure DoSelectBackgroundColor(AColor: TColor);
|
|
procedure DoShowExplorerPopup(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
|
procedure EnableItemsWhileBuilding(Value: Boolean);
|
|
procedure InitializeBackgroundColorsGallery;
|
|
procedure PostCreateFolderMessage;
|
|
procedure SetBarItemVisibility(Item: TdxBarItem; Value: Boolean);
|
|
|
|
procedure EnabledHFItems(Value: Boolean);
|
|
procedure UpdateHFState(Value: Boolean);
|
|
protected
|
|
procedure Activate; override;
|
|
procedure WndProc(var Message: TMessage); override;
|
|
|
|
procedure AddExplorerContextCommand(ACommand: TCustomdxPSExplorerContextCommand); virtual;
|
|
procedure DoAfterPrintReport(AShowDialog: Boolean); virtual;
|
|
procedure DoShowHFToolBar(Value: Boolean); virtual;
|
|
procedure ExplorerContextCommandClick(Sender: TObject); virtual;
|
|
procedure InitializeRibbonLookAndFeel;
|
|
procedure LoadStrings; virtual;
|
|
procedure UpdateExplorerContextCommands; virtual;
|
|
procedure UpdateRibbonHelpButton; virtual;
|
|
|
|
procedure LoadBarManagerDefaults;
|
|
procedure SaveBarManagerDefaults;
|
|
procedure LoadBarManager(AIniFile: TCustomIniFile; const ASectionName: string);
|
|
procedure SaveBarManager(AIniFile: TCustomIniFile; const ASectionName: string);
|
|
|
|
property ExplorerContextCommandCount: Integer read GetExplorerContextCommandCount;
|
|
property ExplorerContextCommands[Index: Integer]: TCustomdxPSExplorerContextCommand read GetExplorerContextCommand;
|
|
property ExplorerTree: TCustomdxPSExplorerTreeContainer read GetExplorerTree;
|
|
property HeaderAndFooterContextVisible: Boolean read FHeaderAndFooterContextVisible;
|
|
property IsExplorerAvailable: Boolean read GetIsExplorerAvailable;
|
|
property IsPrinting: Boolean read GetIsPrinting;
|
|
property Locked: Boolean read GetLocked;
|
|
property ReportLink: TBasedxReportLink read GetReportLink;
|
|
property ZoomFactor: Integer read GetZoomFactor;
|
|
public
|
|
constructor Create(AOwner: TComponent); override;
|
|
destructor Destroy; override;
|
|
procedure AfterConstruction; override;
|
|
procedure InitContent;
|
|
procedure UpdateContexts;
|
|
procedure UpdateControls;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
{$R dxPSPrVwRibbon.res}
|
|
|
|
uses
|
|
Types, Registry, CommCtrl, Math, dxPSRes, dxPrnPg, dxPSGlbl, dxPSPopupMan, dxPSImgs,
|
|
dxPSUtl, dxPSPgsMnuBld, dxPSEngn, dxPgsDlg, dxPSEvnt, dxPSAutoHFTextMnuBld,
|
|
dxPSfmAutoHFTextFmt, dxPrnDev, dxPSPDFExport, dxfmClr, dxPSForm;
|
|
|
|
const
|
|
WM_CREATEFOLDER = WM_DX + 50;
|
|
PageSelectorImageIndex = 35;
|
|
|
|
IDB_DXPSPREVIEW_RIBBON_IMAGELIST = 'IDB_DXPSPREVIEW_RIBBON_IMAGELIST';
|
|
sdxToolBars = 'ToolBars'; // Don't Localize
|
|
|
|
type
|
|
TWinControlAccess = class(TWinControl);
|
|
TdxBarManagerAccess = class(TdxBarManager);
|
|
|
|
{ TdxRibbonPSPopupMenuBuilder }
|
|
|
|
TdxRibbonPSPopupMenuBuilder = class(TAbstractdxPSPopupMenuBuilder)
|
|
private
|
|
FBarHostForm: TCustomForm;
|
|
FBarManager: TdxBarManager;
|
|
protected
|
|
function BuildPopup(const AControl: TControl;
|
|
const APopupMenu: TPopupMenu): TComponent; override;
|
|
class function CanShowPopup(const APopupMenu: TPopupMenu): Boolean; override;
|
|
procedure FreePopup(var APopupMenu: TComponent); override;
|
|
procedure InvokePopup(X, Y: Integer; AControl: TControl; APopupMenu: TComponent); override;
|
|
class function RequireProcessDoPopup: Boolean; override;
|
|
public
|
|
constructor Create; override;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
{ TdxRibbonPSPageSetupMenuBuilder }
|
|
|
|
TdxRibbonPSPageSetupMenuBuilder = class(TdxStandardPSPageSetupMenuBuilder)
|
|
public
|
|
procedure BuildPageSetupMenu(ARootItem: TObject; AData: Pointer;
|
|
AIncludeDefineItem: Boolean; AStyles: TStringList; ACurrentStyle: TBasedxPrintStyle;
|
|
AOnStyleClick, AOnDefineStylesClick: TNotifyEvent); override;
|
|
class function ExtractPrintStyleFromObj(Obj: TObject): TBasedxPrintStyle; override;
|
|
end;
|
|
|
|
{ TdxRibbonPSAutoHFTextMenuBuilder }
|
|
|
|
TdxRibbonPSAutoHFTextMenuBuilder = class(TAbstractdxPSAutoHFTextMenuBuilder)
|
|
public
|
|
procedure BuildAutoHFTextEntriesMenu(ARootItem: TObject; AData: Pointer;
|
|
AIncludeSetupAutoHFTextEntriesItem: Boolean; AAutoHFTextEntries: TStrings;
|
|
AOnHFTextEntriesClick, AOnSetupHFTextEntriesClick: TNotifyEvent); override;
|
|
class function ExtractAutoHFTextEntryIndexFromObj(Obj: TObject): Integer; override;
|
|
end;
|
|
|
|
{ TdxPSRibbonPreviewDialogStyleInfo }
|
|
|
|
TdxPSRibbonPreviewDialogStyleInfo = class(TdxPSPreviewDialogStyleInfo)
|
|
public
|
|
class function CreatePreviewWindow: TdxPSCustomPreviewWindow; override;
|
|
class function GetName: string; override;
|
|
class function GetUnitName: string; override;
|
|
end;
|
|
|
|
function VisibleToBarItemVisible(AValue: Boolean): TdxBarItemVisible;
|
|
{ivNever, ivInCustomizing, ivAlways}
|
|
begin
|
|
Result := TdxBarItemVisible(2 * Byte(AValue));
|
|
end;
|
|
|
|
function dxBar_DoesNotHaveActivePopup: Boolean;
|
|
begin
|
|
Result := dxBar.ActiveBarControl = nil;
|
|
end;
|
|
|
|
procedure SetupBarManagerStyle(ABarManager: TdxBarManager);
|
|
const
|
|
BarManagerStyleMap: array[TcxLookAndFeelKind] of dxBar.TdxBarManagerStyle =
|
|
(dxBar.bmsFlat, dxBar.bmsEnhanced, dxBar.bmsFlat, dxBar.bmsFlat);
|
|
begin
|
|
ABarManager.Style := bmsUseLookAndFeel;
|
|
ABarManager.LookAndFeel := dxPSEngine.DialogsLookAndFeel;
|
|
end;
|
|
|
|
{ TdxRibbonPSPopupMenuBuilder }
|
|
|
|
constructor TdxRibbonPSPopupMenuBuilder.Create;
|
|
begin
|
|
inherited;
|
|
FBarHostForm := TCustomForm.CreateNew(nil);
|
|
FBarManager := TdxBarManager.Create(FBarHostForm);
|
|
SetupBarManagerStyle(FBarManager);
|
|
end;
|
|
|
|
destructor TdxRibbonPSPopupMenuBuilder.Destroy;
|
|
begin
|
|
FreeAndNil(FBarHostForm);
|
|
inherited Destroy;
|
|
end;
|
|
|
|
class function TdxRibbonPSPopupMenuBuilder.CanShowPopup(const APopupMenu: TPopupMenu): Boolean;
|
|
begin
|
|
Result := inherited CanShowPopup(APopupMenu) and dxBar_DoesNotHaveActivePopup;
|
|
end;
|
|
|
|
function TdxRibbonPSPopupMenuBuilder.BuildPopup(const AControl: TControl;
|
|
const APopupMenu: TPopupMenu): TComponent;
|
|
|
|
function IsSeparator(ABarItem: TdxBarItem): Boolean;
|
|
begin
|
|
Result := ABarItem.Caption = '-';
|
|
end;
|
|
|
|
function CreateItem(AMenuItem: TMenuItem): TdxBarItem;
|
|
const
|
|
BarItemClasses: array[Boolean] of TdxBarItemClass = (TdxBarButton, TdxBarSubItem);
|
|
var
|
|
BarItemClass: TdxBarItemClass;
|
|
begin
|
|
Result := nil;
|
|
BarItemClass := BarItemClasses[AMenuItem.Count > 0];
|
|
if BarItemClass = nil then Exit;
|
|
|
|
Result := BarItemClass.Create(FBarHostForm);
|
|
|
|
Result.Action := AMenuItem.Action;
|
|
Result.ImageIndex := AMenuItem.ImageIndex;
|
|
Result.Glyph := AMenuItem.Bitmap;
|
|
Result.Caption := AMenuItem.Caption;
|
|
Result.Enabled := AMenuItem.Enabled;
|
|
Result.HelpContext := AMenuItem.HelpContext;
|
|
Result.Hint := AMenuItem.Hint;
|
|
Result.ShortCut := AMenuItem.ShortCut;
|
|
Result.Tag := AMenuItem.Tag;
|
|
Result.Visible := VisibleToBarItemVisible(AMenuItem.Visible);
|
|
if not (Result is TdxBarSubItem) then
|
|
Result.OnClick := AMenuItem.OnClick;
|
|
if Result is TdxBarButton then
|
|
begin
|
|
if AMenuItem.Checked or AMenuItem.RadioItem then
|
|
TdxBarButton(Result).ButtonStyle := bsChecked;
|
|
if AMenuItem.RadioItem then
|
|
TdxBarButton(Result).GroupIndex := AMenuItem.GroupIndex;
|
|
TdxBarButton(Result).Down := AMenuItem.Checked;
|
|
end;
|
|
end;
|
|
|
|
procedure FixBeginGroup(AItemLinks: TdxBarItemLinks);
|
|
var
|
|
I: Integer;
|
|
ItemLink: TdxBarItemLink;
|
|
begin
|
|
for I := AItemLinks.Count - 1 downto 0 do
|
|
begin
|
|
ItemLink := AItemLinks.Items[I];
|
|
if IsSeparator(ItemLink.Item) then
|
|
begin
|
|
ItemLink.Free;
|
|
if I < AItemLinks.Count then
|
|
AItemLinks.Items[I].BeginGroup := True;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure ProcessSubMenu(AItemLinks: TdxBarItemLinks; AMenuItem: TMenuItem);
|
|
var
|
|
I: Integer;
|
|
MI: TMenuItem;
|
|
Item: TdxBarItem;
|
|
begin
|
|
for I := 0 to AMenuItem.Count - 1 do
|
|
begin
|
|
MI := AMenuItem.Items[I];
|
|
Item := CreateItem(MI);
|
|
if Item <> nil then
|
|
begin
|
|
AItemLinks.Add.Item := Item;
|
|
if Item is TdxBarSubItem then
|
|
ProcessSubMenu(TdxBarSubItem(Item).ItemLinks, MI);
|
|
end;
|
|
end;
|
|
FixBeginGroup(AItemLinks);
|
|
end;
|
|
|
|
begin
|
|
Result := nil;
|
|
if (APopupMenu <> nil) and (APopupMenu.Items.Count > 0) then
|
|
begin
|
|
Result := TdxBarPopupMenu.Create(FBarHostForm);
|
|
try
|
|
FBarManager.Images := APopupMenu.Images;
|
|
ProcessSubMenu(TdxBarPopupMenu(Result).ItemLinks, APopupMenu.Items);
|
|
except
|
|
FBarManager.Images := nil;
|
|
Result.Free;
|
|
raise;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPSPopupMenuBuilder.FreePopup(var APopupMenu: TComponent);
|
|
var
|
|
I: Integer;
|
|
begin
|
|
for I := 0 to FBarManager.ItemCount - 1 do
|
|
FBarManager.Items[I].Free;
|
|
FreeAndNil(APopupMenu);
|
|
end;
|
|
|
|
procedure TdxRibbonPSPopupMenuBuilder.InvokePopup(
|
|
X, Y: Integer; AControl: TControl; APopupMenu: TComponent);
|
|
var
|
|
R: TRect;
|
|
begin
|
|
if APopupMenu is TdxBarPopupMenu then
|
|
begin
|
|
if AControl = nil then
|
|
TdxBarPopupMenu(APopupMenu).Popup(X, Y)
|
|
else
|
|
begin
|
|
R := cxRectOffset(AControl.ClientRect, AControl.ClientToScreen(cxNullPoint));
|
|
TdxBarPopupMenu(APopupMenu).PopupEx(X, Y, AControl.Width, AControl.Height, True, @R);
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
class function TdxRibbonPSPopupMenuBuilder.RequireProcessDoPopup: Boolean;
|
|
begin
|
|
Result := True;
|
|
end;
|
|
|
|
{ TdxRibbonPSPageSetupMenuBuilder }
|
|
|
|
class function TdxRibbonPSPageSetupMenuBuilder.ExtractPrintStyleFromObj(Obj: TObject): TBasedxPrintStyle;
|
|
begin
|
|
if Obj is TdxBarListItem then
|
|
begin
|
|
with TdxBarListItem(Obj) do
|
|
Result := TBasedxPrintStyle(Items.Objects[ItemIndex]);
|
|
end
|
|
else
|
|
Result := inherited ExtractPrintStyleFromObj(Obj);
|
|
end;
|
|
|
|
procedure TdxRibbonPSPageSetupMenuBuilder.BuildPageSetupMenu(ARootItem: TObject;
|
|
AData: Pointer; AIncludeDefineItem: Boolean;
|
|
AStyles: TStringList; ACurrentStyle: TBasedxPrintStyle;
|
|
AOnStyleClick, AOnDefineStylesClick: TNotifyEvent);
|
|
begin
|
|
if not (ARootItem is TdxBarListItem) then
|
|
begin
|
|
inherited BuildPageSetupMenu(ARootItem, AData, AIncludeDefineItem,
|
|
AStyles, ACurrentStyle, AOnStyleClick, AOnDefineStylesClick);
|
|
Exit;
|
|
end;
|
|
|
|
with TdxBarListItem(ARootItem) do
|
|
begin
|
|
Items.Clear;
|
|
Items := AStyles;
|
|
if Items.Count > 0 then ItemIndex := ACurrentStyle.Index;
|
|
OnClick := AOnStyleClick;
|
|
end;
|
|
|
|
if AIncludeDefineItem and (TObject(AData) is TdxBarButton) then
|
|
with TdxBarButton(AData) do
|
|
begin
|
|
Caption := cxGetResourceString(@sdxDefinePrintStylesMenuItem);
|
|
OnClick := AOnDefineStylesClick;
|
|
end;
|
|
end;
|
|
|
|
{ TdxRibbonPSAutoHFTextMenuBuilder }
|
|
|
|
procedure TdxRibbonPSAutoHFTextMenuBuilder.BuildAutoHFTextEntriesMenu(ARootItem: TObject;
|
|
AData: Pointer; AIncludeSetupAutoHFTextEntriesItem: Boolean;
|
|
AAutoHFTextEntries: TStrings; AOnHFTextEntriesClick, AOnSetupHFTextEntriesClick: TNotifyEvent);
|
|
begin
|
|
if not (ARootItem is TdxBarListItem) then Exit;
|
|
|
|
with TdxBarListItem(ARootItem) do
|
|
begin
|
|
Items.Clear;
|
|
Items := AAutoHFTextEntries;
|
|
OnClick := AOnHFTextEntriesClick;
|
|
end;
|
|
|
|
if AIncludeSetupAutoHFTextEntriesItem and (TObject(AData) is TdxBarButton) then
|
|
with TdxBarButton(AData) do
|
|
begin
|
|
Caption := cxGetResourceString(@sdxMenuInsertEditAutoTextEntries);
|
|
OnClick := AOnSetupHFTextEntriesClick;
|
|
end;
|
|
end;
|
|
|
|
class function TdxRibbonPSAutoHFTextMenuBuilder.ExtractAutoHFTextEntryIndexFromObj(Obj: TObject): Integer;
|
|
begin
|
|
Result := TdxBarListItem(Obj).ItemIndex;
|
|
end;
|
|
|
|
{ utility routines }
|
|
|
|
function AddPercentageChar(const S: string): string;
|
|
begin
|
|
Result := S;
|
|
if Result[Length(Result)] <> PercentSymbol then
|
|
Result := Result + PercentSymbol;
|
|
end;
|
|
|
|
{ TdxRibbonPrintPreviewForm }
|
|
|
|
constructor TdxRibbonPrintPreviewForm.Create(AOwner: TComponent);
|
|
begin
|
|
inherited Create(AOwner);
|
|
FExplorerContextCommands := TList.Create;
|
|
SetupBarManagerStyle(dxBarManager);
|
|
dxLoadImageListFromResources(ilSmallImages, IDB_DXPSPREVIEW_TOOLBARS_SMALLIMAGELIST);
|
|
dxLoadImageListFromResources(ilLargeImages, IDB_DXPSPREVIEW_RIBBON_IMAGELIST, HInstance);
|
|
InitializeRibbonLookAndFeel;
|
|
InitializeBackgroundColorsGallery;
|
|
end;
|
|
|
|
destructor TdxRibbonPrintPreviewForm.Destroy;
|
|
begin
|
|
SaveBarManagerDefaults;
|
|
FreeAndNil(FExplorerContextCommands);
|
|
inherited Destroy;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.LoadBarManagerDefaults;
|
|
var
|
|
AIniFile: TCustomIniFile;
|
|
begin
|
|
if dxPSStoringManager.BeginStoring(AIniFile) then
|
|
try
|
|
Preview.LoadFromIniFile(AIniFile, dxPSFormGetActualSectionName(Self));
|
|
finally
|
|
dxPSStoringManager.EndStoring(AIniFile);
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.SaveBarManagerDefaults;
|
|
var
|
|
AIniFile: TCustomIniFile;
|
|
begin
|
|
if dxPSStoringManager.BeginStoring(AIniFile) then
|
|
try
|
|
Preview.SaveToIniFile(AIniFile, dxPSFormGetActualSectionName(Self));
|
|
finally
|
|
dxPSStoringManager.EndStoring(AIniFile);
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.LoadBarManager(
|
|
AIniFile: TCustomIniFile; const ASectionName: string);
|
|
const
|
|
StorageType: array[Boolean] of TdxBarStoringKind = (skIni, skReg);
|
|
var
|
|
AIsSameVersion: Boolean;
|
|
begin
|
|
AIsSameVersion :=
|
|
(AIniFile.ReadInteger(dxValidatePath(ASectionName) + 'Version', 'Major', 0) = dxPSVerMajor) and
|
|
(AIniFile.ReadInteger(dxValidatePath(ASectionName) + 'Version', 'Minor', 0) = dxPSVerMinor);
|
|
|
|
if AIsSameVersion then
|
|
begin
|
|
TdxBarManagerAccess(dxBarManager).LoadBarManager(
|
|
AIniFile, dxValidatePath(ASectionName) + sdxToolBars,
|
|
StorageType[AIniFile is TRegistryIniFile]);
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.SaveBarManager(
|
|
AIniFile: TCustomIniFile; const ASectionName: string);
|
|
const
|
|
StorageType: array[Boolean] of TdxBarStoringKind = (skIni, skReg);
|
|
begin
|
|
AIniFile.WriteInteger(dxValidatePath(ASectionName) + 'Version', 'Major', dxPSVerMajor);
|
|
AIniFile.WriteInteger(dxValidatePath(ASectionName) + 'Version', 'Minor', dxPSVerMinor);
|
|
TdxBarManagerAccess(dxBarManager).SaveBarManager(
|
|
AIniFile, dxValidatePath(ASectionName) + sdxToolBars,
|
|
StorageType[AIniFile is TRegistryIniFile]);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.AfterConstruction;
|
|
begin
|
|
inherited AfterConstruction;
|
|
cbxPredefinedZoom.DropDownCount := Preview.PredefinedZooms.Count;
|
|
seActivePage.Value := 1;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.InitContent;
|
|
|
|
procedure AddEndEllipsis(AItem: TdxBarButton);
|
|
begin
|
|
if AnsiLastChar(AItem.Caption) <> '.' then
|
|
AItem.Caption := dxPSUtl.AddEndEllipsis(AItem.Caption);
|
|
end;
|
|
|
|
begin
|
|
dxRibbon.DocumentName := ReportLink.ReportDocument.Caption;
|
|
Preview.ThumbnailsPreview.PopupMenu := pmThumbnails;
|
|
cbxPredefinedZoom.Text := IntToStr(ZoomFactor) + PercentSymbol;
|
|
if Assigned(ReportLink) then
|
|
seActivePage.MaxValue := ReportLink.PageCount;
|
|
|
|
if IsExplorerAvailable then
|
|
TWinControlAccess(Preview.ExplorerTree.Control).OnMouseUp := DoShowExplorerPopup
|
|
else
|
|
begin
|
|
AddEndEllipsis(bbFileSave);
|
|
AddEndEllipsis(bbFileLoad);
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.UpdateContexts;
|
|
|
|
procedure SetContextVisible(AContext: TdxRibbonContext; AVisible: Boolean);
|
|
begin
|
|
if AContext.Visible <> AVisible then
|
|
begin
|
|
AContext.Visible := AVisible;
|
|
if AVisible and (AContext.TabCount > 0) then
|
|
AContext.Tabs[0].Active := True;
|
|
end;
|
|
end;
|
|
|
|
begin
|
|
SetContextVisible(dxRibbon.Contexts.Items[0], Preview.ShowExplorer);
|
|
SetContextVisible(dxRibbon.Contexts.Items[1], HeaderAndFooterContextVisible);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.UpdateControls;
|
|
const
|
|
ButtonStyles: array[Boolean] of TdxBarButtonStyle = (bsDefault, bsDropDown);
|
|
var
|
|
APagesExists, AStyleManagerAssigned: Boolean;
|
|
APageXCount, APageYCount: Integer;
|
|
begin
|
|
if Locked or (csDestroying in ComponentState) then Exit;
|
|
|
|
APagesExists := Preview.Preview.PageCount > 0;
|
|
Preview.BeginUpdate;
|
|
try
|
|
EnableItemsWhileBuilding(True);
|
|
|
|
bbFileDesign.Enabled := Preview.CanDesign;
|
|
bbFileRebuild.Enabled := Preview.CanRebuild;
|
|
bbFileSave.Enabled := Preview.CanSaveReport;
|
|
bbFileLoad.Enabled := Preview.CanLoadReport;
|
|
bbFileClose.Enabled := Preview.CanUnloadReport;
|
|
bbFilePrint.Enabled := Preview.CanPrint;
|
|
bbExportToPDF.Enabled := Preview.CanExport;
|
|
bbFilePrintDialog.Enabled := Preview.CanPrintDialog;
|
|
bbFilePageSetup.Enabled := Preview.CanPageSetup;
|
|
bbFilePageSetup.ButtonStyle := ButtonStyles[Preview.CanPrintStyle];
|
|
bbFileExit.Enabled := not IsPrinting;
|
|
|
|
bbLargePrint.Enabled := Preview.CanPrint;
|
|
bbLargeExportToPDF.Enabled := Preview.CanExport;
|
|
bbLargePrintDialog.Enabled := Preview.CanPrintDialog;
|
|
bbLargePageSetup.Enabled := Preview.CanPageSetup;
|
|
|
|
bbExplorer.Enabled := IsExplorerAvailable;
|
|
bbExplorerCreateNewFolder.Enabled := IsExplorerAvailable and ExplorerTree.CanCreateFolder;
|
|
bbExplorerDelete.Enabled := IsExplorerAvailable and ExplorerTree.CanDeleteSelection;
|
|
bbExplorerRename.Enabled := IsExplorerAvailable and ExplorerTree.CanRenameSelectedItem;
|
|
bbReportProperties.Enabled := IsExplorerAvailable and ExplorerTree.CanShowPropertySheetsForSelectedItem;
|
|
|
|
bbFormatShowHideEmptyPages.Down := Assigned(ReportLink) and ReportLink.ShowEmptyPages;
|
|
bbFormatTitle.Enabled := Assigned(ReportLink) and ReportLink.CanChangeTitle;
|
|
bbFormatFootnotes.Enabled := Assigned(ReportLink) and ReportLink.CanChangeFootnotes;
|
|
rgiBackgroundColor.Enabled := Preview.IsEnabled(peoPageBackground) and not IsPrinting;
|
|
bbFormatShrinkToPageWidth.Enabled := APagesExists and not IsPrinting;
|
|
if Assigned(ReportLink) then
|
|
begin
|
|
bbFormatShrinkToPageWidth.Down := ReportLink.ShrinkToPageWidth;
|
|
SetBarItemVisibility(bbFormatShowHideEmptyPages, ReportLink.EmptyPagesCanExist);
|
|
bbFormatShowHideEmptyPages.Down := ReportLink.ShowEmptyPages;
|
|
ReportLink.GetPageColRowCount(APageXCount, APageYCount);
|
|
bbZoomWidenToSourceWidth.Enabled := APageXCount > 1;
|
|
end;
|
|
|
|
bbZoomPageWidth.Enabled := APagesExists;
|
|
bbZoomPercent100.Enabled := APagesExists;
|
|
bbZoomWholePage.Enabled := APagesExists;
|
|
bbZoomTwoPages.Enabled := APagesExists and (Preview.PageCount > 1);
|
|
bbZoomFourPages.Enabled := APagesExists and (Preview.PageCount > 3);
|
|
bbZoomMultiplePages.Enabled := APagesExists;
|
|
cbxPredefinedZoom.Enabled := bbZoomPageWidth.Enabled;
|
|
bbZoomSetup.Enabled := bbZoomPageWidth.Enabled;
|
|
|
|
bbExplorer.Down := Preview.ShowExplorer;
|
|
bbThumbnails.Down := Preview.ShowThumbnails;
|
|
|
|
bbGoToFirstPage.Enabled := APagesExists and (Preview.Preview.SelPageIndex <> 0);
|
|
bbGoToPrevPage.Enabled := APagesExists and (Preview.Preview.SelPageIndex <> 0);
|
|
bbGoToNextPage.Enabled := APagesExists and (Preview.Preview.SelPageIndex <> Preview.PageCount - 1);
|
|
bbGoToLastPage.Enabled := APagesExists and (Preview.Preview.SelPageIndex <> Preview.PageCount - 1);
|
|
seActivePage.Enabled := Preview.PageCount > 1;
|
|
|
|
bbViewMargins.Down := Preview.ShowPageMargins;
|
|
bbViewMarginBar.Down := Preview.ShowMarginBar;
|
|
bbViewStatusBar.Down := Preview.ShowStatusBar;
|
|
SetBarItemVisibility(bbViewExplorer, IsExplorerAvailable);
|
|
bbViewExplorer.Down := Preview.ShowExplorer;
|
|
bbViewThumbnails.Down := Preview.ShowThumbnails;
|
|
bbThumbnailsSmall.Down := Preview.ThumbnailsSize = tsSmall;
|
|
bbThumbnailsLarge.Down := Preview.ThumbnailsSize = tsLarge;
|
|
if ReportLink <> nil then
|
|
begin
|
|
bbViewPageHeaders.Down := ReportLink.ShowPageHeader;
|
|
bbViewPageFooters.Down := ReportLink.ShowPageFooter;
|
|
end;
|
|
|
|
SetBarItemVisibility(bbExplorer, IsExplorerAvailable);
|
|
SetBarItemVisibility(bbFileDesign, Preview.IsVisible(pvoReportDesign));
|
|
SetBarItemVisibility(bbFileSave, Preview.IsCommandSaveReportVisible);
|
|
SetBarItemVisibility(bbFileLoad, Preview.IsCommandLoadReportVisible);
|
|
SetBarItemVisibility(bbFileClose, Preview.IsCommandUnloadReportVisible);
|
|
SetBarItemVisibility(bbFilePrint, Preview.IsVisible(pvoPrint));
|
|
SetBarItemVisibility(bbFilePrintDialog, Preview.IsVisible(pvoPrint));
|
|
SetBarItemVisibility(bbFilePageSetup, Preview.IsVisible(pvoPageSetup));
|
|
|
|
AStyleManagerAssigned := (ReportLink <> nil) and (ReportLink.StyleManager <> nil);
|
|
dxBarInsertAutoText.Visible := AStyleManagerAssigned;
|
|
SetBarItemVisibility(bbInsertEditAutoText, AStyleManagerAssigned);
|
|
SetBarItemVisibility(bsiInsertAutoText, AStyleManagerAssigned);
|
|
SetBarItemVisibility(bliInsertAutoTextEntries, AStyleManagerAssigned);
|
|
SetBarItemVisibility(rgiBackgroundColor, Preview.IsVisible(pvoPageBackground));
|
|
|
|
if not seActivePage.Enabled then
|
|
seActivePage.Value := -1
|
|
else
|
|
begin
|
|
seActivePage.MinValue := 1;
|
|
if ReportLink <> nil then
|
|
begin
|
|
seActivePage.MaxValue := ReportLink.PageCount;
|
|
seActivePage.Value := ReportLink.VirtualPageIndexToRealPageIndex(
|
|
Preview.Preview.SelPageIndex) + 1;
|
|
end
|
|
end;
|
|
|
|
if Preview.IsBuilding or IsPrinting then
|
|
EnableItemsWhileBuilding(False);
|
|
|
|
UpdateContexts;
|
|
EnabledHFItems(bbHeaderAndFooter.Down);
|
|
UpdateExplorerContextCommands;
|
|
UpdateRibbonHelpButton;
|
|
finally
|
|
Preview.CancelUpdate;
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbViewMarginsClick(Sender: TObject);
|
|
begin
|
|
if not Locked then
|
|
Preview.ShowPageMargins := TdxBarButton(Sender).Down;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbViewMarginBarClick(Sender: TObject);
|
|
begin
|
|
if not Locked then
|
|
Preview.ShowMarginBar := TdxBarButton(Sender).Down;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbViewStatusBarClick(Sender: TObject);
|
|
begin
|
|
if not Locked then
|
|
Preview.ShowStatusBar := TdxBarButton(Sender).Down;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbViewExplorerClick(Sender: TObject);
|
|
begin
|
|
if not Locked then
|
|
Preview.ShowExplorer := TdxBarButton(Sender).Down;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.pmExplorerPopup(Sender: TObject);
|
|
begin
|
|
UpdateControls;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbThumbnailsSizeClick(Sender: TObject);
|
|
begin
|
|
Preview.ThumbnailsSize := TdxPSThumbnailsSize(TTagToInt(TComponent(Sender).Tag));
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbViewThumbnailsClick(Sender: TObject);
|
|
begin
|
|
if not Locked then
|
|
Preview.ShowThumbnails := TdxBarButton(Sender).Down;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.DesignClick(Sender: TObject);
|
|
begin
|
|
Preview.DoDesignReport;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbFileRebuildClick(Sender: TObject);
|
|
begin
|
|
if Preview.CanRebuild then
|
|
Preview.RebuildReport;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PrintClick(Sender: TObject);
|
|
const
|
|
BtnClicked: Boolean = False;
|
|
begin
|
|
if not BtnClicked then
|
|
begin
|
|
BtnClicked := True;
|
|
try
|
|
Preview.DoPrintReport(Boolean(TTagToInt(TComponent(Sender).Tag)));
|
|
finally
|
|
BtnClicked := False;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PageSetupClick(Sender: TObject);
|
|
begin
|
|
DoPageSetupReport(0);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.FileSaveClick(Sender: TObject);
|
|
begin
|
|
Preview.DoExplorerCreateNewItem;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.ExplorerLoadDataClick(Sender: TObject);
|
|
begin
|
|
Preview.DoExplorerLoadItemData;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbFileCloseClick(Sender: TObject);
|
|
begin
|
|
Preview.DoExplorerUnloadItemData;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.ExplorerCreateNewFolderClick(Sender: TObject);
|
|
begin
|
|
ExplorerTree.FocusedItem := ExplorerTree.SelectedItem;
|
|
PostCreateFolderMessage;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.InitializeBackgroundColorsGallery;
|
|
|
|
function CreateColorBitmap(AColor: TColor): TcxAlphaBitmap;
|
|
begin
|
|
Result := TcxAlphaBitmap.CreateSize(12, 12);
|
|
Result.cxCanvas.FillRect(Result.ClientRect, AColor);
|
|
Result.cxCanvas.FrameRect(Result.ClientRect, clGrayText);
|
|
Result.TransformBitmap(btmSetOpaque);
|
|
end;
|
|
|
|
procedure PopulateColors(AGroup: TdxRibbonGalleryGroup);
|
|
var
|
|
ABitmap: TcxAlphaBitmap;
|
|
AItem: TdxRibbonGalleryGroupItem;
|
|
I, J: Integer;
|
|
begin
|
|
for I := 0 to dxPaletteRowCount - 1 do
|
|
for J := 0 to dxPaletteColCount - 1 do
|
|
begin
|
|
ABitmap := CreateColorBitmap(dxPaletteColors[J, I]);
|
|
try
|
|
AItem := AGroup.Items.Add;
|
|
AItem.OnClick := DoGalleryColorItemClick;
|
|
AItem.Tag := dxPaletteColors[J, I];
|
|
AItem.Glyph := ABitmap;
|
|
AItem.Caption := cxGetResourceString(dxPaletteColorHints[J, I]);
|
|
finally
|
|
ABitmap.Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
begin
|
|
PopulateColors(rgiBackgroundColor.GalleryGroups[0]);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PostCreateFolderMessage;
|
|
begin
|
|
PostMessage(Handle, WM_CREATEFOLDER, 0, 0);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.ExplorerDeleteItemClick(Sender: TObject);
|
|
begin
|
|
Preview.DoExplorerDeleteItem;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.ExplorerRenameItemClick(Sender: TObject);
|
|
begin
|
|
Preview.DoExplorerRenameItem;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbExplorerPropertiesClick(Sender: TObject);
|
|
begin
|
|
Preview.DoExplorerItemShowPropertySheets;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PageBackgroundClick(Sender: TObject);
|
|
begin
|
|
Preview.DoShowPageBackgroundDlg(CalcWindowPos(Sender));
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbFormatShrinkToPageWidthClick(Sender: TObject);
|
|
begin
|
|
if Assigned(ReportLink) then
|
|
begin
|
|
ReportLink.ShrinkToPageWidth := not ReportLink.ShrinkToPageWidth;
|
|
Preview.DoShrinkToPageWidth(ReportLink.ShrinkToPageWidth);
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbFormatShowHideEmptyPagesClick(Sender: TObject);
|
|
begin
|
|
if not Locked then
|
|
Preview.DoShowEmptyPages(TdxBarButton(Sender).Down);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbZoomSetupClick(Sender: TObject);
|
|
begin
|
|
Preview.DoShowZoomDlg;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.cbxPredefinedZoomClick(Sender: TObject);
|
|
begin
|
|
Preview.DoShowZoomDlg;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbZoomMultiplePagesClick(Sender: TObject);
|
|
var
|
|
Link: TdxBarItemLink;
|
|
R: TRect;
|
|
YShift: Integer;
|
|
begin
|
|
Link := TdxBarItem(Sender).ClickItemLink;
|
|
if Assigned(Link) and Assigned(Link.Control) then
|
|
begin
|
|
R := Link.ItemRect;
|
|
MapWindowPoints(Link.BarControl.Handle, 0, R, 2);
|
|
YShift := R.Bottom - R.Top;
|
|
end
|
|
else
|
|
begin
|
|
GetWindowRect(Preview.Preview.Handle, R);
|
|
OffsetRect(R, 3, 0);
|
|
YShift := 3;
|
|
end;
|
|
Preview.DoShowMultiplySelectPagesDlg(ilSmallImages, PageSelectorImageIndex, R.TopLeft, YShift);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.GoToPageClick(Sender: TObject);
|
|
begin
|
|
case TTagToInt(TComponent(Sender).Tag) of
|
|
0: Preview.GoToFirstPage;
|
|
1: Preview.GoToPrevPage;
|
|
2: Preview.GoToNextPage;
|
|
3: Preview.GoToLastPage;
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.CloseClick(Sender: TObject);
|
|
begin
|
|
Close;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.HelpClick(Sender: TObject);
|
|
begin
|
|
Preview.DoInvokeHelp;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.Activate;
|
|
begin
|
|
inherited;
|
|
TimerHint.Enabled := True;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.WndProc(var Message: TMessage);
|
|
begin
|
|
if Message.Msg = WM_CREATEFOLDER then
|
|
begin
|
|
ExplorerTree.SelectedItem := ExplorerTree.FocusedItem;
|
|
Preview.DoExplorerCreateNewFolder;
|
|
end
|
|
else
|
|
inherited;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.AddExplorerContextCommand(
|
|
ACommand: TCustomdxPSExplorerContextCommand);
|
|
|
|
procedure AddBarControl(AItemLinks: TdxBarItemLinks; ABarButton: TdxBarButton);
|
|
var
|
|
ALink: TdxBarItemLink;
|
|
begin
|
|
ALink := AItemLinks.Add;
|
|
ALink.Item := ABarButton;
|
|
ALink.Index := 0;
|
|
ALink.BringToTopInRecentList(True);
|
|
end;
|
|
|
|
procedure BeginGroup(AItemLinks: TdxBarItemLinks);
|
|
begin
|
|
if AItemLinks.Count <> 0 then
|
|
AItemLinks[0].BeginGroup := True;
|
|
end;
|
|
|
|
var
|
|
ABarButton: TdxBarButton;
|
|
begin
|
|
if ACommand is TdxPSExplorerContextCommandSeparator then
|
|
begin
|
|
BeginGroup(dxBarExplorer.ItemLinks);
|
|
BeginGroup(pmExplorer.ItemLinks);
|
|
end
|
|
else
|
|
begin
|
|
ABarButton := TdxBarButton.Create(Self);
|
|
ABarButton.Glyph := ACommand.Bitmap;
|
|
ABarButton.Caption := ACommand.Caption;
|
|
ABarButton.Enabled := ACommand.Enabled;
|
|
ABarButton.Hint := ACommand.Hint;
|
|
ABarButton.ShortCut := ACommand.ShortCut;
|
|
ABarButton.Tag := MakeTTag(ACommand);
|
|
ABarButton.OnClick := ExplorerContextCommandClick;
|
|
|
|
AddBarControl(dxBarExplorer.ItemLinks, ABarButton);
|
|
AddBarControl(pmExplorer.ItemLinks, ABarButton);
|
|
ACommand.Data := Integer(ABarButton);
|
|
|
|
if FExplorerContextCommands.IndexOf(ACommand) = -1 then
|
|
FExplorerContextCommands.Add(ACommand);
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.ExplorerContextCommandClick(Sender: TObject);
|
|
var
|
|
Command: TCustomdxPSExplorerContextCommand;
|
|
CommandSet2: IdxPSExplorerContextCommands2;
|
|
begin
|
|
Command := TCustomdxPSExplorerContextCommand(TTagToObj(TdxBarButton(Sender).Tag));
|
|
if Supports(Preview.Explorer, IdxPSExplorerContextCommands2, CommandSet2) then
|
|
begin
|
|
CommandSet2.InitializeCommand(Command);
|
|
try
|
|
if Command.Enabled then
|
|
Command.Execute;
|
|
finally
|
|
CommandSet2.FinalizeCommand(Command);
|
|
end;
|
|
end;
|
|
UpdateControls;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.UpdateExplorerContextCommands;
|
|
var
|
|
I: Integer;
|
|
begin
|
|
if not (csDestroying in ComponentState) then
|
|
for I := 0 to ExplorerContextCommandCount - 1 do
|
|
begin
|
|
with ExplorerContextCommands[I] do
|
|
TdxBarButton(Data).Enabled := Enabled;
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.UpdateRibbonHelpButton;
|
|
begin
|
|
if Preview.IsEnabled(peoHelp) then
|
|
dxRibbon.OnHelpButtonClick := dxRibbonHelpButtonClick
|
|
else
|
|
dxRibbon.OnHelpButtonClick := nil;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.DoAfterPrintReport(AShowDialog: Boolean);
|
|
begin
|
|
if AShowDialog then
|
|
bbFilePrint.Hint := cxGetResourceString(@sdxHintFilePrint) + GetCurrentPrinterAsHint;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.InitializeRibbonLookAndFeel;
|
|
begin
|
|
if Assigned(dxPSEngine.DialogsLookAndFeel.SkinPainter) then
|
|
dxRibbon.ColorSchemeName := dxPSEngine.DialogsLookAndFeel.SkinName
|
|
else
|
|
dxRibbon.ColorSchemeName := 'Blue';
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.LoadStrings;
|
|
begin
|
|
dxBarZoom.Caption := cxGetResourceString(@sdxRibbonPrintPreviewGroupZoom);
|
|
dxBarReport.Caption := cxGetResourceString(@sdxRibbonPrintPreviewGroupReport);
|
|
dxBarFormat.Caption := cxGetResourceString(@sdxRibbonPrintPreviewGroupFormat);
|
|
dxBarNavigation.Caption := cxGetResourceString(@sdxRibbonPrintPreviewGroupNavigation);
|
|
dxBarMorePages.Caption := cxGetResourceString(@sdxRibbonPrintPreviewPagesSubItem);
|
|
dxBarView.Caption := cxGetResourceString(@sdxMenuShortcutPreview);
|
|
dxBarExplorerReport.Caption := cxGetResourceString(@sdxRibbonPrintPreviewGroupReport);
|
|
dxBarExplorer.Caption := cxGetResourceString(@sdxMenuExplorer);
|
|
dxBarInsertAutoText.Caption := cxGetResourceString(@sdxMenuInsertAutoText);
|
|
dxBarInsertDateTime.Caption := cxGetResourceString(@sdxMenuInsertDateTime);
|
|
dxBarInsertName.Caption := cxGetResourceString(@sdxRibbonPrintPreviewGroupInsertName);
|
|
dxBarInsertPageNumber.Caption := cxGetResourceString(@sdxRibbonPrintPreviewGroupInsertPageNumber);
|
|
dxBarHeaderAndFooterParts.Caption := cxGetResourceString(@sdxRibbonPrintPreviewGroupParts);
|
|
dxBarHeaderAndFooterClose.Caption := cxGetResourceString(@sdxBtnClose);
|
|
dxBarOutput.Caption := cxGetResourceString(@sdxRibbonPrintPreviewGroupOutput);
|
|
|
|
bbZoom.Caption := cxGetResourceString(@sdxRibbonPrintPreviewGroupZoom);
|
|
bbFormatSubItem.Caption := cxGetResourceString(@sdxRibbonPrintPreviewGroupFormat);
|
|
bbNavigation.Caption := cxGetResourceString(@sdxRibbonPrintPreviewGroupNavigation);
|
|
bbExplorer.Caption := cxGetResourceString(@sdxMenuExplorer);
|
|
bbThumbnails.Caption := cxGetResourceString(@sdxMenuViewThumbnails);
|
|
bbHeaderAndFooter.Caption := cxGetResourceString(@sdxMenuFormatHeaderAndFooter);
|
|
bbClosePreview.Caption := cxGetResourceString(@sdxRibbonPrintPreviewClosePrintPreview);
|
|
bbReportProperties.Caption := cxGetResourceString(@sdxMenuExplorerProperties);
|
|
bbBarExplorerClose.Caption := cxGetResourceString(@sdxBtnClose);
|
|
bbCloseHeaderAndFooter.Caption := cxGetResourceString(@sdxBtnClose);
|
|
|
|
rtMain.Caption := DropAmpersand(cxGetResourceString(@sdxMenuShortcutPreview));
|
|
rtExplorer.Caption := DropAmpersand(cxGetResourceString(@sdxMenuExplorer));
|
|
rtHeader.Caption := cxGetResourceString(@sdxMenuViewSwitchToHeader);
|
|
rtFooter.Caption := cxGetResourceString(@sdxMenuViewSwitchToFooter);
|
|
bbPageSetup.Caption := cxGetResourceString(@sdxMenuFilePageSetup);
|
|
dxBarPageSetup.Caption := DropAmpersand(cxGetResourceString(@sdxMenuFilePageSetup));
|
|
|
|
dxRibbon.Contexts.Items[0].Caption := rtExplorer.Caption;
|
|
dxRibbon.Contexts.Items[1].Caption := DropAmpersand(cxGetResourceString(@sdxHeaderFooterBar));
|
|
|
|
bbFileSave.Caption := cxGetResourceString(@sdxMenuFileSave);
|
|
bbFileLoad.Caption := cxGetResourceString(@sdxMenuFileLoad);
|
|
bbFileClose.Caption := cxGetResourceString(@sdxMenuFileClose);
|
|
bbFileDesign.Caption := cxGetResourceString(@sdxMenuFileDesign);
|
|
bbFilePrintDialog.Caption := cxGetResourceString(@sdxMenuFilePrintDialog);
|
|
bbFilePrint.Caption := DropEndEllipsis(cxGetResourceString(@sdxMenuFilePrint));
|
|
bbFileRebuild.Caption := cxGetResourceString(@sdxMenuFileRebuild);
|
|
bliPrintStyles.Caption := cxGetResourceString(@sdxMenuPrintStyles);
|
|
bbFilePageSetup.Caption := cxGetResourceString(@sdxMenuFilePageSetup);
|
|
bbFileExit.Caption := cxGetResourceString(@sdxMenuFileExit);
|
|
bbExportToPDF.Caption := cxGetResourceString(@sdxMenuExportToPDF);
|
|
|
|
bbLargePrint.Caption := DropEndEllipsis(cxGetResourceString(@sdxMenuFilePrint));
|
|
bbLargeExportToPDF.Caption := cxGetResourceString(@sdxMenuExportToPDF);
|
|
bbLargePrintDialog.Caption := cxGetResourceString(@sdxMenuFilePrintDialog);
|
|
bbLargePageSetup.Caption := cxGetResourceString(@sdxMenuFilePageSetup);
|
|
|
|
bbExplorerCreateNewFolder.Caption := cxGetResourceString(@sdxMenuExplorerCreateFolder);
|
|
bbExplorerDelete.Caption := cxGetResourceString(@sdxMenuExplorerDelete);
|
|
bbExplorerRename.Caption := cxGetResourceString(@sdxMenuExplorerRename);
|
|
bbHeaderAndFooter.Caption := cxGetResourceString(@sdxMenuFormatHeaderAndFooter);
|
|
|
|
bbEdit.Caption := cxGetResourceString(@sdxMenuEdit);
|
|
bbEditFind.Caption := cxGetResourceString(@sdxMenuEditFind);
|
|
bbEditFindNext.Caption := cxGetResourceString(@sdxMenuEditFindNext);
|
|
bbEditReplace.Caption := cxGetResourceString(@sdxMenuEditReplace);
|
|
|
|
bbInsertEditAutoText.Caption := cxGetResourceString(@sdxMenuInsertEditAutoTextEntries);
|
|
bsiInsertAutoText.Caption := cxGetResourceString(@sdxMenuInsertAutoTextEntriesSubItem);
|
|
bliInsertAutoTextEntries.Caption := cxGetResourceString(@sdxMenuInsertAutoTextEntries);
|
|
bbInsertHFPageNumber.Caption := cxGetResourceString(@sdxMenuInsertPageNumber);
|
|
bbInsertHFTotalPages.Caption := cxGetResourceString(@sdxMenuInsertTotalPages);
|
|
bbInsertHFPageOfPages.Caption := cxGetResourceString(@sdxMenuInsertPageOfPages);
|
|
bbInsertHFDateTime.Caption := cxGetResourceString(@sdxMenuInsertDateTime);
|
|
bbInsertHFDate.Caption := cxGetResourceString(@sdxMenuInsertDate);
|
|
bbInsertHFTime.Caption := cxGetResourceString(@sdxMenuInsertTime);
|
|
bbInsertHFUserName.Caption := cxGetResourceString(@sdxMenuInsertUserName);
|
|
bbInsertHFMachineName.Caption := cxGetResourceString(@sdxMenuInsertMachineName);
|
|
|
|
bbViewMargins.Caption := cxGetResourceString(@sdxMenuViewMargins);
|
|
bbViewMarginBar.Caption := cxGetResourceString(@sdxMenuViewMarginsStatusBar);
|
|
bbViewStatusBar.Caption := cxGetResourceString(@sdxMenuViewPagesStatusBar);
|
|
bbViewExplorer.Caption := cxGetResourceString(@sdxMenuViewExplorer);
|
|
bbViewThumbnails.Caption := cxGetResourceString(@sdxMenuViewThumbnails);
|
|
bbThumbnailsSmall.Caption := cxGetResourceString(@sdxMenuThumbnailsSmall);
|
|
bbThumbnailsLarge.Caption := cxGetResourceString(@sdxMenuThumbnailsLarge);
|
|
|
|
bbZoomPercent100.Caption := cxGetResourceString(@sdxMenuZoomPercent100);
|
|
bbZoomPageWidth.Caption := cxGetResourceString(@sdxMenuZoomPageWidth);
|
|
bbZoomWholePage.Caption := cxGetResourceString(@sdxMenuZoomWholePage);
|
|
bbZoomTwoPages.Caption := cxGetResourceString(@sdxMenuZoomTwoPages);
|
|
bbZoomFourPages.Caption := cxGetResourceString(@sdxMenuZoomFourPages);
|
|
bbZoomMultiplePages.Caption := cxGetResourceString(@sdxMenuZoomMultiplyPages);
|
|
bbZoomWidenToSourceWidth.Caption := cxGetResourceString(@sdxMenuZoomWidenToSourceWidth);
|
|
bbZoomSetup.Caption := cxGetResourceString(@sdxMenuZoomSetup);
|
|
bbViewPageHeaders.Caption := cxGetResourceString(@sdxMenuViewPagesHeaders);
|
|
bbViewPageFooters.Caption := cxGetResourceString(@sdxMenuViewPagesFooters);
|
|
bbViewSwitchToLeftPart.Caption := cxGetResourceString(@sdxMenuViewSwitchToLeftPart);
|
|
bbViewSwitchToRightPart.Caption := cxGetResourceString(@sdxMenuViewSwitchToRightPart);
|
|
bbViewSwitchToCenterPart.Caption := cxGetResourceString(@sdxMenuViewSwitchToCenterPart);
|
|
bbViewHFClose.Caption := cxGetResourceString(@sdxMenuViewHFClose);
|
|
|
|
bbFormatFootnotes.Caption := cxGetResourceString(@sdxMenuFormatFootnotes);
|
|
bbFormatTitle.Caption := cxGetResourceString(@sdxMenuFormatTitle);
|
|
bbFormatDateTime.Caption := cxGetResourceString(@sdxMenuFormatDateTime);
|
|
bbFormatPageNumbering.Caption := cxGetResourceString(@sdxMenuFormatPageNumbering);
|
|
bbFormatShrinkToPageWidth.Caption := cxGetResourceString(@sdxMenuFormatShrinkToPage);
|
|
bbFormatShowHideEmptyPages.Caption := cxGetResourceString(@sdxMenuShowEmptyPages);
|
|
bbFormatHFBackground.Caption := cxGetResourceString(@sdxMenuFormatHFBackground);
|
|
bbFormatHFClear.Caption := cxGetResourceString(@sdxMenuFormatHFClear);
|
|
|
|
rgiBackgroundColor.Caption := cxGetResourceString(@sdxHintFormatPageBackground);
|
|
rgiBackgroundColor.GalleryGroups[0].Header.Caption := rgiBackgroundColor.Caption;
|
|
bbBackgroundNoFill.Caption := cxGetResourceString(@sdxBtnNoFill);
|
|
bbBackgroundMoreColors.Caption := cxGetResourceString(@sdxBtnMoreColors);
|
|
bbBackgroundFillEffects.Caption := cxGetResourceString(@sdxBtnFillEffects);
|
|
|
|
bbGotoFirstPage.Caption := cxGetResourceString(@sdxMenuGotoPageFirst);
|
|
bbGotoPrevPage.Caption := cxGetResourceString(@sdxMenuGotoPagePrev);
|
|
bbGotoNextPage.Caption := cxGetResourceString(@sdxMenuGotoPageNext);
|
|
bbGotoLastPage.Caption := cxGetResourceString(@sdxMenuGotoPageLast);
|
|
|
|
cbxPredefinedZoom.Caption := cxGetResourceString(@sdxMenuZoom) + ':';
|
|
cbxPredefinedZoom.Items[8] := cxGetResourceString(@sdxPageWidth);
|
|
cbxPredefinedZoom.Items[9] := cxGetResourceString(@sdxWholePage);
|
|
cbxPredefinedZoom.Items[10] := cxGetResourceString(@sdxTwoPages);
|
|
cbxPredefinedZoom.Items[11] := cxGetResourceString(@sdxFourPages);
|
|
cbxPredefinedZoom.Items[12] := cxGetResourceString(@sdxWidenToSourceWidth);
|
|
seActivePage.Caption := cxGetResourceString(@sdxMenuActivePage);
|
|
|
|
{ hints }
|
|
bbFileDesign.Hint := cxGetResourceString(@sdxHintFileDesign);
|
|
bbFileSave.Hint := cxGetResourceString(@sdxHintFileSave);
|
|
bbFileLoad.Hint := cxGetResourceString(@sdxHintFileLoad);
|
|
bbFileClose.Hint := cxGetResourceString(@sdxHintFileClose);
|
|
bbFilePrint.Hint := cxGetResourceString(@sdxHintFilePrint) + dxPSPrVw.GetCurrentPrinterAsHint;
|
|
bbFilePrintDialog.Hint := cxGetResourceString(@sdxHintFilePrintDialog);
|
|
bbFilePageSetup.Hint := cxGetResourceString(@sdxHintFilePageSetup);
|
|
bbFileExit.Hint := cxGetResourceString(@sdxHintFileExit);
|
|
bbExportToPDF.Hint := cxGetResourceString(@sdxHintExportToPDF);
|
|
|
|
bbLargePrint.Hint := cxGetResourceString(@sdxHintFilePrint) + dxPSPrVw.GetCurrentPrinterAsHint;
|
|
bbLargeExportToPDF.Hint := cxGetResourceString(@sdxHintExportToPDF);
|
|
bbLargePrintDialog.Hint := cxGetResourceString(@sdxHintFilePrintDialog);
|
|
bbLargePageSetup.Hint := cxGetResourceString(@sdxHintFilePageSetup);
|
|
|
|
bbExplorerCreateNewFolder.Hint := cxGetResourceString(@sdxHintExplorerCreateFolder);
|
|
bbExplorerDelete.Hint := cxGetResourceString(@sdxHintExplorerDelete);
|
|
bbExplorerRename.Hint := cxGetResourceString(@sdxHintExplorerRename);
|
|
|
|
bbEditFind.Hint := cxGetResourceString(@sdxHintEditFind);
|
|
bbEditFindNext.Hint := cxGetResourceString(@sdxHintEditFindNext);
|
|
bbEditReplace.Hint := cxGetResourceString(@sdxHintEditReplace);
|
|
|
|
bbInsertEditAutoText.Hint := cxGetResourceString(@sdxHintInsertEditAutoTextEntries);
|
|
bbInsertHFPageNumber.Hint := cxGetResourceString(@sdxHintInsertPageNumber);
|
|
bbInsertHFTotalPages.Hint := cxGetResourceString(@sdxHintInsertTotalPages);
|
|
bbInsertHFPageOfPages.Hint := cxGetResourceString(@sdxHintInsertPageOfPages);
|
|
bbInsertHFDateTime.Hint := cxGetResourceString(@sdxHintInsertDateTime);
|
|
bbInsertHFDate.Hint := cxGetResourceString(@sdxHintInsertDate);
|
|
bbInsertHFTime.Hint := cxGetResourceString(@sdxHintInsertTime);
|
|
bbInsertHFUserName.Hint := cxGetResourceString(@sdxHintInsertUserName);
|
|
bbInsertHFMachineName.Hint := cxGetResourceString(@sdxHintInsertMachineName);
|
|
|
|
bbViewMargins.Hint := cxGetResourceString(@sdxHintViewMargins);
|
|
bbViewMarginBar.Hint := cxGetResourceString(@sdxHintViewMarginsStatusBar);
|
|
bbViewStatusBar.Hint := cxGetResourceString(@sdxHintViewPagesStatusBar);
|
|
bbViewExplorer.Hint := cxGetResourceString(@sdxHintViewExplorer);
|
|
bbViewThumbnails.Hint := cxGetResourceString(@sdxHintViewThumbnails);
|
|
bbThumbnailsSmall.Hint := cxGetResourceString(@sdxHintThumbnailsSmall);
|
|
bbThumbnailsLarge.Hint := cxGetResourceString(@sdxHintThumbnailsLarge);
|
|
cbxPredefinedZoom.Hint := cxGetResourceString(@sdxHintViewZoom);
|
|
bbZoomPercent100.Hint := cxGetResourceString(@sdxHintZoomPercent100);
|
|
bbZoomPageWidth.Hint := cxGetResourceString(@sdxHintZoomPageWidth);
|
|
bbZoomWholePage.Hint := cxGetResourceString(@sdxHintZoomWholePage);
|
|
bbZoomTwoPages.Hint := cxGetResourceString(@sdxHintZoomTwoPages);
|
|
bbZoomFourPages.Hint := cxGetResourceString(@sdxHintZoomFourPages);
|
|
bbZoomMultiplePages.Hint := cxGetResourceString(@sdxHintZoomMultiplyPages);
|
|
bbZoomWidenToSourceWidth.Hint := cxGetResourceString(@sdxHintZoomWidenToSourceWidth);
|
|
bbZoomSetup.Hint := cxGetResourceString(@sdxHintZoomSetup);
|
|
bbViewPageHeaders.Hint := cxGetResourceString(@sdxHintViewPagesHeaders);
|
|
bbViewPageFooters.Hint := cxGetResourceString(@sdxHintViewPagesFooters);
|
|
bbViewSwitchToLeftPart.Hint := cxGetResourceString(@sdxHintViewSwitchToLeftPart);
|
|
bbViewSwitchToRightPart.Hint := cxGetResourceString(@sdxHintViewSwitchToRightPart);
|
|
bbViewSwitchToCenterPart.Hint := cxGetResourceString(@sdxHintViewSwitchToCenterPart);
|
|
|
|
bbFormatFootnotes.Hint := cxGetResourceString(@sdxHintFormatFootnotes);
|
|
bbFormatTitle.Hint := cxGetResourceString(@sdxHintFormatTitle);
|
|
bbFormatDateTime.Hint := cxGetResourceString(@sdxHintFormatDateTime);
|
|
bbFormatPageNumbering.Hint := cxGetResourceString(@sdxHintFormatPageNumbering);
|
|
bbFormatShrinkToPageWidth.Hint := cxGetResourceString(@sdxHintFormatShrinkToPage);
|
|
bbFormatHFBackground.Hint := cxGetResourceString(@sdxHintFormatHFBackground);
|
|
bbFormatHFClear.Hint := cxGetResourceString(@sdxHintFormatHFClear);
|
|
|
|
bbGotoFirstPage.Hint := cxGetResourceString(@sdxHintGotoPageFirst);
|
|
bbGotoPrevPage.Hint := cxGetResourceString(@sdxHintGotoPagePrev);
|
|
bbGotoNextPage.Hint := cxGetResourceString(@sdxHintGotoPageNext);
|
|
bbGotoLastPage.Hint := cxGetResourceString(@sdxHintGotoPageLast);
|
|
seActivePage.Hint := cxGetResourceString(@sdxHintActivePage);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.ZoomClick(Sender: TObject);
|
|
var
|
|
PageXCount, PageYCount: Integer;
|
|
ZoomMode: TdxPreviewZoomMode;
|
|
begin
|
|
case TTagToInt(TComponent(Sender).Tag) of
|
|
0: ZoomMode := pzmNone;
|
|
1: ZoomMode := pzmPageWidth;
|
|
else
|
|
ZoomMode := pzmPages;
|
|
end;
|
|
PageXCount := 1;
|
|
PageYCount := 1;
|
|
if ZoomMode = pzmPages then
|
|
begin
|
|
case TTagToInt(TComponent(Sender).Tag) of
|
|
3: PageXCount := 2;
|
|
4:
|
|
begin
|
|
PageXCount := 2;
|
|
PageYCount := 2;
|
|
end;
|
|
5: ReportLink.GetPageColRowCount(PageXCount, PageYCount);
|
|
end;
|
|
end;
|
|
Preview.DoSetupZoomFactor(100, PageXCount, PageYCount, ZoomMode);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.SetBarItemVisibility(Item: TdxBarItem; Value: Boolean);
|
|
begin
|
|
Item.Visible := VisibleToBarItemVisible(Value);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.DoShowHFToolBar(Value: Boolean);
|
|
begin
|
|
if not Locked then
|
|
begin
|
|
Preview.BeginUpdate;
|
|
try
|
|
FHeaderAndFooterContextVisible := Value;
|
|
bbHeaderAndFooter.Down := Value;
|
|
UpdateContexts;
|
|
UpdateHFState(Value);
|
|
finally
|
|
Preview.EndUpdate;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.seActivePageChange(Sender: TObject);
|
|
var
|
|
V: Integer;
|
|
begin
|
|
if not Locked then
|
|
begin
|
|
V := seActivePage.IntCurValue;
|
|
V := Max(V, Round(seActivePage.MinValue));
|
|
V := Min(V, Round(seActivePage.MaxValue));
|
|
Preview.DoActivePageChanged(V - 1);
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.seActivePageButtonClick(
|
|
Sender: TdxBarSpinEdit; Button: TdxBarSpinEditButton);
|
|
begin
|
|
if Locked then Exit;
|
|
case Button of
|
|
sbUp:
|
|
Preview.GoToNextPage;
|
|
sbDown:
|
|
Preview.GoToPrevPage;
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.cbxPredefinedZoomChange(Sender: TObject);
|
|
begin
|
|
Preview.SetZoomFactorByText(cbxPredefinedZoom.Text);
|
|
if cbxPredefinedZoom.DroppedDown then
|
|
Windows.SetFocus(Preview.Handle);
|
|
UpdateControls;
|
|
cbxPredefinedZoom.Text := AddPercentageChar(IntToStr(ZoomFactor));
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbViewHFCloseClick(Sender: TObject);
|
|
begin
|
|
Preview.DoShowHFToolBar(False);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbFormatHeaderAndFooterClick(Sender: TObject);
|
|
begin
|
|
Preview.DoShowHFToolBar(TdxBarButton(Sender).Down);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.InsertHFClick(Sender: TObject);
|
|
begin
|
|
Preview.DoInsertHF(Preview.HFFunctionList[TTagToInt(TComponent(Sender).Tag)]);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbFormatHFClearClick(Sender: TObject);
|
|
begin
|
|
Preview.DoClearHF;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbFormatDateTimeClick(Sender: TObject);
|
|
begin
|
|
Preview.DoShowFormatDateTimeDlg;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbFormatTitleClick(Sender: TObject);
|
|
begin
|
|
Preview.DoFormatTitle;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbFormatFootnotesClick(Sender: TObject);
|
|
begin
|
|
Preview.DoFormatFootnotes;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbFormatPageNumbersClick(Sender: TObject);
|
|
begin
|
|
Preview.DoShowFormatPageNumbersDlg;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.SwitchPartClick(Sender: TObject);
|
|
begin
|
|
Preview.HFEditPart := TdxPageTitlePart(TTagToInt(TdxBarButton(Sender).Tag));
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbFormatHFBackgroundClick(Sender: TObject);
|
|
begin
|
|
Preview.DoShowHFBackgroundDlg(CalcWindowPos(Sender));
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbViewPageHeadersClick(Sender: TObject);
|
|
begin
|
|
if not Locked then
|
|
Preview.DoShowPageHeaders(TdxBarButton(Sender).Down);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbViewPageFootersClick(Sender: TObject);
|
|
begin
|
|
if not Locked then
|
|
Preview.DoShowPageFooters(TdxBarButton(Sender).Down);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbToolsCustomizeClick(Sender: TObject);
|
|
begin
|
|
dxBarManager.Customizing(True);
|
|
end;
|
|
|
|
function TdxRibbonPrintPreviewForm.GetExplorerContextCommand(
|
|
Index: Integer): TCustomdxPSExplorerContextCommand;
|
|
begin
|
|
Result := TCustomdxPSExplorerContextCommand(FExplorerContextCommands.Items[Index]);
|
|
end;
|
|
|
|
function TdxRibbonPrintPreviewForm.GetExplorerContextCommandCount: Integer;
|
|
begin
|
|
Result := FExplorerContextCommands.Count;
|
|
end;
|
|
|
|
function TdxRibbonPrintPreviewForm.GetExplorerTree: TCustomdxPSExplorerTreeContainer;
|
|
begin
|
|
Result := Preview.ExplorerTree;
|
|
end;
|
|
|
|
function TdxRibbonPrintPreviewForm.GetIsExplorerAvailable: Boolean;
|
|
begin
|
|
Result := Preview.IsExplorerAvailable;
|
|
end;
|
|
|
|
function TdxRibbonPrintPreviewForm.GetIsPrinting: Boolean;
|
|
begin
|
|
Result := Preview.IsPrinting;
|
|
end;
|
|
|
|
function TdxRibbonPrintPreviewForm.GetLocked: Boolean;
|
|
begin
|
|
Result := Preview.Locked;
|
|
end;
|
|
|
|
function TdxRibbonPrintPreviewForm.GetReportLink: TBasedxReportLink;
|
|
begin
|
|
Result := Preview.ReportLink;
|
|
end;
|
|
|
|
function TdxRibbonPrintPreviewForm.GetZoomFactor: Integer;
|
|
begin
|
|
Result := Preview.ZoomFactor;
|
|
end;
|
|
|
|
function TdxRibbonPrintPreviewForm.CalcWindowPos(Sender: TObject): TPoint;
|
|
var
|
|
Link: TdxBarItemLink;
|
|
R: TRect;
|
|
begin
|
|
Result := cxNullPoint;
|
|
Link := TdxBarItem(Sender).ClickItemLink;
|
|
if (Link <> nil) and (Link.Control <> nil) then
|
|
begin
|
|
R := Link.ItemRect;
|
|
MapWindowPoints(Link.BarControl.Handle, 0, R, 2);
|
|
Result.X := R.Left;
|
|
Result.Y := R.Bottom;
|
|
end
|
|
else
|
|
Result := Preview.ClientOrigin;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.EnableItemsWhileBuilding(Value: Boolean);
|
|
var
|
|
Items: TList;
|
|
I, J: Integer;
|
|
begin
|
|
Items := TList.Create;
|
|
try
|
|
for I := 0 to dxBarManager.Categories.Count - 1 do
|
|
begin
|
|
dxBarManager.GetItemsByCategory(I, Items);
|
|
for J := 0 to Items.Count - 1 do
|
|
TdxBarItem(Items[J]).Enabled := Value;
|
|
end;
|
|
finally
|
|
Items.Free;
|
|
end;
|
|
bbFileExit.Enabled := True;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.ClearColorItemsSelection;
|
|
var
|
|
I: Integer;
|
|
AGroup: TdxRibbonGalleryGroup;
|
|
begin
|
|
AGroup := rgiBackgroundColor.GalleryGroups.Items[0];
|
|
for I := 0 to AGroup.Items.Count - 1 do
|
|
AGroup.Items[I].Selected := False;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.DoGalleryColorItemClick(Sender: TObject);
|
|
begin
|
|
if Sender is TdxRibbonGalleryGroupItem then
|
|
DoSelectBackgroundColor(TdxRibbonGalleryGroupItem(Sender).Tag);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.DoPageSetupReport(APageIndex: Integer);
|
|
const
|
|
BtnClicked: Boolean = False;
|
|
begin
|
|
if not BtnClicked then
|
|
begin
|
|
BtnClicked := True;
|
|
try
|
|
Preview.DoPageSetupReport(APageIndex);
|
|
finally
|
|
BtnClicked := False;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.DoSelectBackgroundColor(AColor: TColor);
|
|
begin
|
|
Preview.Background.BeginUpdate;
|
|
try
|
|
bbBackgroundNoFill.Down := False;
|
|
Preview.Background.Mode := bmBrush;
|
|
Preview.Background.Brush.Style := bsSolid;
|
|
Preview.Background.Brush.Color := AColor;
|
|
Preview.DoSyncPrintingPageBackground;
|
|
finally
|
|
Preview.Background.EndUpdate;
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.DoShowExplorerPopup(Sender: TObject;
|
|
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
|
begin
|
|
if Button = mbRight then
|
|
pmExplorer.PopupFromCursorPos;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.EnabledHFItems(Value: Boolean);
|
|
begin
|
|
bbInsertHFPageNumber.Enabled := Value;
|
|
bbInsertHFTotalPages.Enabled := Value;
|
|
bbInsertHFPageOfPages.Enabled := Value;
|
|
bbInsertHFDate.Enabled := Value;
|
|
bbInsertHFTime.Enabled := Value;
|
|
bbInsertHFDateTime.Enabled := Value;
|
|
bbInsertHFUserName.Enabled := Value;
|
|
bbInsertHFMachineName.Enabled := Value;
|
|
bbViewHFClose.Enabled := Value;
|
|
bbViewSwitchToLeftPart.Enabled := Value;
|
|
bbViewSwitchToCenterPart.Enabled := Value;
|
|
bbViewSwitchToRightPart.Enabled := Value;
|
|
bbFormatHFClear.Enabled := Value;
|
|
|
|
bliInsertAutoTextEntries.Enabled := Value;
|
|
bbFormatHFBackground.Enabled := Value;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.UpdateHFState(Value: Boolean);
|
|
const
|
|
StateMap: array[Boolean] of TdxPSPreviewState = (prsEditHeaders, prsEditFooters);
|
|
begin
|
|
EnabledHFItems(Value);
|
|
Preview.ZoomOnClick := not Value;
|
|
if Value then
|
|
Preview.State := StateMap[dxRibbon.ActiveTab = rtFooter]
|
|
else
|
|
Preview.State := prsNone;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.TimerHintTimer(Sender: TObject);
|
|
begin
|
|
bbFilePrint.Hint := cxGetResourceString(@sdxHintFilePrint) + GetCurrentPrinterAsHint;
|
|
TTimer(Sender).Enabled := False;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbExportToPDFClick(Sender: TObject);
|
|
begin
|
|
dxPSExportToPDF(ReportLink);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.dxRibbonHelpButtonClick(Sender: TdxCustomRibbon);
|
|
begin
|
|
HelpClick(Sender);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewInitContent(Sender: TObject);
|
|
begin
|
|
InitContent;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewLoadProperties(
|
|
Sender: TObject; AIniFile: TCustomIniFile; const ASectionName: string);
|
|
begin
|
|
LoadBarManager(AIniFile, ASectionName);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewCanShowMarginHint(
|
|
Sender: TObject; var AAllow: Boolean);
|
|
begin
|
|
AAllow := ActiveBarControl = nil;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewAddExplorerCommand(
|
|
Sender: TObject; ACommand: TCustomdxPSExplorerContextCommand);
|
|
begin
|
|
AddExplorerContextCommand(ACommand);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewAfterPrintReport(
|
|
Sender: TObject; AShowDialog: Boolean);
|
|
begin
|
|
DoAfterPrintReport(AShowDialog);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewPreviewDblClick(Sender: TObject);
|
|
begin
|
|
DoShowHFToolBar(False);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewZoomFactorChanged(Sender: TObject);
|
|
begin
|
|
cbxPredefinedZoom.Text := AddPercentageChar(IntToStr(ZoomFactor));
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewZoomModeChanged(Sender: TObject);
|
|
begin
|
|
cbxPredefinedZoom.Text := AddPercentageChar(IntToStr(ZoomFactor));
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewHFToolBarVisibleChanged(
|
|
Sender: TObject; AShow: Boolean);
|
|
begin
|
|
DoShowHFToolBar(AShow);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewSaveProperties(
|
|
Sender: TObject; AIniFile: TCustomIniFile; const ASectionName: string);
|
|
begin
|
|
SaveBarManager(AIniFile, ASectionName);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewStyleListChanged(Sender: TObject);
|
|
begin
|
|
ReportLink.BuildPageSetupMenu(bliPrintStyles, bbDefinePrintStyles, True);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewHFTextEntriesChanged(Sender: TObject);
|
|
begin
|
|
if Preview.IsAutoHFTextEntriesAvailable then
|
|
ReportLink.StyleManager.BuildAutoHFTextEntriesMenu(
|
|
bliInsertAutoTextEntries, bbInsertEditAutoText, True);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewUpdateExplorerCommands(Sender: TObject);
|
|
begin
|
|
UpdateExplorerContextCommands;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewCreationComplete(Sender: TObject);
|
|
begin
|
|
LoadBarManagerDefaults;
|
|
LoadStrings;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
begin
|
|
CanClose := Preview.CanClosePreviewWindow;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.PreviewUpdateControls(Sender: TObject);
|
|
begin
|
|
UpdateControls;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbClosePreviewClick(Sender: TObject);
|
|
begin
|
|
Close;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbExplorerClick(Sender: TObject);
|
|
begin
|
|
if not Locked then
|
|
Preview.DoExplorerShowToggled(TdxBarLargeButton(Sender).Down);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbThumbnailsClick(Sender: TObject);
|
|
begin
|
|
if not Locked then
|
|
Preview.DoThumbnailsToggleShow(TdxBarLargeButton(Sender).Down);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbHeaderAndFooterClick(Sender: TObject);
|
|
begin
|
|
if not Locked then
|
|
Preview.DoShowHFToolBar(TdxBarLargeButton(Sender).Down);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbCloseHeaderAndFooterClick(Sender: TObject);
|
|
begin
|
|
Preview.DoShowHFToolBar(False);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbBarExplorerCloseClick(Sender: TObject);
|
|
begin
|
|
Preview.DoExplorerShowToggled(False);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.dxRibbonTabChanged(Sender: TdxCustomRibbon);
|
|
begin
|
|
if HeaderAndFooterContextVisible then
|
|
begin
|
|
if dxRibbon.ActiveTab = rtFooter then
|
|
Preview.State := prsEditFooters
|
|
else
|
|
Preview.State := prsEditHeaders
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbPageSetupClick(Sender: TObject);
|
|
begin
|
|
DoPageSetupReport(2);
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbBackgroundNoFillClick(Sender: TObject);
|
|
begin
|
|
ClearColorItemsSelection;
|
|
Preview.Background.Clear;
|
|
Preview.DoSyncPrintingPageBackground;
|
|
bbBackgroundNoFill.Down := True;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbBackgroundMoreColorsClick(Sender: TObject);
|
|
begin
|
|
with TColorDialog.Create(nil) do
|
|
try
|
|
Color := Preview.Background.Brush.Color;
|
|
if Execute then
|
|
begin
|
|
DoSelectBackgroundColor(Color);
|
|
ClearColorItemsSelection;
|
|
end;
|
|
finally
|
|
Free;
|
|
end;
|
|
end;
|
|
|
|
procedure TdxRibbonPrintPreviewForm.bbBackgroundFillEffectsClick(Sender: TObject);
|
|
begin
|
|
if Preview.Background.SetupEffects then
|
|
begin
|
|
bbBackgroundNoFill.Down := False;
|
|
Preview.DoSyncPrintingPageBackground;
|
|
ClearColorItemsSelection;
|
|
end;
|
|
end;
|
|
|
|
{ TdxPSRibbonPreviewDialogStyleInfo }
|
|
|
|
class function TdxPSRibbonPreviewDialogStyleInfo.CreatePreviewWindow: TdxPSCustomPreviewWindow;
|
|
begin
|
|
with TdxRibbonPrintPreviewForm.Create(nil) do
|
|
Result := Preview;
|
|
end;
|
|
|
|
class function TdxPSRibbonPreviewDialogStyleInfo.GetName: string;
|
|
begin
|
|
Result := 'Ribbon';
|
|
end;
|
|
|
|
class function TdxPSRibbonPreviewDialogStyleInfo.GetUnitName: string;
|
|
begin
|
|
Result := 'dxPSPrVwRibbon';
|
|
end;
|
|
|
|
initialization
|
|
dxPSPopupMenuController.RegisterBuilder(TdxRibbonPSPopupMenuBuilder);
|
|
dxPSAutoHFTextMenuBuilderFactory.RegisterBuilder(TdxRibbonPSAutoHFTextMenuBuilder);
|
|
dxPSPageSetupMenuBuilderFactory.RegisterBuilder(TdxRibbonPSPageSetupMenuBuilder);
|
|
dxPSPreviewDialogManager.RegisterPreviewDialog(TdxPSRibbonPreviewDialogStyleInfo);
|
|
dxPSGlbl.PSCanShowHintFunc := dxBar_DoesNotHaveActivePopup;
|
|
|
|
finalization
|
|
dxPSGlbl.PSCanShowHintFunc := nil;
|
|
dxPSPreviewDialogManager.UnregisterPreviewDialog(TdxPSRibbonPreviewDialogStyleInfo);
|
|
dxPSPageSetupMenuBuilderFactory.UnregisterBuilder(TdxRibbonPSPageSetupMenuBuilder);
|
|
dxPSAutoHFTextMenuBuilderFactory.UnregisterBuilder(TdxRibbonPSAutoHFTextMenuBuilder);
|
|
dxPSPopupMenuController.UnregisterBuilder(TdxRibbonPSPopupMenuBuilder);
|
|
|
|
end.
|
|
|
|
|