You've already forked lazarus-ccr
tvplanit: Add holiday support to WeekView.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5200 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -299,6 +299,7 @@ object MainForm: TMainForm
|
||||
Align = alClient
|
||||
TabStop = True
|
||||
TabOrder = 2
|
||||
OnHoliday = VpHoliday
|
||||
end
|
||||
end
|
||||
object Tasks: TPage
|
||||
|
@ -37,7 +37,8 @@ type
|
||||
procedure DrawBorders;
|
||||
procedure DrawFocusRect(ADayIndex: Integer; DayRect: TRect);
|
||||
procedure DrawDay(ADayIndex: Integer; var DayRect: TRect; var EAIndex: Integer);
|
||||
procedure DrawDayHeader(ADayIndex: Integer; var TextRect: TRect);
|
||||
procedure DrawDayHeader(ADayIndex: Integer; AHolidayName: String;
|
||||
var TextRect: TRect);
|
||||
procedure DrawDays;
|
||||
procedure DrawEvent(AEvent: TVpEvent; TextRect: TRect; ADayIndex: Integer);
|
||||
procedure DrawHeader;
|
||||
@ -276,16 +277,18 @@ var
|
||||
TextRect: TRect;
|
||||
J: Integer;
|
||||
EventList: TList;
|
||||
// dayHeadHeight: Integer;
|
||||
rowHeight: Integer;
|
||||
headerHeight: Integer;
|
||||
tmpRect: TRect;
|
||||
holiday: String;
|
||||
begin
|
||||
// Abbreviations
|
||||
// dayHeadHeight := TVpWeekviewOpener(FWeekView).wvDayHeadHeight;
|
||||
rowHeight := TVpWeekViewOpener(FWeekView).wvRowHeight;
|
||||
headerHeight := TVpWeekViewOpener(FWeekView).wvHeaderHeight;
|
||||
|
||||
// Check for holiday
|
||||
FWeekView.IsHoliday(StartDate + ADayIndex, holiday);
|
||||
|
||||
// Get header rectangle
|
||||
TextRect := DayRect;
|
||||
TextRect.Bottom := DayRect.Top + FDayHeadHeight;
|
||||
@ -301,7 +304,7 @@ begin
|
||||
TPSRectangle(RenderCanvas, Angle, RenderIn, tmpRect);
|
||||
|
||||
// Fix header string
|
||||
DrawDayHeader(ADayIndex, TextRect);
|
||||
DrawDayHeader(ADayIndex, holiday, TextRect);
|
||||
|
||||
if (FWeekView.DataStore <> nil) and (FWeekView.DataStore.Resource <> nil) and
|
||||
(FWeekView.DataStore.Resource.Schedule.EventCountByDay(StartDate + ADayIndex) > 0) and
|
||||
@ -402,7 +405,8 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TVpWeekViewPainter.DrawDayHeader(ADayIndex: Integer; var TextRect: TRect);
|
||||
procedure TVpWeekViewPainter.DrawDayHeader(ADayIndex: Integer; AHolidayName: String;
|
||||
var TextRect: TRect);
|
||||
var
|
||||
dayStr: String;
|
||||
strWid: Integer;
|
||||
@ -412,6 +416,8 @@ begin
|
||||
{$IFDEF LCL}
|
||||
{$IF FPC_FULLVERSION < 30000}DayStr := SysToUTF8(DayStr); {$ENDIF}
|
||||
{$ENDIF}
|
||||
if AHolidayName <> '' then
|
||||
dayStr := dayStr + ' - ' + AHolidayName;
|
||||
|
||||
strWid := RenderCanvas.TextWidth(dayStr);
|
||||
if strWid > WidthOf(TextRect) then
|
||||
|
Reference in New Issue
Block a user