tvplanit: Beginning to implement borderless DrawingStyle (dsNone)

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4899 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-07-02 23:14:26 +00:00
parent 1159900b4e
commit fc0fee4e00
7 changed files with 99 additions and 39 deletions

View File

@@ -25,9 +25,9 @@ object MainForm: TMainForm
Height = 532 Height = 532
Top = 48 Top = 48
Width = 780 Width = 780
ActivePage = TabEvents ActivePage = TabSettings
Align = alClient Align = alClient
TabIndex = 0 TabIndex = 4
TabOrder = 0 TabOrder = 0
object TabEvents: TTabSheet object TabEvents: TTabSheet
Caption = 'Events' Caption = 'Events'
@@ -473,15 +473,6 @@ object MainForm: TMainForm
State = cbChecked State = cbChecked
TabOrder = 3 TabOrder = 3
end end
object Cb3D: TCheckBox
Left = 349
Height = 19
Top = 64
Width = 107
Caption = '3d display mode'
OnChange = Cb3DChange
TabOrder = 4
end
object LblAddressBuilder: TLabel object LblAddressBuilder: TLabel
AnchorSideTop.Control = CbAddressBuilder AnchorSideTop.Control = CbAddressBuilder
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
@@ -507,9 +498,43 @@ object MainForm: TMainForm
) )
OnChange = CbAddressBuilderChange OnChange = CbAddressBuilderChange
Style = csDropDownList Style = csDropDownList
TabOrder = 5 TabOrder = 4
Text = '(default)' Text = '(default)'
end end
object LblDrawingStyle: TLabel
Left = 349
Height = 15
Top = 68
Width = 74
Caption = 'Drawing style:'
ParentColor = False
end
object ComboBox1: TComboBox
Left = 10
Height = 23
Top = 10
Width = 100
ItemHeight = 15
TabOrder = 5
Text = 'ComboBox1'
end
object CbDrawingStyle: TComboBox
Left = 439
Height = 23
Top = 64
Width = 113
ItemHeight = 15
ItemIndex = 0
Items.Strings = (
'flat'
'3d'
'borderless'
)
OnChange = CbDrawingStyleChange
Style = csDropDownList
TabOrder = 6
Text = 'flat'
end
end end
end end
object HeaderPanel: TPanel object HeaderPanel: TPanel

View File

@@ -16,9 +16,11 @@ TMAINFORM.LBLLANGUAGE.CAPTION=Language
TMAINFORM.LBLTIMEFORMAT.CAPTION=Time format TMAINFORM.LBLTIMEFORMAT.CAPTION=Time format
TMAINFORM.LBLFIRSTDAYOFWEEK.CAPTION=First day of week TMAINFORM.LBLFIRSTDAYOFWEEK.CAPTION=First day of week
TMAINFORM.CBALLOWINPLACEEDITING.CAPTION=Allow inplace editing TMAINFORM.CBALLOWINPLACEEDITING.CAPTION=Allow inplace editing
TMAINFORM.CB3D.CAPTION=3d display mode
TMAINFORM.LBLADDRESSBUILDER.CAPTION=Address builder TMAINFORM.LBLADDRESSBUILDER.CAPTION=Address builder
TMAINFORM.CBADDRESSBUILDER.TEXT=(default) TMAINFORM.CBADDRESSBUILDER.TEXT=(default)
TMAINFORM.LBLDRAWINGSTYLE.CAPTION=Drawing style:
TMAINFORM.COMBOBOX1.TEXT=ComboBox1
TMAINFORM.CBDRAWINGSTYLE.TEXT=flat
TMAINFORM.TITLELBL.CAPTION=TitleLbl TMAINFORM.TITLELBL.CAPTION=TitleLbl
TMAINFORM.MENUITEM1.CAPTION=File TMAINFORM.MENUITEM1.CAPTION=File
TMAINFORM.MNUQUIT.CAPTION=Quit TMAINFORM.MNUQUIT.CAPTION=Quit

View File

