diff --git a/components/tvplanit/laz_visualplanit.lpk b/components/tvplanit/laz_visualplanit.lpk
index 26e84b8d4..898998476 100644
--- a/components/tvplanit/laz_visualplanit.lpk
+++ b/components/tvplanit/laz_visualplanit.lpk
@@ -12,6 +12,11 @@
+
+
+
+
+
diff --git a/components/tvplanit/source/vptaskeditdlg.lfm b/components/tvplanit/source/vptaskeditdlg.lfm
index 459f784e4..b6fa632fd 100644
--- a/components/tvplanit/source/vptaskeditdlg.lfm
+++ b/components/tvplanit/source/vptaskeditdlg.lfm
@@ -1,58 +1,72 @@
object TaskEditForm: TTaskEditForm
Left = 284
- Height = 411
- Top = 253
+ Height = 433
+ Top = 231
Width = 547
HorzScrollBar.Page = 545
VertScrollBar.Page = 339
Caption = 'TaskEditForm'
- ClientHeight = 411
+ ClientHeight = 433
ClientWidth = 547
OnCreate = FormCreate
OnShow = FormShow
Position = poScreenCenter
- LCLVersion = '1.7'
+ LCLVersion = '1.9.0.0'
object ButtonPanel: TPanel
Left = 0
- Height = 37
- Top = 374
+ Height = 33
+ Top = 400
Width = 547
Align = alBottom
+ AutoSize = True
BevelOuter = bvNone
- ClientHeight = 37
+ ClientHeight = 33
ClientWidth = 547
TabOrder = 1
object ResourceNameLbl: TLabel
- Left = 6
- Height = 16
+ AnchorSideLeft.Control = ButtonPanel
+ AnchorSideTop.Control = ButtonPanel
+ AnchorSideTop.Side = asrCenter
+ Left = 4
+ Height = 17
Top = 8
- Width = 100
+ Width = 108
+ BorderSpacing.Left = 4
Caption = 'Resource Name'
Font.CharSet = ANSI_CHARSET
Font.Color = clMaroon
- Font.Height = -13
+ Font.Height = -14
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object OKBtn: TButton
- Left = 388
+ AnchorSideTop.Control = CancelBtn
+ AnchorSideBottom.Control = CancelBtn
+ AnchorSideBottom.Side = asrBottom
+ Left = 376
Height = 25
- Top = 6
- Width = 75
- Anchors = [akTop, akRight]
+ Top = 4
+ Width = 86
+ Anchors = [akTop, akRight, akBottom]
+ BorderSpacing.Right = 4
Caption = 'OK'
Default = True
OnClick = OKBtnClick
TabOrder = 0
end
object CancelBtn: TButton
- Left = 466
+ AnchorSideRight.Side = asrBottom
+ Left = 479
Height = 25
- Top = 6
- Width = 75
+ Top = 4
+ Width = 62
Anchors = [akTop, akRight]
+ AutoSize = True
+ BorderSpacing.Top = 4
+ BorderSpacing.Right = 4
+ BorderSpacing.Bottom = 4
Cancel = True
Caption = 'Cancel'
OnClick = CancelBtnClick
@@ -61,7 +75,7 @@ object TaskEditForm: TTaskEditForm
end
object PageControl1: TPageControl
Left = 0
- Height = 374
+ Height = 400
Top = 0
Width = 547
TabStop = False
@@ -71,47 +85,60 @@ object TaskEditForm: TTaskEditForm
TabOrder = 0
object tabTask: TTabSheet
Caption = 'Task'
- ClientHeight = 346
+ ClientHeight = 372
ClientWidth = 539
object DueDateLbl: TLabel
+ AnchorSideTop.Control = DueDateEdit
+ AnchorSideTop.Side = asrCenter
Left = 52
Height = 15
- Top = 78
+ Top = 68
Width = 50
Caption = 'Due date:'
FocusControl = DueDateEdit
ParentColor = False
end
object LblCreatedOn: TLabel
+ AnchorSideTop.Control = DueDateEdit
+ AnchorSideTop.Side = asrBottom
Left = 52
Height = 15
- Top = 103
+ Top = 91
Width = 61
+ BorderSpacing.Top = 4
Caption = 'Created on:'
ParentColor = False
end
object LblCompletedOn: TLabel
+ AnchorSideTop.Control = LblCreatedOn
Left = 333
Height = 15
- Top = 103
+ Top = 91
Width = 79
+ BorderSpacing.Right = 4
Caption = 'Completed on:'
ParentColor = False
end
object Bevel1: TBevel
+ AnchorSideTop.Control = CbCategory
+ AnchorSideTop.Side = asrBottom
Left = 4
Height = 2
- Top = 64
+ Top = 58
Width = 529
Anchors = [akTop, akLeft, akRight]
+ BorderSpacing.Top = 4
Shape = bsTopLine
end
object imgCalendar: TImage
+ AnchorSideTop.Control = Bevel1
+ AnchorSideTop.Side = asrBottom
Left = 8
Height = 32
- Top = 72
+ Top = 64
Width = 32
AutoSize = True
+ BorderSpacing.Top = 4
Picture.Data = {
07544269746D6170360C0000424D360C00000000000036000000280000002000
0000200000000100180000000000000C00000000000000000000000000000000
@@ -216,11 +243,14 @@ object TaskEditForm: TTaskEditForm
Transparent = True
end
object imgCompleted: TImage
+ AnchorSideTop.Control = Bevel1
+ AnchorSideTop.Side = asrBottom
Left = 290
Height = 32
- Top = 72
+ Top = 64
Width = 32
AutoSize = True
+ BorderSpacing.Top = 4
Picture.Data = {
07544269746D617076020000424D760200000000000076000000280000002000
0000200000000100040000000000000200000000000000000000100000001000
@@ -247,30 +277,52 @@ object TaskEditForm: TTaskEditForm
Transparent = True
end
object DescriptionEdit: TEdit
+ AnchorSideLeft.Control = tabTask
+ AnchorSideTop.Control = tabTask
+ AnchorSideRight.Control = tabTask
+ AnchorSideRight.Side = asrBottom
Left = 4
Height = 23
- Top = 5
- Width = 529
+ Top = 4
+ Width = 531
Anchors = [akTop, akLeft, akRight]
+ BorderSpacing.Left = 4
+ BorderSpacing.Top = 4
+ BorderSpacing.Right = 4
MaxLength = 255
OnChange = OnChange
TabOrder = 0
Text = 'DescriptionEdit'
end
object CbComplete: TCheckBox
+ AnchorSideTop.Control = DueDateEdit
+ AnchorSideTop.Side = asrCenter
Left = 333
Height = 19
- Top = 77
+ Top = 66
Width = 72
+ BorderSpacing.Right = 4
Caption = 'Complete'
TabOrder = 2
end
object DetailsMemo: TMemo
+ AnchorSideLeft.Control = tabTask
+ AnchorSideTop.Control = LblCreatedOn
+ AnchorSideTop.Side = asrBottom
+ AnchorSideRight.Control = tabTask
+ AnchorSideRight.Side = asrBottom
+ AnchorSideBottom.Control = tabTask
+ AnchorSideBottom.Side = asrBottom
Left = 4
- Height = 209
- Top = 128
- Width = 529
+ Height = 258
+ Top = 110
+ Width = 531
Anchors = [akTop, akLeft, akRight, akBottom]
+ BorderSpacing.Left = 4
+ BorderSpacing.Top = 4
+ BorderSpacing.Right = 4
+ BorderSpacing.Bottom = 4
+ Constraints.MinHeight = 200
Lines.Strings = (
'DetailsMemo'
)
@@ -280,13 +332,16 @@ object TaskEditForm: TTaskEditForm
TabOrder = 3
end
object DueDateEdit: TDateEdit
+ AnchorSideTop.Control = Bevel1
+ AnchorSideTop.Side = asrBottom
Left = 128
Height = 23
- Top = 75
+ Top = 64
Width = 120
CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
DateOrder = doNone
ButtonWidth = 23
+ BorderSpacing.Top = 4
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
@@ -329,19 +384,24 @@ object TaskEditForm: TTaskEditForm
Text = 'DueDateEdit'
end
object LblCategory: TLabel
+ AnchorSideTop.Control = CbCategory
+ AnchorSideTop.Side = asrCenter
Left = 62
Height = 15
- Top = 36
+ Top = 35
Width = 51
Caption = 'Category:'
FocusControl = CbCategory
ParentColor = False
end
object CbCategory: TComboBox
+ AnchorSideTop.Control = DescriptionEdit
+ AnchorSideTop.Side = asrBottom
Left = 128
Height = 23
- Top = 32
+ Top = 31
Width = 120
+ BorderSpacing.Top = 4
ItemHeight = 15
ItemIndex = 0
Items.Strings = (
@@ -356,19 +416,25 @@ object TaskEditForm: TTaskEditForm
Text = 'Business'
end
object LblPriority: TLabel
+ AnchorSideTop.Control = CbPriority
+ AnchorSideTop.Side = asrCenter
Left = 281
Height = 15
- Top = 36
+ Top = 35
Width = 41
Caption = 'Priority:'
FocusControl = CbPriority
ParentColor = False
end
object CbPriority: TComboBox
+ AnchorSideTop.Control = DescriptionEdit
+ AnchorSideTop.Side = asrBottom
Left = 333
Height = 23
- Top = 32
+ Top = 31
Width = 120
+ BorderSpacing.Top = 4
+ BorderSpacing.Right = 4
ItemHeight = 15
ItemIndex = 1
Items.Strings = (
diff --git a/components/tvplanit/source/vptaskeditdlg.pas b/components/tvplanit/source/vptaskeditdlg.pas
index 56d2fe9ee..4a98da3b7 100644
--- a/components/tvplanit/source/vptaskeditdlg.pas
+++ b/components/tvplanit/source/vptaskeditdlg.pas
@@ -71,16 +71,17 @@ type
Bevel1: TBevel;
imgCalendar: TImage;
imgCompleted: TImage;
+ procedure CancelBtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
+ procedure FormShow(Sender: TObject);
procedure OnChange(Sender: TObject);
procedure OKBtnClick(Sender: TObject);
- procedure CancelBtnClick(Sender: TObject);
- procedure FormShow(Sender: TObject);
private
FReturnCode: TVpEditorReturnCode;
FTask: TVpTask;
FResource: TVpResource;
- FBtnHeight: Integer;
+// FBtnHeight: Integer;
+// FBtnWidth: Integer;
FEditHeight: Integer;
procedure PositionControls;
procedure SetCaptions;
@@ -126,7 +127,7 @@ uses
procedure TTaskEditForm.FormCreate(Sender: TObject);
begin
FReturnCode := rtAbandon;
- FBtnHeight := ScaleY(OKBtn.Height, DesignTimeDPI);
+// FBtnHeight := ScaleY(OKBtn.Height, DesignTimeDPI);
FEditHeight := ScaleY(DueDateEdit.Height, DesignTimeDPI);
end;
@@ -174,10 +175,7 @@ begin
DetailsMemo.Text := Task.Details;
CbComplete.Checked := Task.Complete;
if Task.CompletedOn <> 0 then
- LblCompletedOn.Caption := RSCompletedOn + ' ' + FormatDateTime('ddddd', Task.CompletedOn)
- // 'ddddd' = DefaultFormatSettings.ShortDateFormat
- else
- LblCompletedOn.Visible := False;
+ LblCompletedOn.Caption := RSCompletedOn + ' ' + FormatDateTime('ddddd', Task.CompletedOn);
LblCompletedOn.Visible := CbComplete.Checked;
LblCreatedOn.Caption := RSCreatedOn + ' ' + FormatDateTime('ddddd', Task.CreatedOn);
CbPriority.ItemIndex := Task.Priority + 1;
@@ -193,24 +191,29 @@ var
HDist: Integer = 8; // Horizontal distance between controls:
w: Integer;
cnv: TControlCanvas;
+ i: Integer;
begin
VBevelDist := ScaleY(VBevelDist, DesignTimeDPI);
VDist := ScaleY(VDist, DesignTimeDPI);
HDist := ScaleX(HDist, DesignTimeDPI);
+ for i := 0 to ComponentCount-1 do
+ if Components[i] is TControl then
+ with TControl(Components[i]) do begin
+ if BorderSpacing.Left <> 0 then BorderSpacing.Left := HDist;
+ if BorderSpacing.Right <> 0 then BorderSpacing.Right := HDist;
+ if BorderSpacing.Top <> 0 then BorderSpacing.Top := VDist;
+ if BorderSpacing.Bottom <> 0 then BorderSpacing.Bottom := VDist;
+ end;
+
DescriptionEdit.Height := FEditHeight;
DueDateEdit.Height := FEditHeight;
DueDateEdit.ButtonWidth := FEditHeight;
CbCategory.Height := FEditHeight;
CbPriority.Height := FEditHeight;
- OKBtn.Height := FBtnHeight;
- OKBtn.Top := VDist;
- CancelBtn.Height := OKBtn.Height;
- CancelBtn.Top := OKBtn.Top;
- ButtonPanel.Height := OKBtn.Height + VDIST*2;
+ OKBtn.Width := CancelBtn.Width;
ResourceNameLbl.Font.Size := ScaleY(ResourceNameLbl.Font.Size, DesignTimeDPI);
- ResourceNameLbl.Top := OKBtn.Top + (OKBtn.Height - ScaleY(ResourceNameLbl.Height, DesignTimeDPI)) div 2;
DueDateEdit.Left := DueDateLbl.Left + GetLabelWidth(DueDateLbl) + HDist;
cnv := TControlCanvas.Create;
@@ -237,7 +240,9 @@ begin
cnv.Free;
end;
w := Max(GetlabelWidth(LblCompletedOn), w);
- ClientWidth := ClientWidth - tabTask.ClientWidth + CbComplete.Left + w + HDist*2;
+ ClientWidth := ClientWidth - tabTask.ClientWidth +
+ Max(CbComplete.Left + w, RightOf(CbPriority)) +
+ HDist*2;
end;
CbCategory.Left := DueDateEdit.Left;
@@ -249,38 +254,22 @@ begin
CbPriority.Left := CbComplete.Left;
LblPriority.Left := CbPriority.Left - HDist - GetLabelWidth(LblPriority);
- OKBtn.Width := Max(GetButtonWidth(OKBtn), GetButtonWidth(CancelBtn));
- CancelBtn.Width := OKBtn.Width;
{$IFDEF MSWINDOWS}
- CancelBtn.Left := ButtonPanel.ClientWidth - ResourcenameLbl.Left - CancelBtn.Width;
- OKBtn.Left := CancelBtn.Left - HDist - OKBtn.Width;
+ CancelBtn.AnchorSideRight.Control := ButtonPanel;
+ CancelBtn.AnchorSideRight.Side := asrRight;
+ OKBtn.AnchorSideRight.Control := CancelBtn;
+ OKBtn.AnchorSideRight.Side := asrLeft;
OKBtn.TabOrder := 0;
CancelBtn.TabOrder := 1;
{$ELSE}
- OKBtn.Left := ButtonPanel.ClientWidth - ResourcenameLbl.Left - OKBtn.Width;
- CancelBtn.Left := OKBtn.Left - HDist - CancelBtn.Width;
+ OKBtn.AnchorSideRight.Control := ButtonPanel;
+ OKBtn.AnchorSideRight.Side := asrRight;
+ CancelBtn.AnchorSideRight.Control := OKBtn;
+ CancelBtn.AnchorSideRight.Side := asrLeft;
CancelBtn.TabOrder := 0;
OKBtn.TabOrder := 1;
{$ENDIF}
-
- CbCategory.Top := BottomOf(DescriptionEdit) + VDist;
- LblCategory.Top := CbCategory.Top + (CbCategory.Height - LblCategory.Height) div 2;
- CbPriority.Top := CbCategory.Top;
- LblPriority.Top := LblCategory.Top;
-
- //Bevel1.Top := DescriptionEdit.Top + editHeight + VBevelDist; //BottomOf(DescriptionEdit) + VBevelDist;
-
- ImgCalendar.Top := Bevel1.Top + 2 + VBevelDist;
- ImgCompleted.Top := ImgCalendar.Top;
- DueDateEdit.Top := ImgCalendar.Top; // + (ImgCalendar.Height - DueDateEdit.Height) div 2;
- DueDateLbl.Top := DueDateEdit.Top + (DueDateEdit.Height - DueDateLbl.Height) div 2;
- CbComplete.Top := ImgCompleted.Top; // + (ImgCompleted.Height - CbComplete.Height) div 2;
-
- LblCreatedOn.Top := DueDateEdit.Top + FEditHeight + VDist; //BottomOf(DueDateEdit) + VDist;
- LblCompletedOn.Top := LblCreatedOn.Top;
-
- DetailsMemo.Top := BottomOf(LblCreatedOn) + VBevelDist;
- DetailsMemo.Height := tabTask.ClientHeight - DetailsMemo.Top - DescriptionEdit.Top;
+ AutoSize := true;
end;
{=====}