From 49f7cf47934d0d9c4768c83b6433a8028898cf16 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Sun, 25 Mar 2018 00:04:05 +0000 Subject: [PATCH] jvcllaz: Add new properties ThumbBevelInner/Outer, ThumbBorderStyle, ThumbTitleBevelInner/Outer, ThumbTitleBorderStyle. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6277 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../run/JvCustomControls/JvThumbViews.pas | 104 +++++++++++++++++- .../run/JvCustomControls/JvThumbnails.pas | 45 +++++++- 2 files changed, 141 insertions(+), 8 deletions(-) diff --git a/components/jvcllaz/run/JvCustomControls/JvThumbViews.pas b/components/jvcllaz/run/JvCustomControls/JvThumbViews.pas index c35d57938..250f424dc 100644 --- a/components/jvcllaz/run/JvCustomControls/JvThumbViews.pas +++ b/components/jvcllaz/run/JvCustomControls/JvThumbViews.pas @@ -78,10 +78,16 @@ type FShadowColor: TColor; FShowShadow: Boolean; FSorted: Boolean; + FThumbBevelInner: TPanelBevel; + FThumbBevelOuter: TPanelBevel; + FThumbBorderStyle: TBorderStyle; FThumbColor: TColor; FThumbGap: Byte; FThumbList: TJvThumbList; FThumbSize: TPoint; + FThumbTitleBevelInner: TPanelBevel; + FThumbTitleBevelOuter: TPanelBevel; + FThumbTitleBorderStyle: TBorderStyle; FThumbTitleColor: TColor; FTitlePlacement: TTitlePos; FWaitUntilFull: Boolean; @@ -120,9 +126,15 @@ type procedure SetPercent(P: TPercent); procedure SetScrollMode(AMode: TScrollMode); procedure SetSorted(const Value: Boolean); + procedure SetThumbBevelInner(const AValue: TPanelBevel); + procedure SetThumbBevelOuter(const AValue: TPanelBevel); + procedure SetThumbBorderStyle(const AValue: TBorderStyle); procedure SetThumbColor(const AValue: TColor); procedure SetThumbGap(Sp: Byte); procedure SetThumbTitleColor(const AValue: TColor); + procedure SetThumbTitleBevelInner(const AValue: TPanelBevel); + procedure SetThumbTitleBevelOuter(const AValue: TPanelBevel); + procedure SetThumbTitleBorderStyle(const AValue: TBorderStyle); procedure SetTitlePos(const NewVal: TTitlePos); procedure WMPaint(var Msg: TLMPaint); message LM_PAINT; //function GetBufferName(AName: string): string; @@ -180,10 +192,26 @@ type property ShowShadow: Boolean read FShowShadow write FShowShadow; property Size: TPercent read FPercent write SetPercent; property Sorted: Boolean read FSorted write SetSorted; - property ThumbColor: TColor read FThumbColor write SetThumbColor default clDefault; - property ThumbGap: Byte read FThumbGap write SetThumbGap; - property ThumbTitleColor: TColor read FThumbTitleColor write SetThumbTitleColor default clDefault; - property TitlePlacement: TTitlePos read FTitlePlacement write SetTitlePos default tpUp; + property ThumbBevelInner: TPanelBevel + read FThumbBevelInner write SetThumbBevelInner default bvNone; + property ThumbBevelOuter: TPanelBevel + read FThumbBevelOuter write SetThumbBevelOuter default bvRaised; + property ThumbBorderStyle: TBorderStyle + read FThumbBorderStyle write SetThumbBorderStyle default bsNone; + property ThumbColor: TColor + read FThumbColor write SetThumbColor default clDefault; + property ThumbGap: Byte + read FThumbGap write SetThumbGap default 4; + property ThumbTitleBevelInner: TPanelBevel + read FThumbTitleBevelInner write SetThumbTitleBevelInner default bvNone; + property ThumbTitleBevelOuter: TPanelBevel + read FThumbTitleBevelOuter write SetThumbTitleBevelOuter default bvLowered; + property ThumbTitleBorderStyle: TBorderStyle + read FThumbTitleBorderStyle write SetThumbTitleBorderStyle default bsNone; + property ThumbTitleColor: TColor + read FThumbTitleColor write SetThumbTitleColor default clDefault; + property TitlePlacement: TTitlePos + read FTitlePlacement write SetTitlePos default tpUp; property OnChange: TNotifyEvent read FOnChange write FOnChange; property OnChanging: TNotifyEvent read FOnChanging write FOnChanging; @@ -253,8 +281,14 @@ begin FFileList.Clear; FFileListSorted := TStringList.Create; FFileListSorted.Clear; + FThumbBevelInner := bvNone; + FThumbBevelOuter := bvRaised; + FThumbBorderStyle := bsNone; FThumbColor := clDefault; - FThumbTitlecolor := clDefault; + FThumbTitleColor := clDefault; + FThumbTitleBevelInner := bvNone; + FThumbTitleBevelOuter := bvLowered; + FThumbTitleBorderStyle := bsNone; end; destructor TJvThumbView.Destroy; @@ -1170,6 +1204,36 @@ begin end; end; +procedure TJvThumbView.SetThumbBevelInner(const AValue: TPanelBevel); +var + i: Integer; +begin + if AValue = FThumbBevelInner then exit; + FThumbBevelInner := AValue; + for i:=0 to FThumbList.Count-1 do + FThumbList.Thumbnail[i].BevelInner := FThumbBevelInner; +end; + +procedure TJvThumbView.SetThumbBevelOuter(const AValue: TPanelBevel); +var + i: Integer; +begin + if AValue = FThumbBevelOuter then exit; + FThumbBevelOuter := AValue; + for i:=0 to FThumbList.Count-1 do + FThumbList.Thumbnail[i].BevelOuter := FThumbBevelOuter; +end; + +procedure TJvThumbView.SetThumbBorderStyle(const AValue: TBorderStyle); +var + i: Integer; +begin + if AValue = FThumbBorderStyle then exit; + FThumbBorderStyle := AValue; + for i:=0 to FThumbList.Count-1 do + FThumbList.Thumbnail[i].BorderStyle := FThumbBorderStyle; +end; + procedure TJvThumbView.SetThumbColor(const AValue: TColor); var i: Integer; @@ -1194,6 +1258,36 @@ begin end; end; +procedure TJvThumbView.SetThumbTitleBevelInner(const AValue: TPanelBevel); +var + i: Integer; +begin + if AValue = FThumbTitleBevelInner then exit; + FThumbTitleBevelInner := AValue; + for i:=0 to FThumbList.Count-1 do + FThumbList.Thumbnail[i].TitleBevelInner := FThumbTitleBevelInner; +end; + +procedure TJvThumbView.SetThumbTitleBevelOuter(const AValue: TPanelBevel); +var + i: Integer; +begin + if AValue = FThumbTitleBevelOuter then exit; + FThumbTitleBevelOuter := AValue; + for i:=0 to FThumbList.Count-1 do + FThumbList.Thumbnail[i].TitleBevelOuter := FThumbTitleBevelOuter; +end; + +procedure TJvThumbView.SetThumbTitleBorderStyle(const AValue: TBorderStyle); +var + i: Integer; +begin + if AValue = FThumbTitleBorderStyle then exit; + FThumbTitleBorderStyle := AValue; + for i:=0 to FThumbList.Count-1 do + FThumbList.Thumbnail[i].TitleBorderStyle := FThumbTitleBorderStyle; +end; + procedure TJvThumbView.SetThumbTitleColor(const AValue: TColor); var i: Integer; diff --git a/components/jvcllaz/run/JvCustomControls/JvThumbnails.pas b/components/jvcllaz/run/JvCustomControls/JvThumbnails.pas index 68298cde8..a66999c5b 100644 --- a/components/jvcllaz/run/JvCustomControls/JvThumbnails.pas +++ b/components/jvcllaz/run/JvCustomControls/JvThumbnails.pas @@ -98,12 +98,14 @@ type FHShadowOffset: Word; FVShadowOffset: Word; FMargin: Integer; - procedure WMPaint(var Msg: TLMPaint); message LM_PAINT; (************** NOT CONVERTED *** procedure PhotoOnProgress(Sender: TObject; Stage: TProgressStage; PercentDone: Byte; RedrawNow: Boolean; const R: TRect; const Msg: string); *******************************) + function GetTitleBevelInner: TPanelBevel; + function GetTitleBevelOuter: TPanelBevel; + function GetTitleBorderStyle: TBorderStyle; procedure RefreshFont(Sender: TObject); procedure SetFileName(const AFile: string); function LoadFile(AFile: string): string; @@ -115,6 +117,9 @@ type procedure SetShowTitle(const AState: Boolean); procedure SetTitlePlacement(const AState: TTitlePos); procedure SetTitle(const Value: string); + procedure SetTitleBevelInner(const Value: TPanelBevel); + procedure SetTitleBevelOuter(const Value: TPanelBevel); + procedure SetTitleBorderStyle(const Value: TBorderStyle); procedure SetTitleColor(const Value: TColor); procedure SetStream(const AStream: TStream); procedure SetTitleFont(const Value: TFont); @@ -127,6 +132,8 @@ type procedure UpdateThumbWidth; procedure UpdateTitlePanelHeight; function IsTitleFontStored: Boolean; + procedure WMPaint(var Msg: TLMPaint); message LM_PAINT; + protected procedure CreateHandle; override; procedure THSizeChanged(var Msg: TLMessage); message TH_IMAGESIZECHANGED; @@ -146,6 +153,9 @@ type published property FileName: string read GetFileName write SetFileName; property Title: string read FTitle write SetTitle; + property TitleBevelInner: TPanelBevel read GetTitleBevelInner write SetTitleBevelInner default bvNone; + property TitleBevelOuter: TPanelBevel read GetTitleBevelOuter write SetTitleBevelOuter default bvLowered; + property TitleBorderStyle: TBorderStyle read GetTitleBorderStyle write SetTitleBorderStyle default bsNone; property TitleColor: TColor read FTitleColor write SetTitleColor default clDefault; property TitleFont: TFont read FTitleFont write SetTitleFont stored IsTitleFontStored; property ImageReady: Boolean read FImageReady; @@ -231,8 +241,7 @@ begin begin Width := TJvThumbView(Owner).MaxWidth; Height := TJvThumbView(Owner).MaxHeight; - end - else + end else begin Width := 120; Height := 120; @@ -259,6 +268,21 @@ begin inherited Destroy; end; +function TJvThumbnail.GetTitleBevelInner: TPanelBevel; +begin + Result := FTitlePanel.BevelInner; +end; + +function TJvThumbnail.GetTitleBevelOuter: TPanelBevel; +begin + Result := FTitlePanel.BevelOuter; +end; + +function TJvThumbnail.GetTitleBorderStyle: TBorderStyle; +begin + Result := FTitlePanel.BorderStyle; +end; + procedure TJvThumbnail.SetShowTitle(const AState: Boolean); begin if AState <> FShowTitle then @@ -268,6 +292,21 @@ begin end end; +procedure TJvThumbnail.SetTitleBevelInner(const Value: TPanelBevel); +begin + FTitlePanel.BevelInner := Value; +end; + +procedure TJvThumbnail.SetTitleBevelOuter(const Value: TPanelBevel); +begin + FTitlePanel.BevelOuter := Value; +end; + +procedure TJvThumbnail.SetTitleBorderStyle(const Value: TBorderStyle); +begin + FTitlePanel.BorderStyle := Value; +end; + procedure TJvThumbnail.BoundsChanged; begin CalculateImageSize;