@@ -9,7 +9,7 @@ uses
StdCtrls, ComCtrls, LCLTranslator, Menus, StdCtrls, ComCtrls, LCLTranslator, Menus,
VpBaseDS, VpDayView, VpWeekView, VpTaskList, VpAbout, VpBaseDS, VpDayView, VpWeekView, VpTaskList, VpAbout,
VpContactGrid, VpMonthView, VpResEditDlg, VpContactButtons, VpBufDS, VpNavBar, VpContactGrid, VpMonthView, VpResEditDlg, VpContactButtons, VpBufDS, VpNavBar,
VpData; VpData, Types;
type type
@@ -24,10 +24,12 @@ type
CbTimeFormat: TComboBox; CbTimeFormat: TComboBox;
CbFirstDayOfWeek: TComboBox; CbFirstDayOfWeek: TComboBox;
CbAllowInplaceEditing: TCheckBox; CbAllowInplaceEditing: TCheckBox;
Cb3D: TCheckBox;
CbAddressBuilder: TComboBox; CbAddressBuilder: TComboBox;
ComboBox1: TComboBox;
CbDrawingStyle: TComboBox;
Img: TImage; Img: TImage;
ImageList1: TImageList; ImageList1: TImageList;
LblDrawingStyle: TLabel;
LblAddressBuilder: TLabel; LblAddressBuilder: TLabel;
LblFirstDayOfWeek: TLabel; LblFirstDayOfWeek: TLabel;
LblTimeFormat: TLabel; LblTimeFormat: TLabel;
@@ -76,6 +78,7 @@ type
procedure Cb3DChange(Sender: TObject); procedure Cb3DChange(Sender: TObject);
procedure CbAddressBuilderChange(Sender: TObject); procedure CbAddressBuilderChange(Sender: TObject);
procedure CbAllowInplaceEditingChange(Sender: TObject); procedure CbAllowInplaceEditingChange(Sender: TObject);
procedure CbDrawingStyleChange(Sender: TObject);
procedure CbFirstDayOfWeekChange(Sender: TObject); procedure CbFirstDayOfWeekChange(Sender: TObject);
procedure CbGranularityChange(Sender: TObject); procedure CbGranularityChange(Sender: TObject);
procedure CbLanguagesChange(Sender: TObject); procedure CbLanguagesChange(Sender: TObject);
@@ -248,7 +251,7 @@ procedure TMainForm.Cb3DChange(Sender: TObject);
var var
ds: TVpDrawingStyle; ds: TVpDrawingStyle;
begin begin
if Cb3D.Checked then ds := ds3d else ds := dsFlat; ds := TVpDrawingStyle(CbDrawingStyle.ItemIndex);
VpTaskList1.DrawingStyle := ds; VpTaskList1.DrawingStyle := ds;
VpContactGrid1.DrawingStyle := ds; VpContactGrid1.DrawingStyle := ds;
VpDayView1.DrawingStyle := ds; VpDayView1.DrawingStyle := ds;
@@ -272,6 +275,18 @@ begin
VpTaskList1.AllowInplaceEditing := CbAllowInplaceEditing.Checked; VpTaskList1.AllowInplaceEditing := CbAllowInplaceEditing.Checked;
end; end;
procedure TMainForm.CbDrawingStyleChange(Sender: TObject);
var
ds: TVpDrawingStyle;
begin
ds := TVpDrawingStyle(CbDrawingStyle.ItemIndex);
VpTaskList1.DrawingStyle := ds;
VpContactGrid1.DrawingStyle := ds;
VpDayView1.DrawingStyle := ds;
VpWeekView1.DrawingStyle := ds;
VpMonthView1.DrawingStyle := ds;
end;
procedure TMainForm.CbFirstDayOfWeekChange(Sender: TObject); procedure TMainForm.CbFirstDayOfWeekChange(Sender: TObject);
begin begin
VpWeekView1.WeekStartsOn := TVpDayType(CbFirstDayOfWeek.ItemIndex); VpWeekView1.WeekStartsOn := TVpDayType(CbFirstDayOfWeek.ItemIndex);
@@ -476,8 +491,8 @@ begin
CbAllowInplaceEditing.Checked := ini.ReadBool('Settings', 'AllowInplaceEditing', CbAllowInplaceEditing.Checked); CbAllowInplaceEditing.Checked := ini.ReadBool('Settings', 'AllowInplaceEditing', CbAllowInplaceEditing.Checked);
CbAllowInplaceEditingChange(nil); CbAllowInplaceEditingChange(nil);
Cb3D.Checked := ini.ReadBool('Settings', '3dViewstyle', false); CbDrawingStyle.ItemIndex := ini.ReadInteger('Settings', 'DrawingStyle', CbDrawingStyle.ItemIndex);
Cb3dChange(nil); CbDrawingStyleChange(nil);
finally finally
ini.Free; ini.Free;
@@ -510,7 +525,7 @@ begin
ini.WriteInteger('Settings', 'VisibleDays', FVisibleDays); ini.WriteInteger('Settings', 'VisibleDays', FVisibleDays);
ini.WriteBool('Settings', 'AllTasks', VpTaskList1.DisplayOptions.ShowAll); ini.WriteBool('Settings', 'AllTasks', VpTaskList1.DisplayOptions.ShowAll);
ini.WriteBool('Settings', 'AllowInplaceEditing', CbAllowInplaceEditing.Checked); ini.WriteBool('Settings', 'AllowInplaceEditing', CbAllowInplaceEditing.Checked);
ini.WriteBool('Settings', '3dViewStyle', Cb3D.Checked); ini.WriteInteger('Settings', 'DrawingStyle', CbDrawingStyle.ItemIndex);
finally finally
ini.Free; ini.Free;
end; end;
@@ -645,7 +660,8 @@ begin
CbAddressBuilder.Left := CbLanguages.Left; CbAddressBuilder.Left := CbLanguages.Left;
LblAddressBuilder.Left := CbAddressBuilder.Left - 8 - GetLabelWidth(LblAddressBuilder); LblAddressBuilder.Left := CbAddressBuilder.Left - 8 - GetLabelWidth(LblAddressBuilder);
CbAllowInplaceEditing.Left := CbLanguages.Left + CbLanguages.Width + 32; CbAllowInplaceEditing.Left := CbLanguages.Left + CbLanguages.Width + 32;
Cb3D.Left := CbAllowInplaceEditing.Left; LblDrawingStyle.Left := CbAllowInplaceEditing.Left;
CbDrawingStyle.Left := LblDrawingStyle.Left + GetLabelWidth(LblDrawingStyle) + 8;
RbHideCompletedTasks.Left := RbAllTasks.Left + RbAllTasks.Width + 48; RbHideCompletedTasks.Left := RbAllTasks.Left + RbAllTasks.Width + 48;
// Next settings work correctly only for Windows. // Next settings work correctly only for Windows.

