git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.DevExpressVCL@21 05c56307-c608-d34a-929d-697000501d7a
457 lines
14 KiB
ObjectPascal
457 lines
14 KiB
ObjectPascal
unit StylesMultiMain;
|
|
|
|
{$I ..\cxVer.inc}
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
|
|
Dialogs, DemoBasicMain, cxControls, cxCustomPivotGrid, cxDBPivotGrid,
|
|
cxLookAndFeels, Menus, StdCtrls, DemoBasicDM, cxLookAndFeelPainters,
|
|
ExtCtrls, cxListBox, cxGroupBox, cxRadioGroup, cxButtons, cxContainer,
|
|
cxEdit, cxStyles, cxPivotGridPredefinedStyles, cxClasses,
|
|
cxStyleSheetEditor, cxPivotGridStyleSheetsPreview, cxGraphics,
|
|
cxCustomData;
|
|
|
|
type
|
|
TfrmStylesMulti = class(TfrmDemoBaisicMain)
|
|
DBPivotGrid: TcxDBPivotGrid;
|
|
pnlLeft: TPanel;
|
|
gbUserDefined: TcxGroupBox;
|
|
cbUserStyleSheets: TComboBox;
|
|
btnLoad: TcxButton;
|
|
btnSave: TcxButton;
|
|
btnEdit: TcxButton;
|
|
RadioGroup: TcxRadioGroup;
|
|
gbPredefined: TcxGroupBox;
|
|
lbPredefinedStyleSheets: TcxListBox;
|
|
pnlCurrentStyleSheet: TPanel;
|
|
Splitter: TSplitter;
|
|
PivotGridPurchaseDate: TcxDBPivotGridField;
|
|
PivotGridPaymentType: TcxDBPivotGridField;
|
|
PivotGridQuantity: TcxDBPivotGridField;
|
|
PivotGridCarName: TcxDBPivotGridField;
|
|
PivotGridUnitPrice: TcxDBPivotGridField;
|
|
PivotGridCompanyName: TcxDBPivotGridField;
|
|
PivotGridPaymentAmount: TcxDBPivotGridField;
|
|
srPredefined: TcxStyleRepository;
|
|
ClassicBackground: TcxStyle;
|
|
ClassicContent: TcxStyle;
|
|
ClassicHeader: TcxStyle;
|
|
ClassicInactive: TcxStyle;
|
|
ClassicSelection: TcxStyle;
|
|
cxStyle2: TcxStyle;
|
|
cxStyle3: TcxStyle;
|
|
cxStyle6: TcxStyle;
|
|
cxStyle10: TcxStyle;
|
|
cxStyle13: TcxStyle;
|
|
cxStyle14: TcxStyle;
|
|
cxStyle17: TcxStyle;
|
|
cxStyle21: TcxStyle;
|
|
cxStyle24: TcxStyle;
|
|
cxStyle25: TcxStyle;
|
|
cxStyle28: TcxStyle;
|
|
cxStyle32: TcxStyle;
|
|
cxStyle35: TcxStyle;
|
|
cxStyle36: TcxStyle;
|
|
cxStyle39: TcxStyle;
|
|
cxStyle43: TcxStyle;
|
|
cxStyle46: TcxStyle;
|
|
cxStyle47: TcxStyle;
|
|
cxStyle50: TcxStyle;
|
|
cxStyle54: TcxStyle;
|
|
cxStyle57: TcxStyle;
|
|
cxStyle58: TcxStyle;
|
|
cxStyle61: TcxStyle;
|
|
cxStyle65: TcxStyle;
|
|
cxStyle68: TcxStyle;
|
|
cxStyle69: TcxStyle;
|
|
cxStyle72: TcxStyle;
|
|
cxStyle76: TcxStyle;
|
|
cxStyle79: TcxStyle;
|
|
cxStyle80: TcxStyle;
|
|
cxStyle83: TcxStyle;
|
|
cxStyle87: TcxStyle;
|
|
cxStyle90: TcxStyle;
|
|
cxStyle91: TcxStyle;
|
|
cxStyle94: TcxStyle;
|
|
cxStyle98: TcxStyle;
|
|
cxStyle101: TcxStyle;
|
|
cxStyle102: TcxStyle;
|
|
cxStyle105: TcxStyle;
|
|
cxStyle109: TcxStyle;
|
|
cxStyle112: TcxStyle;
|
|
cxStyle113: TcxStyle;
|
|
cxStyle116: TcxStyle;
|
|
cxStyle120: TcxStyle;
|
|
cxStyle123: TcxStyle;
|
|
cxStyle124: TcxStyle;
|
|
cxStyle127: TcxStyle;
|
|
cxStyle131: TcxStyle;
|
|
cxStyle134: TcxStyle;
|
|
cxStyle135: TcxStyle;
|
|
cxStyle138: TcxStyle;
|
|
cxStyle142: TcxStyle;
|
|
cxStyle145: TcxStyle;
|
|
cxStyle146: TcxStyle;
|
|
cxStyle149: TcxStyle;
|
|
cxStyle153: TcxStyle;
|
|
cxStyle156: TcxStyle;
|
|
cxStyle157: TcxStyle;
|
|
cxStyle160: TcxStyle;
|
|
cxStyle164: TcxStyle;
|
|
cxStyle167: TcxStyle;
|
|
cxStyle168: TcxStyle;
|
|
cxStyle171: TcxStyle;
|
|
cxStyle175: TcxStyle;
|
|
cxStyle178: TcxStyle;
|
|
cxStyle179: TcxStyle;
|
|
cxStyle182: TcxStyle;
|
|
cxStyle186: TcxStyle;
|
|
cxStyle189: TcxStyle;
|
|
cxStyle190: TcxStyle;
|
|
cxStyle193: TcxStyle;
|
|
cxStyle197: TcxStyle;
|
|
cxStyle200: TcxStyle;
|
|
cxStyle201: TcxStyle;
|
|
cxStyle204: TcxStyle;
|
|
cxStyle208: TcxStyle;
|
|
cxStyle211: TcxStyle;
|
|
cxStyle212: TcxStyle;
|
|
cxStyle215: TcxStyle;
|
|
cxStyle219: TcxStyle;
|
|
cxStyle222: TcxStyle;
|
|
cxStyle223: TcxStyle;
|
|
cxStyle226: TcxStyle;
|
|
cxStyle230: TcxStyle;
|
|
cxStyle233: TcxStyle;
|
|
cxStyle234: TcxStyle;
|
|
cxStyle237: TcxStyle;
|
|
cxStyle241: TcxStyle;
|
|
cxStyle244: TcxStyle;
|
|
cxStyle245: TcxStyle;
|
|
cxStyle248: TcxStyle;
|
|
cxStyle252: TcxStyle;
|
|
cxStyle255: TcxStyle;
|
|
cxStyle256: TcxStyle;
|
|
cxStyle259: TcxStyle;
|
|
cxStyle263: TcxStyle;
|
|
cxStyle266: TcxStyle;
|
|
cxStyle267: TcxStyle;
|
|
cxStyle270: TcxStyle;
|
|
cxStyle274: TcxStyle;
|
|
cxStyle277: TcxStyle;
|
|
cxStyle278: TcxStyle;
|
|
cxStyle281: TcxStyle;
|
|
cxStyle285: TcxStyle;
|
|
cxStyle286: TcxStyle;
|
|
cxStyle288: TcxStyle;
|
|
cxStyle289: TcxStyle;
|
|
cxStyle292: TcxStyle;
|
|
cxStyle296: TcxStyle;
|
|
cxStyle297: TcxStyle;
|
|
cxStyle299: TcxStyle;
|
|
cxStyle300: TcxStyle;
|
|
cxStyle303: TcxStyle;
|
|
cxStyle307: TcxStyle;
|
|
cxStyle308: TcxStyle;
|
|
cxStyle310: TcxStyle;
|
|
cxStyle311: TcxStyle;
|
|
cxStyle314: TcxStyle;
|
|
cxStyle318: TcxStyle;
|
|
cxStyle319: TcxStyle;
|
|
cxStyle321: TcxStyle;
|
|
cxStyle322: TcxStyle;
|
|
cxStyle325: TcxStyle;
|
|
cxStyle329: TcxStyle;
|
|
cxStyle330: TcxStyle;
|
|
cxStyle332: TcxStyle;
|
|
cxStyle333: TcxStyle;
|
|
cxStyle336: TcxStyle;
|
|
cxStyle340: TcxStyle;
|
|
cxStyle341: TcxStyle;
|
|
cxStyle343: TcxStyle;
|
|
cxStyle344: TcxStyle;
|
|
cxStyle347: TcxStyle;
|
|
cxStyle351: TcxStyle;
|
|
cxStyle354: TcxStyle;
|
|
cxStyle355: TcxStyle;
|
|
cxStyle358: TcxStyle;
|
|
cxStyle362: TcxStyle;
|
|
PivotGridStyleSheetDevExpress: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetUserFormat1: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetUserFormat2: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetUserFormat3: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetUserFormat4: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetBrick: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetDesert: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetEggplant: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetLilac: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetMaple: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetMarinehighcolor: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetPlumhighcolor: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetPumpkinlarge: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetRainyDay: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetRedWhiteandBlueVGA: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetRose: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetRoselarge: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetSlate: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetSpruce: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetStormVGA: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetTealVGA: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetWheat: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetWindowsClassic: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetWindowsClassiclarge: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetWindowsStandard: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetWindowsStandardlarge: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetHighContrast1: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetHighContrast1large: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetHighContrast2: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetHighContrast2large: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetHighContrastBlack: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetHighContrastBlacklarge: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetHighContrastWhite: TcxPivotGridStyleSheet;
|
|
PivotGridStyleSheetHighContrastWhitelarge: TcxPivotGridStyleSheet;
|
|
OpenDialog: TOpenDialog;
|
|
SaveDialog1: TSaveDialog;
|
|
srUserDefined: TcxStyleRepository;
|
|
cxStyle378: TcxStyle;
|
|
cxStyle379: TcxStyle;
|
|
cxStyle380: TcxStyle;
|
|
cxStyle381: TcxStyle;
|
|
cxStyle382: TcxStyle;
|
|
cxStyle383: TcxStyle;
|
|
cxStyle384: TcxStyle;
|
|
cxStyle385: TcxStyle;
|
|
cxStyle386: TcxStyle;
|
|
cxStyle387: TcxStyle;
|
|
cxStyle388: TcxStyle;
|
|
cxStyle389: TcxStyle;
|
|
cxStyle390: TcxStyle;
|
|
cxStyle391: TcxStyle;
|
|
cxStyle392: TcxStyle;
|
|
cxStyle393: TcxStyle;
|
|
cxStyle394: TcxStyle;
|
|
cxStyle395: TcxStyle;
|
|
cxStyle396: TcxStyle;
|
|
cxStyle397: TcxStyle;
|
|
cxStyle398: TcxStyle;
|
|
cxStyle399: TcxStyle;
|
|
cxStyle400: TcxStyle;
|
|
cxStyle401: TcxStyle;
|
|
cxStyle402: TcxStyle;
|
|
cxStyle403: TcxStyle;
|
|
cxStyle404: TcxStyle;
|
|
cxStyle405: TcxStyle;
|
|
cxPivotGridStyleSheet1: TcxPivotGridStyleSheet;
|
|
cxPivotGridStyleSheet2: TcxPivotGridStyleSheet;
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure btnSaveClick(Sender: TObject);
|
|
procedure btnLoadClick(Sender: TObject);
|
|
procedure RadioGroupClick(Sender: TObject);
|
|
procedure FormActivate(Sender: TObject);
|
|
procedure cbUserStyleSheetsChange(Sender: TObject);
|
|
procedure lbPredefinedStyleSheetsClick(Sender: TObject);
|
|
procedure btnEditClick(Sender: TObject);
|
|
protected
|
|
procedure ChangeVisibility(AType: Integer);
|
|
procedure ClearUserDefinedStyleSheets;
|
|
procedure CreatePredefinedStyleSheetsList;
|
|
procedure CreateUserStyleSheetsList;
|
|
function GetCurrentStyleSheet: TcxPivotGridStyleSheet;
|
|
procedure LoadUserDefinedStyleSheets(AFileName: TFileName);
|
|
procedure SaveUserDefinedStyleSheets(AFileName: TFileName);
|
|
procedure SetPredefinedStyleSheets;
|
|
procedure SetUserDefinedStyleSheets;
|
|
procedure UpdateGridStyleSheets(const AStyleSheet: TcxPivotGridStyleSheet);
|
|
function GetPivotGrid: TcxCustomPivotGrid; override;
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
frmStylesMulti: TfrmStylesMulti;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
const
|
|
cNone = 0;
|
|
cPredefined = 1;
|
|
cUserDefined = 2;
|
|
|
|
function TfrmStylesMulti.GetPivotGrid: TcxCustomPivotGrid;
|
|
begin
|
|
Result := DBPivotGrid;
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.CreateUserStyleSheetsList;
|
|
var
|
|
I: Integer;
|
|
begin
|
|
cbUserStyleSheets.Clear;
|
|
with srUserDefined do
|
|
begin
|
|
for I := 0 to StyleSheetCount - 1 do
|
|
cbUserStyleSheets.Items.AddObject(StyleSheets[I].Caption, StyleSheets[I]);
|
|
end;
|
|
cbUserStyleSheets.ItemIndex := 0;
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.CreatePredefinedStyleSheetsList;
|
|
var
|
|
I: Integer;
|
|
begin
|
|
lbPredefinedStyleSheets.Clear;
|
|
with srPredefined do
|
|
begin
|
|
for I := 0 to StyleSheetCount - 1 do
|
|
lbPredefinedStyleSheets.Items.AddObject(StyleSheets[I].Caption, StyleSheets[I]);
|
|
end;
|
|
lbPredefinedStyleSheets.ItemIndex := 0;
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.UpdateGridStyleSheets(const AStyleSheet: TcxPivotGridStyleSheet);
|
|
begin
|
|
if GetCurrentStyleSheet = AStyleSheet then
|
|
Exit;
|
|
PivotGrid.Styles.StyleSheet := AStyleSheet;
|
|
if AStyleSheet <> nil then
|
|
pnlCurrentStyleSheet.Caption := AStyleSheet.Caption
|
|
else
|
|
pnlCurrentStyleSheet.Caption := '';
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.SetUserDefinedStyleSheets;
|
|
begin
|
|
with cbUserStyleSheets do
|
|
if Items.Count > 0 then
|
|
UpdateGridStyleSheets(TcxPivotGridStyleSheet(Items.Objects[ItemIndex]));
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.SetPredefinedStyleSheets;
|
|
begin
|
|
with lbPredefinedStyleSheets do
|
|
if Items.Count > 0 then
|
|
UpdateGridStyleSheets(TcxPivotGridStyleSheet(Items.Objects[ItemIndex]));
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.ChangeVisibility(AType: Integer);
|
|
begin
|
|
cbUserStyleSheets.Enabled := AType = cUserDefined;
|
|
gbUserDefined.Enabled := AType = cUserDefined;
|
|
btnEdit.Enabled := AType = cUserDefined;
|
|
btnLoad.Enabled := AType = cUserDefined;
|
|
btnSave.Enabled := AType = cUserDefined;
|
|
|
|
lbPredefinedStyleSheets.Enabled := AType = cPredefined;
|
|
end;
|
|
|
|
function TfrmStylesMulti.GetCurrentStyleSheet: TcxPivotGridStyleSheet;
|
|
begin
|
|
Result := TcxPivotGridStyleSheet(PivotGrid.Styles.StyleSheet);
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.LoadUserDefinedStyleSheets(AFileName: TFileName);
|
|
begin
|
|
UpdateGridStyleSheets(nil);
|
|
ClearUserDefinedStyleSheets;
|
|
|
|
LoadStyleSheetsFromIniFile(AFileName, srUserDefined, TcxPivotGridStyleSheet);
|
|
|
|
CreateUserStyleSheetsList;
|
|
SetUserDefinedStyleSheets;
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.SaveUserDefinedStyleSheets(AFileName: TFileName);
|
|
var
|
|
I: Integer;
|
|
AList: TList;
|
|
begin
|
|
AList := TList.Create;
|
|
try
|
|
for I := 0 to srUserDefined.StyleSheetCount - 1 do
|
|
AList.Add(srUserDefined.StyleSheets[I]);
|
|
SaveStyleSheetsToIniFile(AFileName, AList);
|
|
finally
|
|
AList.Free;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.ClearUserDefinedStyleSheets;
|
|
begin
|
|
with srUserDefined do
|
|
begin
|
|
Clear;
|
|
ClearStyleSheets;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.FormActivate(Sender: TObject);
|
|
begin
|
|
OpenDialog.InitialDir := ExtractFileDir(Application.ExeName);
|
|
SaveDialog1.InitialDir := OpenDialog.InitialDir;
|
|
PivotGridCarName.Area := faRow;
|
|
end;
|
|
|
|
|
|
procedure TfrmStylesMulti.cbUserStyleSheetsChange(
|
|
Sender: TObject);
|
|
begin
|
|
SetUserDefinedStyleSheets;
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.lbPredefinedStyleSheetsClick(
|
|
Sender: TObject);
|
|
begin
|
|
SetPredefinedStyleSheets;
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.btnEditClick(
|
|
Sender: TObject);
|
|
begin
|
|
with cbUserStyleSheets do
|
|
ShowcxStyleSheetEditor(TcxPivotGridStyleSheet(Items.Objects[ItemIndex]), nil);
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.btnSaveClick(Sender: TObject);
|
|
begin
|
|
with SaveDialog1 do
|
|
if Execute then
|
|
SaveUserDefinedStyleSheets(FileName);
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.btnLoadClick(Sender: TObject);
|
|
begin
|
|
with OpenDialog do
|
|
if Execute then
|
|
LoadUserDefinedStyleSheets(FileName);
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.RadioGroupClick(Sender: TObject);
|
|
begin
|
|
case TcxRadioGroup(Sender).ItemIndex of
|
|
cNone:
|
|
UpdateGridStyleSheets(nil);
|
|
cPredefined:
|
|
SetPredefinedStyleSheets;
|
|
cUserDefined:
|
|
SetUserDefinedStyleSheets;
|
|
end;
|
|
ChangeVisibility(TcxRadioGroup(Sender).ItemIndex);
|
|
end;
|
|
|
|
procedure TfrmStylesMulti.FormCreate(Sender: TObject);
|
|
begin
|
|
lfController.NativeStyle := False;
|
|
lfController.Kind := lfUltraFlat;
|
|
CreateUserStyleSheetsList;
|
|
CreatePredefinedStyleSheetsList;
|
|
SetPredefinedStyleSheets;
|
|
end;
|
|
|
|
|
|
end.
|