diff --git a/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.lfm b/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.lfm index 947bfef75..ee536e1a2 100644 --- a/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.lfm +++ b/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.lfm @@ -44,8 +44,10 @@ object JvThumbnailChildForm: TJvThumbnailChildForm Color = clDefault FileSortType = fstNone HideSelection = False + Images = DataModule1.ImageList1 ReadOnly = True TabOrder = 0 + OnGetImageIndex = ShellTreeViewGetImageIndex Options = [tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw] ObjectTypes = [otFolders] ShellListView = ShellListView @@ -233,6 +235,7 @@ object JvThumbnailChildForm: TJvThumbnailChildForm Top = 124 Width = 236 Align = alTop + AutoSize = True BevelOuter = bvNone Caption = 'Panel10' ClientHeight = 23 @@ -240,7 +243,7 @@ object JvThumbnailChildForm: TJvThumbnailChildForm TabOrder = 3 OnResize = Panel10Resize object FilterComboBox1: TFilterComboBox - Left = 2 + Left = 0 Height = 23 Top = 0 Width = 235 diff --git a/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.pas b/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.pas index 9cefa16fc..86db0fdcf 100644 --- a/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.pas +++ b/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.pas @@ -36,6 +36,9 @@ uses JvThumbImage, JvThumbNails, JvBaseThumbnail, JvExExtCtrls; type + + { TJvThumbnailChildForm } + TJvThumbnailChildForm = class(TForm) Splitter2: TSplitter; Panel6: TPanel; @@ -81,6 +84,7 @@ type procedure Panel8Resize(Sender: TObject); procedure BtnInvertClick(Sender: TObject); procedure Button5Click(Sender: TObject); + procedure ShellTreeViewGetImageIndex(Sender: TObject; Node: TTreeNode); procedure thumbnail1Click(Sender: TObject); procedure Panel10Resize(Sender: TObject); procedure FormShow(Sender: TObject); @@ -97,6 +101,9 @@ implementation {$R *.lfm} +uses + JvThumbnailDatamodule; + procedure TJvThumbnailChildForm.Button2Click(Sender: TObject); begin ThumbImage1.ChangeRGB(redbar.Position,greenbar.Position,bluebar.Position); @@ -120,6 +127,15 @@ begin end; end; +procedure TJvThumbnailChildForm.ShellTreeViewGetImageIndex(Sender: TObject; + Node: TTreeNode); +begin + if Node.Level = 0 then + Node.ImageIndex := 0 + else + Node.ImageIndex := 1; +end; + procedure TJvThumbnailChildForm.CbAsButtonClick(Sender: TObject); begin THumbnail1.Asbutton := CbAsButton.Checked; diff --git a/components/jvcllaz/examples/JvThumbnail/JvThumbnailDemo.lpi b/components/jvcllaz/examples/JvThumbnail/JvThumbnailDemo.lpi index ad3882fe6..6b5107536 100644 --- a/components/jvcllaz/examples/JvThumbnail/JvThumbnailDemo.lpi +++ b/components/jvcllaz/examples/JvThumbnail/JvThumbnailDemo.lpi @@ -33,7 +33,7 @@ - + @@ -52,6 +52,13 @@ + + + + + + + diff --git a/components/jvcllaz/examples/JvThumbnail/JvThumbnailDemo.lpr b/components/jvcllaz/examples/JvThumbnail/JvThumbnailDemo.lpr index 54bdde546..0ade75895 100644 --- a/components/jvcllaz/examples/JvThumbnail/JvThumbnailDemo.lpr +++ b/components/jvcllaz/examples/JvThumbnail/JvThumbnailDemo.lpr @@ -1,13 +1,14 @@ program JvThumbnailDemo; uses - Forms, Interfaces, JvThumbnailMainFormU, JvThumbnailChildFormU {JvThumbnailMainForm}; + Forms, Interfaces, JvThumbnailMainFormU, JvThumbnailChildFormU, JvThumbnailDatamodule {JvThumbnailMainForm}; {$R *.RES} begin Application.Scaled := True; Application.Initialize; + Application.CreateForm(TDataModule1, DataModule1); Application.CreateForm(TJvThumbnailMainForm, JvThumbnailMainForm); // Application.CreateForm(TJvThumbnailChildForm, JvThumbnailChildForm); Application.Run; diff --git a/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.lfm b/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.lfm index 4f696eef0..27f3901cb 100644 --- a/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.lfm +++ b/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.lfm @@ -282,9 +282,11 @@ object JvThumbnailMainForm: TJvThumbnailMainForm Align = alClient FileSortType = fstNone HideSelection = False + Images = DataModule1.ImageList1 ReadOnly = True TabOrder = 0 OnChange = ShellTreeViewChange + OnGetImageIndex = ShellTreeViewGetImageIndex Options = [tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw] ObjectTypes = [otFolders] end diff --git a/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.pas b/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.pas index df302065a..abcf88b82 100644 --- a/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.pas +++ b/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.pas @@ -32,8 +32,8 @@ interface uses Classes, Controls, Forms, StdCtrls, ExtCtrls, FileCtrl, ComCtrls, Spin, ShellCtrls, - JvThumbNails, {JvSpecialProgress, }JvThumbViews, JvBaseThumbnail; - { + JvThumbNails, JvThumbViews, JvBaseThumbnail, JvThumbnailDatamodule; + {JvSpecialProgress, JvListBox, JvDriveCtrls, JvCombobox, JvExControls, JvComponent, JvExStdCtrls, JvExForms; } @@ -69,6 +69,7 @@ type ProgressBar: TProgressBar; Bevel1: TBevel; procedure ShellTreeViewChange(Sender: TObject; Node: TTreeNode); + procedure ShellTreeViewGetImageIndex(Sender: TObject; Node: TTreeNode); procedure ThumbViewKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure ThumbViewMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); @@ -194,6 +195,16 @@ begin NewDir := True; end; +procedure TJvThumbnailMainForm.ShellTreeViewGetImageIndex(Sender: TObject; + Node: TTreeNode); +begin + if Node.Level = 0 then + Node.ImageIndex := 0 + else + Node.ImageIndex := 1; + Node.SelectedIndex := Node.ImageIndex; +end; + procedure TJvThumbnailMainForm.FormShow(Sender: TObject); begin CbAutoScrolling.Checked := ThumbView.AutoScrolling; diff --git a/components/jvcllaz/examples/JvThumbnail/jvthumbnaildatamodule.lfm b/components/jvcllaz/examples/JvThumbnail/jvthumbnaildatamodule.lfm new file mode 100644 index 000000000..1ee73d578 --- /dev/null +++ b/components/jvcllaz/examples/JvThumbnail/jvthumbnaildatamodule.lfm @@ -0,0 +1,79 @@ +object DataModule1: TDataModule1 + OldCreateOrder = False + Height = 214 + HorizontalOffset = 562 + VerticalOffset = 315 + Width = 366 + PPI = 96 + object ImageList1: TImageList + left = 80 + top = 58 + Bitmap = { + 4C69020000001000000010000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF009F9D9B009D9A98009E9C9A009E9C9AFFA5A3 + A1FFA5A3A1FFA5A3A1FFA5A3A1FFA5A3A1FFA5A3A1FFA5A3A1FFA5A3A1FF9E9C + 9AFF9E9C9A009D9A98009F9D9B009F9D9B009B989600999795FFE4E3E2FFC6C4 + C2FFC6C4C2FFC6C4C2FFC6C4C2FFC6C4C2FFC6C4C2FFC6C4C2FFC6C4C2FFE4E3 + E2FF999795FF9B9896009F9D9B009D9B9900969390FFE5E4E3FFC7C4C2FFC7C4 + C2FFC7C5C3FFC7C5C3FFC7C5C3FFC7C5C3FFC7C5C3FFC7C5C3FFC7C4C2FFC7C4 + C2FFE5E4E3FF969390FF9D9B99009A9896AAEFEEEFFFEBEAEAFFEAE9EAFFEAE9 + EAFFEAE9EAFFEAE9EAFFEAE9EAFFEAE9EAFFEAE9EAFFEAE9EAFFEAE9EAFFEAE9 + EAFFEBEAEAFFEFEEEFFF9A9896AA969492FFE3E1E0FF9D9997FF9D9997FF9C99 + 97FF9C9997FF9C9997FF9C9997FF9C9997FF9C9997FF9C9997FF9C9997FF9D99 + 97FF9D9997FFE3E1E0FF969492FF93918FFFDCDBD9FFA6A3A0FFE6E4E4FFE5E3 + E4FFE5E4E4FFE6E4E4FFE6E4E4FFE6E4E4FFE6E4E4FFE5E4E4FFE5E3E4FFE6E4 + E4FFA6A3A0FFDCDBD9FF93918FFF908E8CFFD7D5D4FFAEACAAFFE1DFE0FFB0AD + ABFFB1AEACFFB2AEACFFB2AEACFFB2AEACFFB2AEACFFB1AEACFFB0ADABFFE1DF + E0FFAEACAAFFD7D5D4FF908E8CFF8D8A88FFD4D2D1FFB7B4B2FFD2D0D0FFC3C1 + BFFFC4C2C0FFC4C2C0FFC4C2C0FFC4C2C0FFC4C2C0FFC4C2C0FFC3C1BFFFD2D0 + D0FFB7B4B2FFD4D2D1FF8D8A88FF8A8785FFD2D0CFFFC1BFBDFFAEACAAFFAFAD + ABFFAFADABFFAFADABFFAFADABFFAFADABFFAFADABFFAFADABFFAFADABFFAEAC + AAFFC1BFBDFFD2D0CFFF8A8785FF888583FFD6D4D2FFCECCCAFFCECCCAFFCECC + CAFFCECCCAFFCECCCAFFCECCCAFFCECCCAFFCECCCAFFCECCCAFFCECCCAFFCECC + CAFFCECCCAFFD6D4D2FF888583FF7D7A78C084817FFF83807EFF83807EFF8380 + 7EFF83807EFF83807EFF83807EFF83807EFF83807EFF83807EFF83807EFF8380 + 7EFF83807EFF84817FFF7D7A78C0000000230000003300000033000000330000 + 0033000000330000003300000033000000330000003300000033000000330000 + 0033000000330000003300000023FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00459AD3EF4498D2FF4197 + D1FF3F95D1FF3D94D0FF3B93D0FF3B92CFFF3B92CFFF3B92CFFF3D94D0FF4398 + D2EF00000000FFFFFF00FFFFFF00FFFFFF00FFFFFF004297D2FF3B93D0FF62AD + DCFF93CDEDFFBBE7FAFFD9FCFFFFD9FAFFFFD7F9FFFFD7F9FFFFD9FBFFFF3D94 + D0FF00000000FFFFFF00FFFFFF00FFFFFF00FFFFFF003C93D0FFE9FFFFFFA8DA + F3FF7BBDE4FF4398D1FF3493D1FF46AAE0FF53BDEBFF61D3FBFFCEF8FFFF3B92 + CFFF00000000FFFFFF00FFFFFF00FFFFFF00FFFFFF003991CFFFE9FFFFFFAFF0 + FFFFCEF7FFFFDAFAFFFFC5EBFBFF90C8EAFF66ADDBFF47A8DDFFCBF8FFFF3C92 + CFFF00000000FFFFFF00FFFFFF00FFFFFF00FFFFFF003A91CEFFD2FCFFFF7AE2 + FCFF77DDFCFF7FDFFBFF9BE6FCFFB4EDFFFFD8FAFFFF318ACBFFC6F8FFFF3D93 + CFFF00000000FFFFFF00FFFFFF00FFFFFF00FFFFFF003B91CEFFC9F9FFFF7EE2 + FCFF7CDEFCFF78DCFBFF72D9FAFF6AD6FAFFD4F7FFFF318ACBFFC1F8FFFF3D93 + CFFF00000000FFFFFF00FFFFFF00FFFFFF00FFFFFF003C91CEFFC0F8FFFF7FE2 + FCFF7DDFFCFF7ADDFBFF75DAFAFF6DD7FAFFC7F3FFFF338BCBFFBCF7FFFF3D92 + CFFF00000000FFFFFF00FFFFFF00FFFFFF00FFFFFF003C92CEFFB6F6FFFF80E3 + FCFF7DDFFCFF7ADDFBFF76DAFAFF6ED7FAFFBAEFFFFF338BCBFFB5F7FFFF3A8F + CDFF4397D1E7FFFFFF00FFFFFF00FFFFFF00FFFFFF003D92CEFFADF3FFFF81E3 + FCFF7EDFFCFF7ADDFBFF76DAFAFF6FD8FAFFADEBFFFF358ACBFFB0F4FFFFABF4 + FFFF3F94D0FFFFFFFF00FFFFFF00FFFFFF00FFFFFF003E92CEFFA3F1FFFF82E3 + FCFF7EDFFCFF7ADDFBFF76DAFAFF71D9FBFFA0E8FFFF368ACAFF87EBFFFFA3F2 + FFFF3E92CEFFFFFFFF00FFFFFF00FFFFFF00FFFFFF003E92CEFF9AF0FFFF83E4 + FDFF7EDFFCFF7ADDFBFF76DAFAFF8AE2FEFF4EA9DDFF54ABDCFF8DEDFFFF9FF3 + FFFF3E92CFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF004094CFFF92F1FFFF85E7 + FFFF80E1FDFF7ADEFBFF77DBFBFF85E2FFFF3B8DCBFF93F1FFFF96F3FFFF9FF9 + FFFF4094D0FFFFFFFF00FFFFFF00FFFFFF00FFFFFF004295CEEF58B0DFFF6DC9 + EFFF7FE2FDFF7EE3FEFF7ADEFCFF80E2FFFF3F92CEFF4094CFFF4093CFFF4094 + D0FF4396CFF1FFFFFF00FFFFFF00FFFFFF00FFFFFF000000002F326F997C3D8A + C1C74092CEFF54ADDEFF66C4EDFF7AE0FEFF4295D0FF1F455F502653725A2859 + 7A5F0000002FFFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000120000 + 002500000033326E987A3E8BC1C84396D1FF4496CFF1000000070000000A0000 + 000B00000000FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000 + 0000000000000000001200000025000000330000002F00000000000000000000 + 000000000000FFFFFF00FFFFFF00 + } + end +end diff --git a/components/jvcllaz/examples/JvThumbnail/jvthumbnaildatamodule.pas b/components/jvcllaz/examples/JvThumbnail/jvthumbnaildatamodule.pas new file mode 100644 index 000000000..87b069167 --- /dev/null +++ b/components/jvcllaz/examples/JvThumbnail/jvthumbnaildatamodule.pas @@ -0,0 +1,30 @@ +unit JvThumbnailDatamodule; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, Controls; + +type + + { TDataModule1 } + + TDataModule1 = class(TDataModule) + ImageList1: TImageList; + private + + public + + end; + +var + DataModule1: TDataModule1; + +implementation + +{$R *.lfm} + +end. + diff --git a/components/jvcllaz/packages/JvPageCompsD.lpk b/components/jvcllaz/packages/JvPageCompsD.lpk index f9293dd9e..4cb61491e 100644 --- a/components/jvcllaz/packages/JvPageCompsD.lpk +++ b/components/jvcllaz/packages/JvPageCompsD.lpk @@ -16,12 +16,20 @@ - + + + + + + + + + diff --git a/components/jvcllaz/packages/JvPageCompsR.lpk b/components/jvcllaz/packages/JvPageCompsR.lpk index 522269abf..c25bfee94 100644 --- a/components/jvcllaz/packages/JvPageCompsR.lpk +++ b/components/jvcllaz/packages/JvPageCompsR.lpk @@ -15,7 +15,7 @@ - + @@ -24,6 +24,10 @@ + + + + diff --git a/components/jvcllaz/run/JvPageComps/JvPageList.pas b/components/jvcllaz/run/JvPageComps/JvPageList.pas index 6b2cde1f6..ccc5a9e08 100644 --- a/components/jvcllaz/run/JvPageComps/JvPageList.pas +++ b/components/jvcllaz/run/JvPageComps/JvPageList.pas @@ -10,8 +10,8 @@ the specific language governing rights and limitations under the License. The Original Code is: JvPageList.PAS, released on 2003-04-25. -The Initial Developer of the Original Code is Peter Thörnqvist [peter3 at sourceforge dot net] . -Portions created by Peter Thörnqvist are Copyright (C) 2004 Peter Thörnqvist. +The Initial Developer of the Original Code is Peter Thörnqvist [peter3 at sourceforge dot net] . +Portions created by Peter Thörnqvist are Copyright (C) 2004 Peter Thörnqvist. All Rights Reserved. Contributor(s): @@ -42,7 +42,6 @@ uses type EPageListError = class(Exception); -(******************** NOT CONVERTED IPageList = interface ['{6BB90183-CFB1-4431-9CFD-E9A032E0C94C}'] function CanChange(AIndex: Integer): Boolean; @@ -54,7 +53,6 @@ type procedure MovePage(CurIndex, NewIndex: Integer); procedure PageCaptionChanged(Index: Integer; const NewCaption: string); end; -******************** NOT CONVERTED *) TJvCustomPageList = class; @@ -121,8 +119,8 @@ type //TODO: 25.09.2007 - SESS - Find a better place... TCMDesignHitTest = TLMMouse; - // TJvCustomPageList = class(TJvCustomControl, IUnknown, IPageList) - TJvCustomPageList = class(TJvCustomControl) + TJvCustomPageList = class(TJvCustomControl, IUnknown, IPageList) + //TJvCustomPageList = class(TJvCustomControl) private FPages: TList; FActivePage: TJvCustomPage; @@ -182,7 +180,7 @@ type property PageCount: Integer read GetPageCount; end; -(******************** NOT CONVERTED +(******************** NOT CONVERTED *) TJvStandardPage = class(TJvCustomPage) published property BorderWidth; @@ -240,7 +238,7 @@ type property OnStartDock; property OnUnDock; property OnEndDock; - property OnCanResize; +// property OnCanResize; property OnDockDrop; property OnDockOver; property OnGetSiteInfo; @@ -275,7 +273,7 @@ type property ParentBackground default False; {$ENDIF JVCLThemesEnabled} end; -******************** NOT CONVERTED *) +(******************** NOT CONVERTED *) implementation @@ -323,7 +321,7 @@ end; destructor TJvCustomPage.Destroy; begin - PageList := nil; + PageList := nil; // This removes the page from the PageList. inherited Destroy; end; @@ -464,6 +462,13 @@ end; function TJvCustomPage.DoEraseBackground(ACanvas: TCanvas; Param: Integer): Boolean; begin + exit; + + + + + + ACanvas.Brush.Color := Self.Color; ACanvas.Brush.Style := bsSolid; ACanvas.FillRect(Rect(0, 0, Width, Height)); @@ -512,7 +517,10 @@ end; constructor TJvCustomPageList.Create(AOwner: TComponent); begin inherited Create(AOwner); - ControlStyle := ControlStyle + [csAcceptsControls]; + // TNotebook has a comment: "Do not add csAcceptsControls" !!!! + // ControlStyle := ControlStyle + [csAcceptsControls]; + ControlStyle := []; + // IncludeThemeStyle(Self, [csParentBackground]); FPages := TList.Create; FHiddenPages := TList.Create; @@ -870,6 +878,7 @@ begin if FShowDesignCaption <> Value then begin FShowDesignCaption := Value; + if ActivePage <> nil then ActivePage.Invalidate; //TODO: (* if HandleAllocated and (csDesigning in ComponentState) then @@ -932,13 +941,13 @@ begin Pages[Index].Caption := NewCaption; end; -(************** +(************** *) //===TJvPageList ============================================================= function TJvPageList.InternalGetPageClass: TJvCustomPageClass; begin Result := TJvStandardPage; end; -*******************) +(*******************) end.