View File

@@ -199,10 +199,6 @@ msgstr "Neu"
msgid "Turbo Power VisualPlanIt Demo" msgid "Turbo Power VisualPlanIt Demo"
msgstr "Turbo Power VisualPlanIt Demo" msgstr "Turbo Power VisualPlanIt Demo"
#: tmainform.cb3d.caption
msgid "3d display mode"
msgstr "3D-Anzeige"
#: tmainform.cbaddressbuilder.text #: tmainform.cbaddressbuilder.text
msgid "(default)" msgid "(default)"
msgstr "" msgstr ""
@@ -211,14 +207,26 @@ msgstr ""
msgid "Allow inplace editing" msgid "Allow inplace editing"
msgstr "Editieren an Ort und Stelle erlauben" msgstr "Editieren an Ort und Stelle erlauben"
#: tmainform.cbdrawingstyle.text
msgid "flat"
msgstr ""
#: tmainform.cbgranularity.text #: tmainform.cbgranularity.text
msgid "30 Min" msgid "30 Min"
msgstr "30 Min" msgstr "30 Min"
#: tmainform.combobox1.text
msgid "ComboBox1"
msgstr ""
#: tmainform.lbladdressbuilder.caption #: tmainform.lbladdressbuilder.caption
msgid "Address builder" msgid "Address builder"
msgstr "Aufbau der Adresse:" msgstr "Aufbau der Adresse:"
#: tmainform.lbldrawingstyle.caption
msgid "Drawing style:"
msgstr ""
#: tmainform.lblfirstdayofweek.caption #: tmainform.lblfirstdayofweek.caption
msgid "First day of week" msgid "First day of week"
msgstr "Die Woche beginnt am" msgstr "Die Woche beginnt am"

View File

