git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.DevExpressVCL@32 05c56307-c608-d34a-929d-697000501d7a
198 lines
9.1 KiB
ObjectPascal
198 lines
9.1 KiB
ObjectPascal
{********************************************************************}
|
|
{ }
|
|
{ Developer Express Visual Component Library }
|
|
{ ExpressQuantumGrid Utils }
|
|
{ }
|
|
{ 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 EXPRESSQUANTUMGRID 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 cxGridUITableHelper;
|
|
|
|
{$I cxVer.inc}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, cxGrid, cxGridCustomView, cxGridUIHelper,
|
|
cxGridCustomTableView, cxGridUICustomTableHelper;
|
|
|
|
type
|
|
TcxGridTableViewOperationHelper = class(TcxGridCustomTableViewOperationHelper)
|
|
protected
|
|
procedure RegisterOperations; override;
|
|
procedure DoShowColumnsCustomizing(const AParameter: TcxCustomGridOperationHelperParameters);
|
|
procedure DoShowGroupingPanel(const AParameter: TcxCustomGridOperationHelperParameters);
|
|
procedure DoShowSummaryFooter(const AParameter: TcxCustomGridOperationHelperParameters);
|
|
procedure DoShowGrid(const AParameter: TcxCustomGridOperationHelperParameters);
|
|
procedure DoColumnAutoWidth(const AParameter: TcxCustomGridOperationHelperParameters);
|
|
procedure DoShowPreview(const AParameter: TcxCustomGridOperationHelperParameters);
|
|
procedure DoShowHeaders(const AParameter: TcxCustomGridOperationHelperParameters);
|
|
procedure DoShowColumnCustomize(const AParameter: TcxCustomGridOperationHelperParameters);
|
|
procedure DoInvertSelect(const AParameter: TcxCustomGridOperationHelperParameters);
|
|
procedure DoShowIndicator(const AParameter: TcxCustomGridOperationHelperParameters);
|
|
public
|
|
class function GetViewClass: TcxCustomGridViewClass; override;
|
|
function IsOperationEnabled(AView: TcxCustomGridView; AOperationIndex: Integer): Boolean; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
cxGridTableView, cxGraphics;
|
|
|
|
//TODO move SHow/Hide to public
|
|
|
|
{ TcxGridTableViewOperationHelper }
|
|
procedure TcxGridTableViewOperationHelper.RegisterOperations;
|
|
begin
|
|
inherited RegisterOperations;
|
|
RegisterOperation(GROP_SHOWCOLUMNCUSTOMIZING, DoShowColumnsCustomizing);
|
|
RegisterOperation(GROP_SHOWGROUPINGPANEL, DoShowGroupingPanel);
|
|
RegisterOperation(GROP_SHOWSUMMARYFOOTER, DoShowSummaryFooter);
|
|
RegisterOperation(GROP_SHOWGRID, DoShowGrid);
|
|
RegisterOperation(GROP_COLUMNAUTOWIDTH, DoColumnAutoWidth);
|
|
RegisterOperation(GROP_SHOWPREVIEW, DoShowPreview);
|
|
RegisterOperation(GROP_SHOWHEADERS, DoShowHeaders);
|
|
RegisterOperation(GROP_SHOWCOLUMNCUSTOMIZING, DoShowColumnCustomize);
|
|
RegisterOperation(GROP_INVERTSELECT, DoInvertSelect);
|
|
RegisterOperation(GROP_SHOWINDICATOR, DoShowIndicator);
|
|
end;
|
|
|
|
procedure TcxGridTableViewOperationHelper.DoShowColumnsCustomizing(
|
|
const AParameter: TcxCustomGridOperationHelperParameters);
|
|
begin
|
|
if AParameter.IsPerform then
|
|
(AParameter.View as TcxGridTableView).Controller.Customization := GetShowProperty(AParameter)
|
|
else SetShowProperty(AParameter, (AParameter.View as TcxGridTableView).Controller.Customization);
|
|
end;
|
|
|
|
procedure TcxGridTableViewOperationHelper.DoShowGroupingPanel(
|
|
const AParameter: TcxCustomGridOperationHelperParameters);
|
|
begin
|
|
if AParameter.IsPerform then
|
|
(AParameter.View as TcxGridTableView).OptionsView.GroupByBox := GetShowProperty(AParameter)
|
|
else SetShowProperty(AParameter, (AParameter.View as TcxGridTableView).OptionsView.GroupByBox);
|
|
end;
|
|
|
|
procedure TcxGridTableViewOperationHelper.DoShowSummaryFooter(
|
|
const AParameter: TcxCustomGridOperationHelperParameters);
|
|
begin
|
|
if AParameter.IsPerform then
|
|
(AParameter.View as TcxGridTableView).OptionsView.Footer := GetShowProperty(AParameter)
|
|
else SetShowProperty(AParameter, (AParameter.View as TcxGridTableView).OptionsView.Footer);
|
|
end;
|
|
|
|
procedure TcxGridTableViewOperationHelper.DoShowGrid(
|
|
const AParameter: TcxCustomGridOperationHelperParameters);
|
|
const
|
|
GridLinesToBool: Array[TcxGridLines] of Boolean = (True, False, False, False);
|
|
BoolToGridLines: Array[Boolean] of TcxGridLines = (glNone, glBoth);
|
|
begin
|
|
if AParameter.IsPerform then
|
|
(AParameter.View as TcxGridTableView).OptionsView.GridLines := BoolToGridLines[GetShowProperty(AParameter)]
|
|
else SetShowProperty(AParameter, GridLinesToBool[(AParameter.View as TcxGridTableView).OptionsView.GridLines]);
|
|
end;
|
|
|
|
procedure TcxGridTableViewOperationHelper.DoColumnAutoWidth(
|
|
const AParameter: TcxCustomGridOperationHelperParameters);
|
|
begin
|
|
if AParameter.IsPerform then
|
|
(AParameter.View as TcxGridTableView).OptionsView.ColumnAutoWidth := GetShowProperty(AParameter)
|
|
else SetShowProperty(AParameter, (AParameter.View as TcxGridTableView).OptionsView.ColumnAutoWidth);
|
|
end;
|
|
|
|
procedure TcxGridTableViewOperationHelper.DoShowPreview(
|
|
const AParameter: TcxCustomGridOperationHelperParameters);
|
|
begin
|
|
if AParameter.IsPerform then
|
|
(AParameter.View as TcxGridTableView).Preview.Visible := GetShowProperty(AParameter)
|
|
else SetShowProperty(AParameter, (AParameter.View as TcxGridTableView).Preview.Visible);
|
|
end;
|
|
|
|
procedure TcxGridTableViewOperationHelper.DoShowHeaders(
|
|
const AParameter: TcxCustomGridOperationHelperParameters);
|
|
begin
|
|
if AParameter.IsPerform then
|
|
(AParameter.View as TcxGridTableView).OptionsView.Header := GetShowProperty(AParameter)
|
|
else SetShowProperty(AParameter, (AParameter.View as TcxGridTableView).OptionsView.Header);
|
|
end;
|
|
|
|
class function TcxGridTableViewOperationHelper.GetViewClass: TcxCustomGridViewClass;
|
|
begin
|
|
Result := TcxGridTableView;
|
|
end;
|
|
|
|
function TcxGridTableViewOperationHelper.IsOperationEnabled(AView: TcxCustomGridView;
|
|
AOperationIndex: Integer): Boolean;
|
|
begin
|
|
case AOperationIndex of
|
|
GROP_SHOWINDICATOR:
|
|
Result := not (AView as TcxGridTableView).ViewInfo.IndicatorViewInfo.AlwaysVisible;
|
|
GROP_SHOWPREVIEW:
|
|
Result := (AView as TcxGridTableView).Preview.Column <> nil;
|
|
else
|
|
Result := inherited IsOperationEnabled(AView, AOperationIndex);
|
|
end;
|
|
end;
|
|
|
|
procedure TcxGridTableViewOperationHelper.DoShowColumnCustomize(
|
|
const AParameter: TcxCustomGridOperationHelperParameters);
|
|
begin
|
|
if AParameter.IsPerform then
|
|
TcxGridTableView(AParameter.View).Controller.Customization :=
|
|
TcxShowingGridOperationHelperParameters(AParameter).Showing
|
|
else SetShowProperty(AParameter,
|
|
TcxGridTableView(AParameter.View).Controller.Customization);
|
|
end;
|
|
|
|
procedure TcxGridTableViewOperationHelper.DoInvertSelect(
|
|
const AParameter: TcxCustomGridOperationHelperParameters);
|
|
begin
|
|
if AParameter.IsPerform then
|
|
TcxGridTableView(AParameter.View).OptionsSelection.InvertSelect :=
|
|
TcxShowingGridOperationHelperParameters(AParameter).Showing
|
|
else SetShowProperty(AParameter,
|
|
TcxGridTableView(AParameter.View).OptionsSelection.InvertSelect);
|
|
end;
|
|
|
|
procedure TcxGridTableViewOperationHelper.DoShowIndicator(
|
|
const AParameter: TcxCustomGridOperationHelperParameters);
|
|
begin
|
|
if AParameter.IsPerform then
|
|
TcxGridTableView(AParameter.View).OptionsView.Indicator :=
|
|
TcxShowingGridOperationHelperParameters(AParameter).Showing
|
|
else SetShowProperty(AParameter,
|
|
TcxGridTableView(AParameter.View).OptionsView.Indicator);
|
|
end;
|
|
|
|
initialization
|
|
RegisterGridViewOperationHelper(TcxGridTableViewOperationHelper);
|
|
|
|
end.
|