tvplanit: More consistent usage of colors and attribute classes.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8448 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2022-09-05 09:27:54 +00:00
parent 4af1e301a7
commit 7a151f2696
12 changed files with 256 additions and 225 deletions

View File

@ -4,22 +4,21 @@ object MainForm: TMainForm
Top = 135 Top = 135
Width = 959 Width = 959
Caption = 'Turbo Power VisualPlanIt Demo' Caption = 'Turbo Power VisualPlanIt Demo'
ClientHeight = 576 ClientHeight = 596
ClientWidth = 959 ClientWidth = 959
Menu = MainMenu1 Menu = MainMenu1
OnCloseQuery = FormCloseQuery OnCloseQuery = FormCloseQuery
OnCreate = FormCreate OnCreate = FormCreate
OnDestroy = FormDestroy OnDestroy = FormDestroy
LCLVersion = '2.3.0.0'
object Panel1: TPanel object Panel1: TPanel
Left = 125 Left = 125
Height = 576 Height = 596
Top = 0 Top = 0
Width = 834 Width = 834
Align = alClient Align = alClient
AutoSize = True AutoSize = True
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 576 ClientHeight = 596
ClientWidth = 834 ClientWidth = 834
TabOrder = 2 TabOrder = 2
object HeaderPanel: TPanel object HeaderPanel: TPanel
@ -56,7 +55,7 @@ object MainForm: TMainForm
end end
object Notebook: TNotebook object Notebook: TNotebook
Left = 0 Left = 0
Height = 528 Height = 548
Top = 48 Top = 48
Width = 834 Width = 834
PageIndex = 0 PageIndex = 0
@ -66,18 +65,18 @@ object MainForm: TMainForm
object Events: TPage object Events: TPage
object LeftPanel: TPanel object LeftPanel: TPanel
Left = 0 Left = 0
Height = 528 Height = 548
Top = 0 Top = 0
Width = 357 Width = 357
Align = alLeft Align = alLeft
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 528 ClientHeight = 548
ClientWidth = 357 ClientWidth = 357
TabOrder = 0 TabOrder = 0
object VpMonthView1: TVpMonthView object VpMonthView1: TVpMonthView
Left = 0 Left = 0
Height = 197 Height = 197
Top = 331 Top = 351
Width = 357 Width = 357
ShowHint = True ShowHint = True
PopupMenu = VpMonthView1.default PopupMenu = VpMonthView1.default
@ -85,12 +84,10 @@ object MainForm: TMainForm
ParentShowHint = False ParentShowHint = False
Align = alBottom Align = alBottom
TabOrder = 0 TabOrder = 0
DayHeadAttributes.Color = clBtnFace
DrawingStyle = dsFlat DrawingStyle = dsFlat
EventDayStyle = [fsItalic] EventDayStyle = [fsItalic]
HeadAttributes.Font.Height = -16 HeadAttributes.Font.Height = -16
HeadAttributes.Font.Style = [fsItalic] HeadAttributes.Font.Style = [fsItalic]
HeadAttributes.Color = clBtnFace
HolidayAttributes.Font.Color = clBlack HolidayAttributes.Font.Color = clBlack
TodayAttributes.Font.Color = clBlue TodayAttributes.Font.Color = clBlue
TodayAttributes.Color = 16761024 TodayAttributes.Color = 16761024
@ -103,14 +100,14 @@ object MainForm: TMainForm
Cursor = crVSplit Cursor = crVSplit
Left = 0 Left = 0
Height = 5 Height = 5
Top = 326 Top = 346
Width = 357 Width = 357
Align = alBottom Align = alBottom
ResizeAnchor = akBottom ResizeAnchor = akBottom
end end
object VpDayView1: TVpDayView object VpDayView1: TVpDayView
Left = 0 Left = 0
Height = 292 Height = 312
Top = 34 Top = 34
Width = 357 Width = 357
ShowHint = True ShowHint = True
@ -121,9 +118,6 @@ object MainForm: TMainForm
ParentShowHint = False ParentShowHint = False
Align = alClient Align = alClient
TabOrder = 2 TabOrder = 2
AllDayEventAttributes.BackgroundColor = clBtnShadow
AllDayEventAttributes.EventBorderColor = cl3DDkShadow
AllDayEventAttributes.EventBackgroundColor = clBtnFace
AllDayEventAttributes.Font.Height = -12 AllDayEventAttributes.Font.Height = -12
ShowEventTimes = False ShowEventTimes = False
DrawingStyle = dsFlat DrawingStyle = dsFlat
@ -132,10 +126,8 @@ object MainForm: TMainForm
TimeSlotColors.ActiveRange.RangeEnd = h_00 TimeSlotColors.ActiveRange.RangeEnd = h_00
HeadAttributes.Font.Height = -16 HeadAttributes.Font.Height = -16
HeadAttributes.Font.Style = [fsItalic] HeadAttributes.Font.Style = [fsItalic]
HeadAttributes.Color = clBtnFace
RowHeadAttributes.HourFont.Height = -24 RowHeadAttributes.HourFont.Height = -24
RowHeadAttributes.MinuteFont.Height = -12 RowHeadAttributes.MinuteFont.Height = -12
RowHeadAttributes.Color = clBtnFace
IconAttributes.AlarmBitmap.Data = { IconAttributes.AlarmBitmap.Data = {
76020000424D760200000000000036000000280000000C0000000C0000000100 76020000424D760200000000000036000000280000000C0000000C0000000100
20000000000040020000C30E0000C30E00000000000000000000FFFFFF00FFFF 20000000000040020000C30E0000C30E00000000000000000000FFFFFF00FFFF
@ -278,13 +270,13 @@ object MainForm: TMainForm
end end
object Splitter3: TSplitter object Splitter3: TSplitter
Left = 357 Left = 357
Height = 528 Height = 548
Top = 0 Top = 0
Width = 5 Width = 5
end end
object VpWeekView1: TVpWeekView object VpWeekView1: TVpWeekView
Left = 362 Left = 362
Height = 528 Height = 548
Top = 0 Top = 0
Width = 472 Width = 472
ShowHint = True ShowHint = True
@ -293,19 +285,14 @@ object MainForm: TMainForm
Font.Height = -12 Font.Height = -12
ParentFont = False ParentFont = False
ParentShowHint = False ParentShowHint = False
AllDayEventAttributes.BackgroundColor = clWindow
AllDayEventAttributes.EventBorderColor = clGray
AllDayEventAttributes.EventBackgroundColor = clBtnFace
AllDayEventAttributes.Font.Height = -12 AllDayEventAttributes.Font.Height = -12
DateLabelFormat = 'dddd, mmmm dd, yyyy' DateLabelFormat = 'dddd, mmmm dd, yyyy'
DayHeadAttributes.Color = clBtnFace
DayHeadAttributes.DateFormat = 'ddddd' DayHeadAttributes.DateFormat = 'ddddd'
DayHeadAttributes.Font.Height = -13 DayHeadAttributes.Font.Height = -13
DrawingStyle = dsFlat DrawingStyle = dsFlat
EventFont.Height = -12 EventFont.Height = -12
HeadAttributes.Font.Height = -16 HeadAttributes.Font.Height = -16
HeadAttributes.Font.Style = [fsItalic] HeadAttributes.Font.Style = [fsItalic]
HeadAttributes.Color = clBtnFace
LineColor = clGray LineColor = clGray
Layout = wvlHorizontal Layout = wvlHorizontal
WeekStartsOn = dtMonday WeekStartsOn = dtMonday
@ -717,7 +704,7 @@ object MainForm: TMainForm
end end
object VpNavBar1: TVpNavBar object VpNavBar1: TVpNavBar
Left = 0 Left = 0
Height = 576 Height = 596
Top = 0 Top = 0
Width = 120 Width = 120
ActiveFolder = 0 ActiveFolder = 0
@ -818,7 +805,7 @@ object MainForm: TMainForm
end end
object Splitter1: TSplitter object Splitter1: TSplitter
Left = 120 Left = 120
Height = 576 Height = 596
Top = 0 Top = 0
Width = 5 Width = 5
end end
@ -1333,8 +1320,8 @@ object MainForm: TMainForm
end end
end end
object PrintDialog1: TPrintDialog object PrintDialog1: TPrintDialog
Left = 232 Left = 224
Top = 368 Top = 344
end end
object VpPrintPreviewDialog1: TVpPrintPreviewDialog object VpPrintPreviewDialog1: TVpPrintPreviewDialog
Version = 'v1.12' Version = 'v1.12'

View File

@ -628,7 +628,6 @@ begin
VpControlLink1.Datastore.OnDateChanged := @DateChangedHandler; VpControlLink1.Datastore.OnDateChanged := @DateChangedHandler;
with VpControlLink1.Datastore do begin with VpControlLink1.Datastore do begin
// These properties could be set also in Object Inspector. // These properties could be set also in Object Inspector.
// But we do it here at runtime because the mORMot datastore is // But we do it here at runtime because the mORMot datastore is
// created at runtime, and we want both versions to behave the same. // created at runtime, and we want both versions to behave the same.

View File

@ -420,6 +420,33 @@ type
property ActiveRange: TVpTimeRange read FActiveRange write FActiveRange; property ActiveRange: TVpTimeRange read FActiveRange write FActiveRange;
end; end;
TVpAllDayEventAttributes = class(TPersistent)
private
FOwner: TWinControl;
FBackgroundColor: TColor;
FEventBackgroundColor: TColor;
FEventBorderColor: TColor;
FFont: TVpFont;
protected
procedure UpdateOwner;
public
constructor Create(AOwner: TWinControl);
destructor Destroy; override;
procedure SetBackGroundColor(Value: TColor);
procedure SetEventBackgroundColor(Value: TColor);
procedure SetFont(Value: TVpFont);
procedure SetEventBorderColor(Value: TColor);
published
property BackgroundColor: TColor
read FBackgroundColor write SetBackGroundColor default clBtnShadow;
property EventBackgroundColor: TColor
read FEventBackgroundColor write SetEventBackgroundColor default clBtnFace;
property EventBorderColor: TColor
read FEventBorderColor write SetEventBorderColor default cl3dDkShadow;
property Font: TVpFont
read FFont write SetFont;
end;
TVpHintWindow = class(THintWindow) TVpHintWindow = class(THintWindow)
public public
function CalcHintRect({%H-}MaxWidth: Integer; const AHint: String; function CalcHintRect({%H-}MaxWidth: Integer; const AHint: String;
@ -1019,6 +1046,54 @@ begin
end; end;
{ TVpAllDayEventAttributes }
constructor TVpAllDayEventAttributes.Create(AOwner: TWinControl);
begin
FOwner:= AOwner;
FFont := TVpFont.Create(AOwner);
FBackgroundColor := clBtnShadow;
FEventBackgroundColor := clBtnFace;
FEventBorderColor := cl3dDkShadow;
end;
destructor TVpAllDayEventAttributes.Destroy;
begin
inherited;
FFont.Free;
end;
procedure TVpAllDayEventAttributes.SetBackGroundColor(Value: TColor);
begin
FBackgroundColor := Value;
UpdateOwner;
end;
procedure TVpAllDayEventAttributes.SetEventBackgroundColor(Value: TColor);
begin
FEventBackgroundColor := Value;
UpdateOwner;
end;
procedure TVpAllDayEventAttributes.SetEventBorderColor(Value: TColor);
begin
FEventBorderColor := Value;
UpdateOwner;
end;
procedure TVpAllDayEventAttributes.SetFont(Value: TVpFont);
begin
FFont.Assign(Value);
FFont.Owner := FOwner;
end;
procedure TVpAllDayEventAttributes.UpdateOwner;
begin
if Assigned(FOwner) then
FOwner.Invalidate;
end;
{ TVpHintWindow } { TVpHintWindow }
function TVpHintWindow.CalcHintRect(MaxWidth: Integer; const AHint: String; function TVpHintWindow.CalcHintRect(MaxWidth: Integer; const AHint: String;

View File

@ -101,6 +101,9 @@ const
strTRUE = 'true'; strTRUE = 'true';
strFALSE = 'false'; strFALSE = 'false';
DEFAULT_COLOR = clWindow;
DEFAULT_LINECOLOR = clSilver;
DEFAULT_HEADERCOLOR = clBtnFace;
WEEKDAY_COLOR = $FFFFFF; WEEKDAY_COLOR = $FFFFFF;
WEEKEND_COLOR = $D0D0D0; WEEKEND_COLOR = $D0D0D0;
HOLIDAY_COLOR = $8080FF; HOLIDAY_COLOR = $8080FF;
@ -265,9 +268,6 @@ const
CONDITIONAL_INCLUDE = 0; CONDITIONAL_INCLUDE = 0;
CONDITIONAL_IGNORE = 1; CONDITIONAL_IGNORE = 1;
DEFAULT_COLOR = clWindow;
DEFAULT_LINECOLOR = clSilver;
{ Version numbers } { Version numbers }
VpXSLImplementation = 0.0; VpXSLImplementation = 0.0;
VpXMLSpecification = '1.0'; VpXMLSpecification = '1.0';

View File

@ -89,7 +89,7 @@ type
end; end;
TVpContactHeadAttr = class(TPersistent) TVpContactHeadAttr = class(TPersistent)
protected{private} private
FGrid: TVpContactGrid; FGrid: TVpContactGrid;
FFont: TVpFont; FFont: TVpFont;
FColor: TColor; FColor: TColor;
@ -97,14 +97,16 @@ type
procedure SetColor(Value: TColor); procedure SetColor(Value: TColor);
procedure SetFont(Value: TVpFont); procedure SetFont(Value: TVpFont);
procedure SetBordered(Value: Boolean); procedure SetBordered(Value: Boolean);
protected
procedure UpdateContactGrid;
public public
constructor Create(AOwner: TVpContactGrid); constructor Create(AOwner: TVpContactGrid);
destructor Destroy; override; destructor Destroy; override;
property Grid: TVpContactGrid read FGrid; property Grid: TVpContactGrid read FGrid;
published published
property Color: TColor read FColor write SetColor; property Bordered: Boolean read FBordered write SetBordered default true;
property Color: TColor read FColor write SetColor default clSilver;
property Font: TVpFont read FFont write SetFont; property Font: TVpFont read FFont write SetFont;
property Bordered: Boolean read FBordered write SetBordered;
end; end;
{ Contact Grid } { Contact Grid }
@ -352,7 +354,7 @@ procedure TVpContactHeadAttr.SetBordered(Value: Boolean);
begin begin
if Value <> FBordered then begin if Value <> FBordered then begin
FBordered := Value; FBordered := Value;
Grid.Invalidate; UpdateContactGrid;
end; end;
end; end;
@ -360,7 +362,7 @@ procedure TVpContactHeadAttr.SetColor(Value: TColor);
begin begin
if Value <> FColor then begin if Value <> FColor then begin
FColor := Value; FColor := Value;
Grid.Invalidate; UpdateContactGrid;
end; end;
end; end;
@ -368,10 +370,17 @@ procedure TVpContactHeadAttr.SetFont(Value: TVpFont);
begin begin
if Value <> FFont then begin if Value <> FFont then begin
FFont.Assign(Value); FFont.Assign(Value);
Grid.Invalidate; FFont.Owner := FGrid;
UpdateContactGrid;
end; end;
end; end;
procedure TVpContactHeadAttr.UpdateContactGrid;
begin
if Assigned(FGrid) then
FGrid.Invalidate;
end;
(*****************************************************************************) (*****************************************************************************)
{ TVpCGInPlaceEdit } { TVpCGInPlaceEdit }

View File

@ -138,6 +138,7 @@ type
procedure SetHourFont(Value: TVpFont); procedure SetHourFont(Value: TVpFont);
procedure SetMinuteFont(Value: TVpFont); procedure SetMinuteFont(Value: TVpFont);
protected protected
procedure UpdateDayView;
public public
constructor Create(AOwner: TVpDayView); constructor Create(AOwner: TVpDayView);
destructor Destroy; override; destructor Destroy; override;
@ -145,33 +146,7 @@ type
published published
property HourFont: TVpFont read FHourFont write SetHourFont; property HourFont: TVpFont read FHourFont write SetHourFont;
property MinuteFont: TVpFont read FMinuteFont write SetMinuteFont; property MinuteFont: TVpFont read FMinuteFont write SetMinuteFont;
property Color: TColor read FColor write SetColor; property Color: TColor read FColor write SetColor default DEFAULT_HEADERCOLOR;
end;
TVpAllDayEventAttributes = class(TPersistent)
private
FBackgroundColor: TColor;
FEventBackgroundColor: TColor;
FEventBorderColor: TColor;
FFont: TVpFont;
protected
FOwner: TWinControl;
public
constructor Create(AOwner: TWinControl);
destructor Destroy; override;
procedure SetBackGroundColor(Value: TColor);
procedure SetEventBackgroundColor(Value: TColor);
procedure SetFont(Value: TVpFont);
procedure SetEventBorderColor(Value: TColor);
published
property BackgroundColor: TColor
read FBackgroundColor write SetBackGroundColor;
property EventBorderColor: TColor
read FEventBorderColor write SetEventBorderColor;
property EventBackgroundColor: TColor
read FEventBackgroundColor write SetEventBackgroundColor;
property Font: TVpFont
read FFont write SetFont;
end; end;
TVpCHAttributes = class(TPersistent) TVpCHAttributes = class(TPersistent)
@ -182,13 +157,14 @@ type
procedure SetColor(const Value: TColor); procedure SetColor(const Value: TColor);
procedure SetFont(Value: TVpFont); procedure SetFont(Value: TVpFont);
protected protected
procedure UpdateDateView;
public public
constructor Create(AOwner: TVpDayView); constructor Create(AOwner: TVpDayView);
destructor Destroy; override; destructor Destroy; override;
property Owner: TVpDayView read FOwner; property Owner: TVpDayView read FOwner;
published published
property Font: TVpFont read FFont write SetFont; property Font: TVpFont read FFont write SetFont;
property Color: TColor read FColor write SetColor; property Color: TColor read FColor write SetColor default DEFAULT_HEADERCOLOR;
end; end;
TVpDayViewIconAttributes = class(TPersistent) TVpDayViewIconAttributes = class(TPersistent)
@ -635,52 +611,8 @@ begin
end; end;
(*****************************************************************************)
{ TVpAllDayEventAttributes }
constructor TVpAllDayEventAttributes.Create(AOwner: TWinControl);
begin
FOwner:= AOwner;
FFont := TVpFont.Create(AOwner);
FBackgroundColor := clBtnShadow;
FEventBackgroundColor := clBtnFace;
FEventBorderColor := cl3dDkShadow;
end;
destructor TVpAllDayEventAttributes.Destroy;
begin
inherited;
FFont.Free;
end;
procedure TVpAllDayEventAttributes.SetBackGroundColor(Value: TColor);
begin
FBackgroundColor := Value;
FOwner.Invalidate;
end;
procedure TVpAllDayEventAttributes.SetEventBackgroundColor(Value: TColor);
begin
FEventBackgroundColor := Value;
FOwner.Invalidate;
end;
procedure TVpAllDayEventAttributes.SetEventBorderColor(Value: TColor);
begin
FEventBorderColor := Value;
FOwner.Invalidate;
end;
procedure TVpAllDayEventAttributes.SetFont(Value: TVpFont);
begin
FFont.Assign(Value);
FFont.Owner := FOwner;
end;
(*****************************************************************************) (*****************************************************************************)
{ TVpDayViewIconAttributes } { TVpDayViewIconAttributes }
constructor TVpDayViewIconAttributes.Create(AOwner: TVpLinkableControl); constructor TVpDayViewIconAttributes.Create(AOwner: TVpLinkableControl);
begin begin
inherited Create; inherited Create;
@ -873,13 +805,11 @@ begin
{ set up fonts and colors } { set up fonts and colors }
FHeadAttr.Font.Size := 10; FHeadAttr.Font.Size := 10;
FHeadAttr.Font.Style := []; FHeadAttr.Font.Style := [];
FHeadAttr.Color := clBtnFace;
FRowHeadAttr.FHourFont.Size := 18; FRowHeadAttr.FHourFont.Size := 18;
FRowHeadAttr.FHourFont.Style := []; FRowHeadAttr.FHourFont.Style := [];
FRowHeadAttr.FMinuteFont.Size := 9; FRowHeadAttr.FMinuteFont.Size := 9;
FRowHeadAttr.FMinuteFont.Style := []; FRowHeadAttr.FMinuteFont.Style := [];
FRowHeadAttr.Color := clBtnFace;
{$IFNDEF LCL} {$IFNDEF LCL}
FHeadAttr.Font.Name := 'Tahoma'; FHeadAttr.Font.Name := 'Tahoma';
FRowHeadAttr.FHourFont.Name := 'Tahoma'; FRowHeadAttr.FHourFont.Name := 'Tahoma';
@ -2835,6 +2765,7 @@ begin
inherited Create; inherited Create;
FOwner := AOwner; FOwner := AOwner;
FFont := TVpFont.Create(AOwner); FFont := TVpFont.Create(AOwner);
FColor := DEFAULT_HEADERCOLOR;
end; end;
destructor TVpCHAttributes.Destroy; destructor TVpCHAttributes.Destroy;
@ -2847,7 +2778,7 @@ procedure TVpCHAttributes.SetColor(const Value: TColor);
begin begin
if FColor <> Value then begin if FColor <> Value then begin
FColor := Value; FColor := Value;
FOwner.Invalidate; UpdateDateView;
end; end;
end; end;
@ -2856,6 +2787,12 @@ begin
FFont.Assign(Value); FFont.Assign(Value);
end; end;
procedure TVpCHAttributes.UpdateDateView;
begin
if Assigned(FOwner) then
FOwner.Invalidate;
end;
(*****************************************************************************) (*****************************************************************************)
{ TVpRHAttributes } { TVpRHAttributes }
@ -2866,10 +2803,7 @@ begin
FOwner := AOwner; FOwner := AOwner;
FHourFont := TVpFont.Create(AOwner); FHourFont := TVpFont.Create(AOwner);
FMinuteFont := TVpFont.Create(AOwner); FMinuteFont := TVpFont.Create(AOwner);
{$IFNDEF LCL} FColor := DEFAULT_HEADERCOLOR;
FHourFont.Name := 'Tahoma';
FMinuteFont.Name := 'Tahoma';
{$ENDIF}
end; end;
destructor TVpRHAttributes.Destroy; destructor TVpRHAttributes.Destroy;
@ -2883,7 +2817,7 @@ procedure TVpRHAttributes.SetColor(const Value: TColor);
begin begin
if FColor <> Value then begin if FColor <> Value then begin
FColor := Value; FColor := Value;
FOwner.Invalidate; UpdateDayView;
end; end;
end; end;
@ -2891,7 +2825,7 @@ procedure TVpRHAttributes.SetHourFont(Value: TVpFont);
begin begin
if Value <> FHourFont then begin if Value <> FHourFont then begin
FHourFont.Assign(Value); FHourFont.Assign(Value);
FOwner.Invalidate; UpdateDayView;
end; end;
end; end;
@ -2899,8 +2833,14 @@ procedure TVpRHAttributes.SetMinuteFont(Value: TVpFont);
begin begin
if Value <> FMinuteFont then begin if Value <> FMinuteFont then begin
FMinuteFont.Assign(Value); FMinuteFont.Assign(Value);
FOwner.Invalidate; UpdateDayView;
end; end;
end; end;
procedure TVpRHAttributes.UpdateDayView;
begin
if FOwner <> nil then
FOwner.Invalidate;
end;
end. end.

View File

@ -48,38 +48,37 @@ type
FColor: TColor; FColor: TColor;
procedure SetColor(AValue: TColor); procedure SetColor(AValue: TColor);
protected protected
procedure FontChanged(Sender: TObject);
procedure UpdateGanttView; procedure UpdateGanttView;
public public
constructor Create(AOwner: TVpGanttView); virtual; constructor Create(AOwner: TVpGanttView); virtual;
published published
property Color: TColor read FColor write SetColor default clBtnFace; property Color: TColor read FColor write SetColor default DEFAULT_HEADERCOLOR;
end; end;
TVpGanttRowHeaderAttributes = class(TVpGanttHeaderAttributes) TVpGanttRowHeaderAttributes = class(TVpGanttHeaderAttributes)
private private
FEventFont: TFont; FEventFont: TVpFont;
procedure SetEventFont(AValue: TFont); procedure SetEventFont(AValue: TVpFont);
protected protected
public public
constructor Create(AOwner: TVpGanttView); override; constructor Create(AOwner: TVpGanttView); override;
destructor Destroy; override; destructor Destroy; override;
published published
property EventFont: TFont read FEventFont write SetEventFont; property EventFont: TVpFont read FEventFont write SetEventFont;
end; end;
TVpGanttColHeaderAttributes = class(TVpGanttHeaderAttributes) TVpGanttColHeaderAttributes = class(TVpGanttHeaderAttributes)
private private
FDayFont: TFont; FDayFont: TVpFont;
FMonthFont: TFont; FMonthFont: TVpFont;
procedure SetDayFont(AValue: TFont); procedure SetDayFont(AValue: TVpFont);
procedure SetMonthFont(AValue: TFont); procedure SetMonthFont(AValue: TVpFont);
public public
constructor Create(AOwner: TVpGanttView); override; constructor Create(AOwner: TVpGanttView); override;
destructor Destroy; override; destructor Destroy; override;
published published
property DayFont: TFont read FDayFont write SetDayFont; property DayFont: TVpFont read FDayFont write SetDayFont;
property MonthFont: TFont read FMonthFont write SetMonthFont; property MonthFont: TVpFont read FMonthFont write SetMonthFont;
end; end;
TVpGanttView = class(TVpLinkableControl) TVpGanttView = class(TVpLinkableControl)
@ -343,12 +342,7 @@ constructor TVpGanttHeaderAttributes.Create(AOwner: TVpGanttView);
begin begin
inherited Create; inherited Create;
FGanttView := AOwner; FGanttView := AOwner;
FColor := clBtnFace; FColor := DEFAULT_HEADERCOLOR;
end;
procedure TVpGanttHeaderAttributes.FontChanged(Sender: TObject);
begin
UpdateGanttView;
end; end;
procedure TVpGanttHeaderAttributes.SetColor(AValue: TColor); procedure TVpGanttHeaderAttributes.SetColor(AValue: TColor);
@ -373,8 +367,7 @@ end;
constructor TVpGanttRowHeaderAttributes.Create(AOwner: TVpGanttView); constructor TVpGanttRowHeaderAttributes.Create(AOwner: TVpGanttView);
begin begin
inherited Create(AOwner); inherited Create(AOwner);
FEventFont := TFont.Create; FEventFont := TVpFont.Create(AOwner);
FEventFont.OnChange := @FontChanged;
end; end;
destructor TVpGanttRowHeaderAttributes.Destroy; destructor TVpGanttRowHeaderAttributes.Destroy;
@ -383,11 +376,12 @@ begin
inherited; inherited;
end; end;
procedure TVpGanttRowHeaderAttributes.SetEventFont(AValue: TFont); procedure TVpGanttRowHeaderAttributes.SetEventFont(AValue: TVpFont);
begin begin
if FEventFont <> AValue then if FEventFont <> AValue then
begin begin
FEventFont := AValue; FEventFont := AValue;
FEventFont.Owner := FGanttView;
UpdateGanttView; UpdateGanttView;
end; end;
end; end;
@ -399,10 +393,8 @@ end;
constructor TVpGanttColHeaderAttributes.Create(AOwner: TVpGanttView); constructor TVpGanttColHeaderAttributes.Create(AOwner: TVpGanttView);
begin begin
inherited Create(AOwner); inherited Create(AOwner);
FDayFont := TFont.Create; FDayFont := TVpFont.Create(AOwner);
FDayFont.OnChange := @FontChanged; FMonthFont := TVpFont.Create(AOwner);
FMonthFont := TFont.Create;
FMonthFont.OnChange := @FontChanged;
end; end;
destructor TVpGanttColHeaderAttributes.Destroy; destructor TVpGanttColHeaderAttributes.Destroy;
@ -412,20 +404,22 @@ begin
inherited; inherited;
end; end;
procedure TVpGanttColHeaderAttributes.SetDayFont(AValue: TFont); procedure TVpGanttColHeaderAttributes.SetDayFont(AValue: TVpFont);
begin begin
if FDayFont <> AValue then if FDayFont <> AValue then
begin begin
FDayFont := AValue; FDayFont := AValue;
FDayFont.Owner := FGanttView;
UpdateGanttView; UpdateGanttView;
end; end;
end; end;
procedure TVpGanttColHeaderAttributes.SetMonthFont(AValue: TFont); procedure TVpGanttColHeaderAttributes.SetMonthFont(AValue: TVpFont);
begin begin
if FMonthFont <> AValue then if FMonthFont <> AValue then
begin begin
FMonthFont := AValue; FMonthFont := AValue;
FMonthFont.Owner := FGanttView;
UpdateGanttView; UpdateGanttView;
end; end;
end; end;

View File

@ -69,13 +69,15 @@ type
FFont: TVpFont; FFont: TVpFont;
procedure SetColor(AValue: TColor); procedure SetColor(AValue: TColor);
procedure SetFont(AValue: TVpFont); procedure SetFont(AValue: TVpFont);
protected
procedure UpdateMonthView;
public public
constructor Create(AOwner: TVpMonthView); constructor Create(AOwner: TVpMonthView);
destructor Destroy; override; destructor Destroy; override;
property MonthView: TVpMonthView read FMonthVIew; property MonthView: TVpMonthView read FMonthVIew;
published published
property Font: TVpFont read FFont write SetFont; property Font: TVpFont read FFont write SetFont;
property Color: TColor read FColor write SetColor; property Color: TColor read FColor write SetColor default DEFAULT_HEADERCOLOR;
end; end;
TVpMvHolidayAttr = class(TVpMonthViewAttr) TVpMvHolidayAttr = class(TVpMonthViewAttr)
@ -390,7 +392,7 @@ constructor TVpMonthViewAttr.Create(AOwner: TVpMonthView);
begin begin
inherited Create; inherited Create;
FMonthView := AOwner; FMonthView := AOwner;
FColor := clBtnFace; FColor := DEFAULT_HEADERCOLOR;
FFont := TVpFont.Create(AOwner); FFont := TVpFont.Create(AOwner);
end; end;
@ -404,13 +406,21 @@ procedure TVpMonthViewAttr.SetColor(AValue: TColor);
begin begin
if FColor <> AValue then begin if FColor <> AValue then begin
FColor := AValue; FColor := AValue;
FMonthView.Invalidate; UpdateMonthView;
end; end;
end; end;
procedure TVpMonthViewAttr.SetFont(AValue: TVpFont); procedure TVpMonthViewAttr.SetFont(AValue: TVpFont);
begin begin
FFont.Assign(AValue); FFont.Assign(AValue);
FFont.Owner := FMonthView;
UpdateMonthView;
end;
procedure TVpMonthViewAttr.UpdateMonthView;
begin
if Assigned(FMonthView) then
FMonthView.Invalidate;
end; end;

View File

@ -272,8 +272,6 @@ begin
dhRect.Right := RealRight; dhRect.Right := RealRight;
dhRect.Bottom := dhRect.Top + FDayHeadHeight; dhRect.Bottom := dhRect.Top + FDayHeadHeight;
if FMonthView.DrawingStyle = ds3d then begin if FMonthView.DrawingStyle = ds3d then begin
//OffsetRect(dhRect, 0, 2);
inc(dhRect.Left, 2); inc(dhRect.Left, 2);
inc(dhRect.Top, 2); inc(dhRect.Top, 2);
dec(dhRect.Right, 2); dec(dhRect.Right, 2);

View File

@ -78,9 +78,9 @@ type
procedure SetOverdueColor(Value: TColor); procedure SetOverdueColor(Value: TColor);
procedure SetNormalColor(Value: TColor); procedure SetNormalColor(Value: TColor);
procedure SetCompletedColor(Value: TColor); procedure SetCompletedColor(Value: TColor);
procedure UpdateTaskList;
public public
constructor Create(Owner: TVpTaskList); constructor Create(AOwner: TVpTaskList);
destructor Destroy; override;
published published
property CheckBGColor: TColor read FCheckBGColor write SetCheckBGColor default clWindow; property CheckBGColor: TColor read FCheckBGColor write SetCheckBGColor default clWindow;
property CheckColor: TColor read FCheckColor write SetCheckColor default cl3DDkShadow; property CheckColor: TColor read FCheckColor write SetCheckColor default cl3DDkShadow;
@ -104,7 +104,7 @@ type
// procedure Move(const Loc: TRect; Redraw: Boolean); // procedure Move(const Loc: TRect; Redraw: Boolean);
end; end;
TVpTaskHeadAttr = class(TVpPersistent) TVpTaskHeadAttr = class(TPersistent)
private private
FTaskList: TVpTaskList; FTaskList: TVpTaskList;
FFont: TVpFont; FFont: TVpFont;
@ -114,12 +114,10 @@ type
procedure SetFont(Value: TVpFont); procedure SetFont(Value: TVpFont);
procedure SetGlyphDist(Value: Integer); procedure SetGlyphDist(Value: Integer);
protected protected
procedure UpdateTaskList;
public public
constructor Create(AOwner: TVpTaskList); constructor Create(AOwner: TVpTaskList);
destructor Destroy; override; destructor Destroy; override;
procedure Invalidate; override;
{ The Invalidate method is used as a bridge between FFont & FTaskList. }
property TaskList: TVpTaskList read FTaskList; property TaskList: TVpTaskList read FTaskList;
published published
property Color: TColor read FColor write SetColor default clBtnFace; property Color: TColor read FColor write SetColor default clBtnFace;
@ -294,10 +292,10 @@ uses
(*****************************************************************************) (*****************************************************************************)
{ TVpTaskDisplayOptions } { TVpTaskDisplayOptions }
(*****************************************************************************) (*****************************************************************************)
constructor TVpTaskDisplayOptions.Create(Owner: TVpTaskList); constructor TVpTaskDisplayOptions.Create(AOwner: TVpTaskList);
begin begin
inherited Create; inherited Create;
FTaskList := Owner; FTaskList := AOwner;
FDueDateFormat := DefaultFormatSettings.ShortDateFormat; FDueDateFormat := DefaultFormatSettings.ShortDateFormat;
FShowDueDate := true; FShowDueDate := true;
FCheckColor := cl3DDkShadow; FCheckColor := cl3DDkShadow;
@ -308,11 +306,6 @@ begin
FNormalColor := clWindowText; FNormalColor := clWindowText;
end; end;
destructor TVpTaskDisplayOptions.Destroy;
begin
inherited;
end;
function TVpTaskDisplayOptions.IsStoredDueDateFormat: Boolean; function TVpTaskDisplayOptions.IsStoredDueDateFormat: Boolean;
begin begin
Result := FDueDateFormat <> DefaultFormatSettings.ShortDateFormat; Result := FDueDateFormat <> DefaultFormatSettings.ShortDateFormat;
@ -322,7 +315,7 @@ procedure TVpTaskDisplayOptions.SetOverdueColor(Value : TColor);
begin begin
if FOverdueColor <> Value then begin if FOverdueColor <> Value then begin
FOverdueColor := Value; FOverdueColor := Value;
FTaskList.Invalidate; UpdateTaskList;
end; end;
end; end;
@ -330,7 +323,7 @@ procedure TVpTaskDisplayOptions.SetNormalColor(Value: TColor);
begin begin
if FNormalColor <> Value then begin if FNormalColor <> Value then begin
FNormalColor := Value; FNormalColor := Value;
FTaskList.Invalidate; UpdateTaskList;
end; end;
end; end;
@ -338,7 +331,7 @@ procedure TVpTaskDisplayOptions.SetCompletedColor(Value: TColor);
begin begin
if FCompletedColor <> Value then begin if FCompletedColor <> Value then begin
FCompletedColor := Value; FCompletedColor := Value;
FTaskList.Invalidate; UpdateTaskList;
end; end;
end; end;
@ -346,7 +339,7 @@ procedure TVpTaskDisplayOptions.SetCheckColor(Value: TColor);
begin begin
if FCheckColor <> Value then begin if FCheckColor <> Value then begin
FCheckColor := Value; FCheckColor := Value;
FTaskList.Invalidate; UpdateTaskList;
end; end;
end; end;
@ -354,7 +347,7 @@ procedure TVpTaskDisplayOptions.SetCheckBGColor(Value: TColor);
begin begin
if FCheckBGColor <> Value then begin if FCheckBGColor <> Value then begin
FCheckBGColor := Value; FCheckBGColor := Value;
FTaskList.Invalidate; UpdateTaskList;
end; end;
end; end;
@ -362,7 +355,7 @@ procedure TVpTaskDisplayOptions.SetCheckStyle(Value: TVpCheckStyle);
begin begin
if Value <> FCheckStyle then begin if Value <> FCheckStyle then begin
FCheckStyle := Value; FCheckStyle := Value;
FTaskList.Invalidate; UpdateTaskList;
end; end;
end; end;
@ -370,7 +363,7 @@ procedure TVpTaskDisplayOptions.SetDueDateFormat(Value: string);
begin begin
if FDueDateFormat <> Value then begin if FDueDateFormat <> Value then begin
FDueDateFormat := Value; FDueDateFormat := Value;
FTaskList.Invalidate; UpdateTaskList;
end; end;
end; end;
@ -378,7 +371,7 @@ procedure TVpTaskDisplayOptions.SetShowCompleted(Value : Boolean);
begin begin
if FShowCompleted <> Value then begin if FShowCompleted <> Value then begin
FShowCompleted := Value; FShowCompleted := Value;
FTaskList.Invalidate; UpdateTaskList;
end; end;
end; end;
@ -386,7 +379,7 @@ procedure TVpTaskDisplayOptions.SetShowDueDate(Value: Boolean);
begin begin
if FShowDueDate <> Value then begin if FShowDueDate <> Value then begin
FShowDueDate := Value; FShowDueDate := Value;
FTaskList.Invalidate; UpdateTaskList;
end; end;
end; end;
@ -394,10 +387,16 @@ procedure TVpTaskDisplayOptions.SetShowAll(Value: Boolean);
begin begin
if FShowAll <> Value then begin if FShowAll <> Value then begin
FShowAll := Value; FShowAll := Value;
FTaskList.Invalidate; UpdateTaskList;
end; end;
end; end;
procedure TVpTaskDisplayOptions.UpdateTaskList;
begin
if FTaskList <> nil then
FTaskList.Invalidate;
end;
(******************************************************************************) (******************************************************************************)
{ TVpTaskHeadAttr } { TVpTaskHeadAttr }
@ -406,7 +405,7 @@ constructor TVpTaskHeadAttr.Create(AOwner: TVpTaskList);
begin begin
inherited Create; inherited Create;
FTaskList := AOwner; FTaskList := AOwner;
FFont := TVpFont.Create(self); FFont := TVpFont.Create(AOwner);
FFont.Assign(FTaskList.Font); FFont.Assign(FTaskList.Font);
FColor := clBtnFace; FColor := clBtnFace;
FGlyphDist := 10; FGlyphDist := 10;
@ -417,17 +416,11 @@ begin
FFont.Free; FFont.Free;
end; end;
procedure TVpTaskHeadAttr.Invalidate;
begin
if Assigned(FTaskList) then
FTaskList.Invalidate;
end;
procedure TVpTaskHeadAttr.SetColor(Value: TColor); procedure TVpTaskHeadAttr.SetColor(Value: TColor);
begin begin
if Value <> FColor then begin if Value <> FColor then begin
FColor := Value; FColor := Value;
Invalidate; UpdateTaskList;
end; end;
end; end;
@ -435,7 +428,8 @@ procedure TVpTaskHeadAttr.SetFont(Value: TVpFont);
begin begin
if Value <> FFont then begin if Value <> FFont then begin
FFont.Assign(Value); FFont.Assign(Value);
Invalidate; FFont.Owner := FTaskList;
UpdateTaskList;
end; end;
end; end;
@ -444,10 +438,16 @@ begin
if Value <> FGlyphDist then if Value <> FGlyphDist then
begin begin
FGlyphDist := Value; FGlyphDist := Value;
Invalidate; UpdateTaskList;
end; end;
end; end;
procedure TVpTaskHeadAttr.UpdateTaskList;
begin
if Assigned(FTaskList) then
FTaskList.Invalidate;
end;
(******************************************************************************) (******************************************************************************)
{ TVpCGInPlaceEdit } { TVpCGInPlaceEdit }

View File

@ -84,26 +84,33 @@ type
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
end; end;
TVpWvHeadAttributes = class(TPersistent) TVpWvAttributes = class(TPersistent)
private private
FOwner: TVpWeekView; FOwner: TVpWeekView;
protected
procedure UpdateWeekView;
public
constructor Create(AOwner: TVpWeekView); virtual;
property Owner: TVpWeekView read FOwner;
end;
TVpWvHeadAttributes = class(TVpWvAttributes)
private
FColor: TColor; FColor: TColor;
FFont: TVpFont; FFont: TVpFont;
procedure SetColor(const Value: TColor); procedure SetColor(const Value: TColor);
procedure SetFont(Value: TVpFont); procedure SetFont(Value: TVpFont);
protected protected
public public
constructor Create(AOwner: TVpWeekView); constructor Create(AOwner: TVpWeekView); override;
destructor Destroy; override; destructor Destroy; override;
property Owner: TVpWeekView read FOwner;
published published
property Font: TVpFont read FFont write SetFont; property Font: TVpFont read FFont write SetFont;
property Color: TColor read FColor write SetColor; property Color: TColor read FColor write SetColor default DEFAULT_HEADERCOLOR;
end; end;
TVpDayHeadAttr = class(TPersistent) TVpWvDayHeadAttr = class(TVpWvAttributes)
private private
FWeekView: TVpWeekView;
FFont: TVpFont; FFont: TVpFont;
FDateFormat: string; FDateFormat: string;
FColor: TColor; FColor: TColor;
@ -117,13 +124,12 @@ type
procedure SetFont(Value: TVpFont); procedure SetFont(Value: TVpFont);
protected protected
public public
constructor Create(AOwner: TVpWeekView); constructor Create(AOwner: TVpWeekView); override;
destructor Destroy; override; destructor Destroy; override;
property WeekView: TVpWeekView read FWeekView;
published published
property Alignment: TAlignment read FAlignment write SetAlignment default taRightJustify; property Alignment: TAlignment read FAlignment write SetAlignment default taRightJustify;
property Bordered: Boolean read FBordered write SetBordered default true; property Bordered: Boolean read FBordered write SetBordered default true;
property Color: TColor read FColor write SetColor default DEFAULT_COLOR; property Color: TColor read FColor write SetColor default DEFAULT_HEADERCOLOR;
property DateFormat: string read FDateFormat write SetDateFormat stored IsStoredDateFormat; property DateFormat: string read FDateFormat write SetDateFormat stored IsStoredDateFormat;
property Font: TVpFont read FFont write SetFont; property Font: TVpFont read FFont write SetFont;
end; end;
@ -141,7 +147,7 @@ type
FColor: TColor; FColor: TColor;
FComponentHint: TTranslateString; FComponentHint: TTranslateString;
FDateLabelFormat: string; FDateLabelFormat: string;
FDayHeadAttributes: TVpDayHeadAttr; FDayHeadAttributes: TVpWvDayHeadAttr;
FDefaultPopup: TPopupMenu; FDefaultPopup: TPopupMenu;
FDragDropTransparent: Boolean; FDragDropTransparent: Boolean;
FDrawingStyle: TVpDrawingStyle; FDrawingStyle: TVpDrawingStyle;
@ -336,7 +342,7 @@ type
property ApplyCategoryInfos: Boolean read FApplyCategoryInfos write SetApplyCategoryInfos default false; property ApplyCategoryInfos: Boolean read FApplyCategoryInfos write SetApplyCategoryInfos default false;
property Color: TColor read FColor write SetColor default DEFAULT_COLOR; property Color: TColor read FColor write SetColor default DEFAULT_COLOR;
property DateLabelFormat: string read FDateLabelFormat write SetDateLabelFormat stored IsStoredDateLabelFormat; property DateLabelFormat: string read FDateLabelFormat write SetDateLabelFormat stored IsStoredDateLabelFormat;
property DayHeadAttributes: TVpDayHeadAttr read FDayHeadAttributes write FDayHeadAttributes; property DayHeadAttributes: TVpWvDayHeadAttr read FDayHeadAttributes write FDayHeadAttributes;
property DragDropTransparent: Boolean read FDragDropTransparent write FDragDropTransparent default false; property DragDropTransparent: Boolean read FDragDropTransparent write FDragDropTransparent default false;
property DrawingStyle: TVpDrawingStyle read FDrawingStyle write SetDrawingStyle default ds3d; property DrawingStyle: TVpDrawingStyle read FDrawingStyle write SetDrawingStyle default ds3d;
property EventFont: TVpFont read FEventFont write SetEventFont; property EventFont: TVpFont read FEventFont write SetEventFont;
@ -440,68 +446,85 @@ end;
(*****************************************************************************) (*****************************************************************************)
{ TVpContactHeadAttr } { TVpWvAttributes }
(*****************************************************************************) (*****************************************************************************)
constructor TVpWvAttributes.Create(AOwner: TVpWeekView);
constructor TVpDayHeadAttr.Create(AOwner: TVpWeekView);
begin begin
inherited Create; inherited Create;
FWeekView := AOwner; FOwner := AOwner;
end;
procedure TVpWvAttributes.UpdateWeekView;
begin
if FOwner <> nil then
FOwner.Invalidate;
end;
(*****************************************************************************)
{ TVpWvDayHeadAttr }
(*****************************************************************************)
constructor TVpWvDayHeadAttr.Create(AOwner: TVpWeekView);
begin
inherited Create(AOwner);
FDateFormat := 'ddddd'; FDateFormat := 'ddddd';
FFont := TVpFont.Create(AOwner); FFont := TVpFont.Create(AOwner);
FColor := DEFAULT_COLOR; FColor := DEFAULT_HEADERCOLOR;
FBordered := true; FBordered := true;
FAlignment := taRightJustify; FAlignment := taRightJustify;
end; end;
destructor TVpDayHeadAttr.Destroy; destructor TVpWvDayHeadAttr.Destroy;
begin begin
FFont.Free; FFont.Free;
inherited;
end; end;
function TVpDayHeadAttr.IsStoredDateFormat: Boolean; function TVpWvDayHeadAttr.IsStoredDateFormat: Boolean;
begin begin
Result := FDateFormat = 'ddddd'; Result := FDateFormat = 'ddddd';
end; end;
procedure TVpDayHeadAttr.SetAlignment(Value: TAlignment); procedure TVpWvDayHeadAttr.SetAlignment(Value: TAlignment);
begin begin
if Value <> FAlignment then if Value <> FAlignment then
begin begin
FAlignment := Value; FAlignment := Value;
WeekView.Invalidate; UpdateWeekView;
end; end;
end; end;
procedure TVpDayHeadAttr.SetBordered(Value: Boolean); procedure TVpWvDayHeadAttr.SetBordered(Value: Boolean);
begin begin
if Value <> FBordered then begin if Value <> FBordered then begin
FBordered := Value; FBordered := Value;
WeekView.Invalidate; UpdateWeekView;
end; end;
end; end;
procedure TVpDayHeadAttr.SetDateFormat(Value: string); procedure TVpWvDayHeadAttr.SetDateFormat(Value: string);
begin begin
if Value <> FDateFormat then begin if Value <> FDateFormat then begin
FDateFormat := Value; FDateFormat := Value;
WeekView.Invalidate; UpdateWeekView;
end; end;
end; end;
procedure TVpDayHeadAttr.SetColor(Value: TColor); procedure TVpWvDayHeadAttr.SetColor(Value: TColor);
begin begin
if Value <> FColor then begin if Value <> FColor then begin
FColor := Value; FColor := Value;
WeekView.Invalidate; UpdateWeekView;
end; end;
end; end;
procedure TVpDayHeadAttr.SetFont(Value: TVpFont); procedure TVpWvDayHeadAttr.SetFont(Value: TVpFont);
begin begin
if Value <> FFont then begin if Value <> FFont then begin
FFont.Assign(Value); FFont.Assign(Value);
WeekView.Invalidate; FFont.Owner := FOwner;
UpdateWeekView;
end; end;
end; end;
@ -509,12 +532,10 @@ end;
(*****************************************************************************) (*****************************************************************************)
{ TVpWvHeadAttributes } { TVpWvHeadAttributes }
(*****************************************************************************) (*****************************************************************************)
constructor TVpWvHeadAttributes.Create(AOwner: TVpWeekView); constructor TVpWvHeadAttributes.Create(AOwner: TVpWeekView);
begin begin
inherited Create; inherited Create(AOwner);
FOwner := AOwner; FColor := DEFAULT_HEADERCOLOR;
FColor := clBtnFace;
FFont := TVpFont.Create(AOwner); FFont := TVpFont.Create(AOwner);
end; end;
@ -528,13 +549,15 @@ procedure TVpWvHeadAttributes.SetColor(const Value: TColor);
begin begin
if FColor <> Value then begin if FColor <> Value then begin
FColor := Value; FColor := Value;
FOwner.Invalidate; UpdateWeekView;
end; end;
end; end;
procedure TVpWvHeadAttributes.SetFont(Value: TVpFont); procedure TVpWvHeadAttributes.SetFont(Value: TVpFont);
begin begin
FFont.Assign(Value); FFont.Assign(Value);
FFont.Owner := FOwner;
UpdateWeekView;
end; end;
@ -549,7 +572,7 @@ begin
HintWindowClass := TVpHintWindow; HintWindowClass := TVpHintWindow;
{ Create internal classes and stuff } { Create internal classes and stuff }
FDayHeadAttributes := TVpDayHeadAttr.Create(self); FDayHeadAttributes := TVpWvDayHeadAttr.Create(self);
FHeadAttr := TVpWvHeadAttributes.Create(self); FHeadAttr := TVpWvHeadAttributes.Create(self);
FAllDayEventAttr := TVpAllDayEventAttributes.Create(self); FAllDayEventAttr := TVpAllDayEventAttributes.Create(self);
@ -615,8 +638,8 @@ begin
{ set up fonts and colors } { set up fonts and colors }
FDayHeadAttributes.Font.Size := 10; FDayHeadAttributes.Font.Size := 10;
FDayHeadAttributes.Font.Style := []; FDayHeadAttributes.Font.Style := [];
FDayHeadAttributes.Color := clBtnFace;
FDayHeadAttributes.Bordered := true; FDayHeadAttributes.Bordered := true;
FAllDayEventAttr.Font.Assign (Font);
SetLength(wvEventArray, MaxVisibleEvents); SetLength(wvEventArray, MaxVisibleEvents);
SetLength(wvWeekdayArray, 7); SetLength(wvWeekdayArray, 7);
@ -630,11 +653,6 @@ begin
InitializeDefaultPopup; InitializeDefaultPopup;
Self.PopupMenu := FDefaultPopup; Self.PopupMenu := FDefaultPopup;
FAllDayEventAttr.BackgroundColor := Color;
FAllDayEventAttr.EventBackgroundColor := clBtnFace;
FAllDayEventAttr.EventBorderColor := LineColor;
FAllDayEventAttr.Font.Assign (Font);
LoadLanguage; LoadLanguage;
wvHookUp; wvHookUp;

View File

@ -166,7 +166,8 @@ begin
totalHeight := numADEvents * ADTextHeight + txtDist * 2; totalHeight := numADEvents * ADTextHeight + txtDist * 2;
ADEventsRect.Bottom := Min(ADEventsRect.Top + totalHeight, DayRect.Bottom); ADEventsRect.Bottom := Min(ADEventsRect.Top + totalHeight, DayRect.Bottom);
// Clear the AllDayEvents area // Clear the AllDayEvents area using its background color
RenderCanvas.Brush.Color := ADBackgroundColor;
TpsFillRect(RenderCanvas, Angle, RenderIn, ADEventsRect); TpsFillRect(RenderCanvas, Angle, RenderIn, ADEventsRect);
startsBeforeRange := false; startsBeforeRange := false;