@@ -188,10 +188,6 @@ msgstr ""
msgid "Turbo Power VisualPlanIt Demo" msgid "Turbo Power VisualPlanIt Demo"
msgstr "" msgstr ""
#: tmainform.cb3d.caption
msgid "3d display mode"
msgstr ""
#: tmainform.cbaddressbuilder.text #: tmainform.cbaddressbuilder.text
msgid "(default)" msgid "(default)"
msgstr "" msgstr ""
@@ -200,14 +196,26 @@ msgstr ""
msgid "Allow inplace editing" msgid "Allow inplace editing"
msgstr "" msgstr ""
#: tmainform.cbdrawingstyle.text
msgid "flat"
msgstr ""
#: tmainform.cbgranularity.text #: tmainform.cbgranularity.text
msgid "30 Min" msgid "30 Min"
msgstr "" msgstr ""
#: tmainform.combobox1.text
msgid "ComboBox1"
msgstr ""
#: tmainform.lbladdressbuilder.caption #: tmainform.lbladdressbuilder.caption
msgid "Address builder" msgid "Address builder"
msgstr "" msgstr ""
#: tmainform.lbldrawingstyle.caption
msgid "Drawing style:"
msgstr ""
#: tmainform.lblfirstdayofweek.caption #: tmainform.lblfirstdayofweek.caption
msgid "First day of week" msgid "First day of week"
msgstr "" msgstr ""

View File

@@ -1089,12 +1089,13 @@ begin
dvDayUpBtn.Width := dvDayDownBtn.Width; dvDayUpBtn.Width := dvDayDownBtn.Width;
w := dvWeekDownBtn.Width + dvWeekUpBtn.Width + dvDaydownBtn.Width + dvDayUpBtn.Width; w := dvWeekDownBtn.Width + dvWeekUpBtn.Width + dvDaydownBtn.Width + dvDayUpBtn.Width;
if DrawingStyle = dsFlat then begin if DrawingStyle = ds3d then begin
dvTodayBtn.Left := 1 + (RealRowHeadWidth - w) div 2;
dvTodayBtn.Top := 1;
end else begin
dvTodayBtn.Left := 2 + (RealRowHeadWidth - w) div 2; dvTodayBtn.Left := 2 + (RealRowHeadWidth - w) div 2;
dvTodayBtn.Top := 2; dvTodayBtn.Top := 2;
end else
begin
dvTodayBtn.Left := 1 + (RealRowHeadWidth - w) div 2;
dvTodayBtn.Top := 1;
end; end;
{ size and place the WeekDown button } { size and place the WeekDown button }

View File

@@ -526,12 +526,8 @@ var
begin begin
RenderCanvas.Brush.Color := RealHeadAttrColor; RenderCanvas.Brush.Color := RealHeadAttrColor;
RenderCanvas.Font.Assign(TFont(FWeekView.HeadAttributes.Font)); RenderCanvas.Font.Assign(TFont(FWeekView.HeadAttributes.Font));
{ draw the header cell and borders } { draw the header cell and borders }
if FWeekView.DrawingStyle = dsFlat then begin
{ draw simple border rectangle }
HeadRect := Rect(RealLeft, RealTop, RealRight, RealTop + TVpWeekViewOpener(FWeekView).wvHeaderHeight + 2);
TPSFillRect(RenderCanvas, Angle, RenderIn, HeadRect);
end else
if FWeekView.DrawingStyle = ds3d then begin if FWeekView.DrawingStyle = ds3d then begin
{ draw a 3d bevel } { draw a 3d bevel }
HeadRect.Left := RealLeft + 2; HeadRect.Left := RealLeft + 2;
@@ -545,8 +541,12 @@ begin
BevelHighlightColor, BevelHighlightColor,
BevelDarkShadow BevelDarkShadow
); );
end else end else begin
raise Exception.Create('DrawingStyle not supported.'); // if FWeekView.DrawingStyle = dsFlat then begin
// { draw simple border rectangle }
HeadRect := Rect(RealLeft, RealTop, RealRight, RealTop + TVpWeekViewOpener(FWeekView).wvHeaderHeight + 2);
TPSFillRect(RenderCanvas, Angle, RenderIn, HeadRect);
end;
{ build header caption } { build header caption }
weekNo := GetWeekOfYear(StartDate); weekNo := GetWeekOfYear(StartDate);