jvcllaz: Add icons to TJvThumbnail demo.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6269 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2018-03-23 18:57:52 +00:00
parent 889742d83f
commit f90b6958e5
11 changed files with 190 additions and 20 deletions

View File

@ -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

View File

@ -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;

View File

@ -33,7 +33,7 @@
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="3">
<Units Count="4">
<Unit0>
<Filename Value="JvThumbnailDemo.lpr"/>
<IsPartOfProject Value="True"/>
@ -52,6 +52,13 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
</Unit2>
<Unit3>
<Filename Value="jvthumbnaildatamodule.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="DataModule1"/>
<ResourceBaseClass Value="DataModule"/>
<UnitName Value="JvThumbnailDatamodule"/>
</Unit3>
</Units>
</ProjectOptions>
<CompilerOptions>

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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.

View File

@ -16,12 +16,20 @@
<Description Value="Page style components of the JVCL library (https://sourceforge.net/projects/jvcl/) (designtime code)"/>
<License Value="The JVCL is released in accordance with the MPL 1.1 license. To get your own copy or read it, go to http://www.mozilla.org/MPL/MPL-1.1.html. "/>
<Version Major="1" Release="4"/>
<Files Count="1">
<Files Count="3">
<Item1>
<Filename Value="..\design\JvPageComps\JvPageCompsReg.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="JvPageCompsReg"/>
</Item1>
<Item2>
<Filename Value="..\design\JvPageComps\jvnavpaneeditors.pas"/>
<UnitName Value="JvNavPaneEditors"/>
</Item2>
<Item3>
<Filename Value="..\design\JvPageComps\JvPageListEditors.pas"/>
<UnitName Value="JvPageListEditors"/>
</Item3>
</Files>
<RequiredPkgs Count="4">
<Item1>

View File

@ -15,7 +15,7 @@
<Description Value="Page style components of the JVCL library (https://sourceforge.net/projects/jvcl/) (runtime code)"/>
<License Value="The JVCL is released in accordance with the MPL 1.1 license. To get your own copy or read it, go to http://www.mozilla.org/MPL/MPL-1.1.html. "/>
<Version Major="1" Release="4"/>
<Files Count="2">
<Files Count="3">
<Item1>
<Filename Value="..\run\JvPageComps\JvNavigationPane.pas"/>
<UnitName Value="JvNavigationPane"/>
@ -24,6 +24,10 @@
<Filename Value="..\run\JvPageComps\JvPageList.pas"/>
<UnitName Value="JvPageList"/>
</Item2>
<Item3>
<Filename Value="..\run\JvPageComps\JvPageListTreeView.pas"/>
<UnitName Value="JvPageListTreeView"/>
</Item3>
</Files>
<RequiredPkgs Count="3">
<Item1>

View File

@ -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 Thrnqvist [peter3 at sourceforge dot net] .
Portions created by Peter Thrnqvist are Copyright (C) 2004 Peter Thrnqvist.
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.