You've already forked lazarus-ccr
tvplanit: Improved layout of printformat element editor in VpEdElem
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8512 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@@ -49,26 +49,32 @@ type
|
||||
TfrmEditElement = class(TForm)
|
||||
BevelHeightWidth: TBevel;
|
||||
BevelTopLeft: TBevel;
|
||||
BevelTopLeft1: TBevel;
|
||||
btnCancel: TButton;
|
||||
btnOk: TButton;
|
||||
btnShape: TButton;
|
||||
edName: TEdit;
|
||||
gbDayOffset: TGroupBox;
|
||||
gbPosition: TGroupBox;
|
||||
lblName: TLabel;
|
||||
Panel1: TPanel;
|
||||
DayOffsetPanel: TPanel;
|
||||
ButtonPanel: TPanel;
|
||||
ItemTypePanel: TPanel;
|
||||
HeightWidthPanel: TPanel;
|
||||
Panel2: TPanel;
|
||||
PositionPanel: TPanel;
|
||||
rbPixels: TRadioButton;
|
||||
rbPercent: TRadioButton;
|
||||
rbInches: TRadioButton;
|
||||
rbCentimeters: TRadioButton;
|
||||
TopLeftPanel: TPanel;
|
||||
rgDayOffsetUnit: TRadioGroup;
|
||||
rgItemType: TRadioGroup;
|
||||
gbVisual: TGroupBox;
|
||||
LblTop: TLabel;
|
||||
LblLeft: TLabel;
|
||||
LblHeight: TLabel;
|
||||
LblWidth: TLabel;
|
||||
rgMeasurement: TRadioGroup;
|
||||
rgRotation: TRadioGroup;
|
||||
edTop: TEdit;
|
||||
edLeft: TEdit;
|
||||
@@ -89,14 +95,14 @@ type
|
||||
procedure btnCancelClick(Sender: TObject);
|
||||
procedure btnOkClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure rgItemTypeClick(Sender: TObject);
|
||||
procedure btnShapeClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure btnCaptionFontClick(Sender: TObject);
|
||||
procedure edCaptionTextChange(Sender: TObject);
|
||||
procedure rgMeasurementClick(Sender: TObject);
|
||||
procedure PosEditExit(Sender: TObject);
|
||||
procedure PosEditEnter(Sender: TObject);
|
||||
procedure MeasurementUnitChange(Sender: TObject);
|
||||
procedure UpDownClick(Sender: TObject; Button: TUDBtnType);
|
||||
private
|
||||
procedure PositionControls;
|
||||
@@ -106,8 +112,8 @@ type
|
||||
TheShape: TVpPrintShape;
|
||||
TheCaption: TVpPrintCaption;
|
||||
CurEdit: TEdit;
|
||||
|
||||
MaxSpin: Integer;
|
||||
function GetUnitIndex: Integer;
|
||||
procedure SaveData(AnElement: TVpPrintFormatElementItem);
|
||||
procedure SetData(AnElement: TVpPrintFormatElementItem);
|
||||
procedure SetItemType(Index: Integer);
|
||||
@@ -122,6 +128,7 @@ type
|
||||
implementation
|
||||
|
||||
uses
|
||||
Math,
|
||||
VpMisc, VpEdShape;
|
||||
|
||||
{$IFDEF LCL}
|
||||
@@ -149,14 +156,31 @@ begin
|
||||
lblCaptionText.Enabled := False;
|
||||
btnCaptionFont.Enabled := False;
|
||||
|
||||
for i:=0 to rgDayOffsetUnit.ComponentCount-1 do
|
||||
TRadioButton(rgDayOffsetUnit.Components[i]).ParentFont := false;
|
||||
for i:=0 to rgDayOffsetUnit.ControlCount-1 do
|
||||
TRadioButton(rgDayOffsetUnit.Controls[i]).ParentFont := false;
|
||||
rgDayOffsetUnit.Font.Style := [fsBold];
|
||||
|
||||
for i:=0 to rgItemType.ComponentCount-1 do
|
||||
TRadioButton(rgItemType.Components[i]).ParentFont := false;
|
||||
for i:=0 to rgItemType.ControlCount-1 do
|
||||
TRadioButton(rgItemType.Controls[i]).ParentFont := false;
|
||||
rgItemType.Font.Style := [fsBold];
|
||||
|
||||
for i:=0 to rgRotation.ControlCount-1 do
|
||||
TRadioButton(rgRotation.Controls[i]).ParentFont := false;
|
||||
rgItemType.Font.Style := [fsBold];
|
||||
|
||||
for i:= 0 to gbPosition.ControlCount-1 do
|
||||
begin
|
||||
if gbPosition.Controls[i] is TLabel then
|
||||
TLabel(gbPosition.Controls[i]).ParentFont := false
|
||||
else if gbPosition.Controls[i] is TEdit then
|
||||
TEdit(gbPosition.Controls[i]).ParentFont := false
|
||||
else if gbPosition.Controls[i] is TCheckbox then
|
||||
TCheckbox(gbPosition.Controls[i]).ParentFont := false
|
||||
else if gbPosition.Controls[i] is TPanel then
|
||||
TPanel(gbPosition.Controls[i]).ParentFont := false;
|
||||
end;
|
||||
gbPosition.Font.Style := [fsBold];
|
||||
|
||||
SetCaptions;
|
||||
end;
|
||||
|
||||
@@ -210,11 +234,30 @@ begin
|
||||
SaveData(AnElement);
|
||||
end;
|
||||
|
||||
function TfrmEditElement.GetUnitIndex: Integer;
|
||||
begin
|
||||
if rbPixels.Checked then
|
||||
Result := 0
|
||||
else if rbPercent.Checked then
|
||||
Result := 1
|
||||
else if rbInches.Checked then
|
||||
Result := 2
|
||||
else if rbCentimeters.Checked then
|
||||
Result := 3
|
||||
else
|
||||
raise Exception.Create('GetUnitIndex: unknown control');
|
||||
end;
|
||||
|
||||
procedure TfrmEditElement.PosEditEnter(Sender: TObject);
|
||||
begin
|
||||
CurEdit := (Sender as TEdit);
|
||||
end;
|
||||
|
||||
procedure TfrmEditElement.MeasurementUnitChange(Sender: TObject);
|
||||
begin
|
||||
SetMaxSpin(GetUnitIndex);
|
||||
end;
|
||||
|
||||
procedure TfrmEditElement.PosEditExit(Sender: TObject);
|
||||
var
|
||||
ed: TEdit;
|
||||
@@ -241,11 +284,6 @@ begin
|
||||
SetItemType(rgItemType.ItemIndex);
|
||||
end;
|
||||
|
||||
procedure TfrmEditElement.rgMeasurementClick(Sender: TObject);
|
||||
begin
|
||||
SetMaxSpin(rgMeasurement.ItemIndex);
|
||||
end;
|
||||
|
||||
procedure TfrmEditElement.SaveData(AnElement: TVpPrintFormatElementItem);
|
||||
begin
|
||||
AnElement.ElementName := edName.Text;
|
||||
@@ -261,7 +299,7 @@ begin
|
||||
|
||||
AnElement.DayOffsetUnits := TVpDayUnits(rgDayOffsetUnit.ItemIndex);
|
||||
AnElement.Rotation := TVpRotationAngle(rgRotation.ItemIndex);
|
||||
AnElement.Measurement := TVpItemMeasurement(rgMeasurement.ItemIndex);
|
||||
AnElement.Measurement := TVpItemMeasurement(GetUnitIndex);
|
||||
|
||||
AnElement.Visible := chkVisible.Checked;
|
||||
end;
|
||||
@@ -289,12 +327,10 @@ begin
|
||||
rgDayOffsetUnit.Items[2] := RSMonths;
|
||||
rgDayOffsetUnit.Items[3] := RSYears;
|
||||
|
||||
gbVisual.Caption := RSVisualCaption;
|
||||
rgRotation.Caption := RSRotationCaption;
|
||||
rgMeasurement.Caption := RSMeasurementCaption;
|
||||
rgMeasurement.Items[0] := RSPixels;
|
||||
rgMeasurement.Items[1] := RSPercent;
|
||||
rgMeasurement.Items[2] := RSInches;
|
||||
rbPixels.Caption := RSPixels;
|
||||
rbPercent.Caption := RSPercent;
|
||||
rbInches.Caption := RSInches;
|
||||
lblLeft.Caption := RSLeft;
|
||||
lblTop.Caption := RSTop;
|
||||
lblWidth.Caption := RSWidth;
|
||||
@@ -321,6 +357,11 @@ begin
|
||||
|
||||
BevelTopLeft.Shape := bsSpacer;
|
||||
BevelHeightWidth.Shape := bsSpacer;
|
||||
|
||||
rgRotation.Constraints.MinWidth := gbDayOffset.Width;
|
||||
btnShape.Constraints.MinWidth := MaxValue([btnShape.Width, btnOK.Width, btnCancel.Width]);
|
||||
btnOK.Constraints.MinWidth := btnShape.Constraints.MinWidth;
|
||||
btnCancel.Constraints.MinWidth := btnShape.Constraints.MinWidth;
|
||||
end;
|
||||
|
||||
procedure TfrmEditElement.SetData(AnElement : TVpPrintFormatElementItem);
|
||||
@@ -335,8 +376,13 @@ begin
|
||||
|
||||
rgDayOffsetUnit.ItemIndex := Ord(AnElement.DayOffsetUnits);
|
||||
rgRotation.ItemIndex := Ord(AnElement.Rotation);
|
||||
rgMeasurement.ItemIndex := Ord(AnElement.Measurement);
|
||||
SetMaxSpin(rgMeasurement.ItemIndex);
|
||||
case AnElement.Measurement of
|
||||
imAbsolutePixel: rbPixels.Checked := true;
|
||||
imPercent: rbPercent.Checked := true;
|
||||
imInches: rbInches.Checked := true;
|
||||
imCentimeters: rbCentimeters.Checked := true;
|
||||
end;
|
||||
SetMaxSpin(Ord(AnElement.Measurement));
|
||||
|
||||
edTop.Text := EvalFmt(AnElement.Top);
|
||||
udTop.Position := Trunc(AnElement.Top);
|
||||
|
Reference in New Issue
Block a user