You've already forked lazarus-ccr
jvcllaz: Add ImageIndex property editor to NavigationPane components
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6262 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -14,9 +14,13 @@ implementation
|
|||||||
{$R ..\..\resource\jvpagecompsreg.res}
|
{$R ..\..\resource\jvpagecompsreg.res}
|
||||||
|
|
||||||
uses
|
uses
|
||||||
JvDsgnConsts, JvNavigationPane;
|
ImgList, PropEdits,
|
||||||
|
JvDsgnConsts,
|
||||||
|
JvNavigationPane, JvNavPaneEditors;
|
||||||
|
|
||||||
procedure Register;
|
procedure Register;
|
||||||
|
const
|
||||||
|
cImageIndex = 'ImageIndex';
|
||||||
begin
|
begin
|
||||||
RegisterComponents(RsPaletteJvcl, [ // was: RsPaletteNavPane
|
RegisterComponents(RsPaletteJvcl, [ // was: RsPaletteNavPane
|
||||||
TJvNavigationPane,
|
TJvNavigationPane,
|
||||||
@ -25,6 +29,10 @@ begin
|
|||||||
TJvOutlookSplitter,
|
TJvOutlookSplitter,
|
||||||
TJvNavPaneStyleManager, TJvNavPaneToolPanel
|
TJvNavPaneStyleManager, TJvNavPaneToolPanel
|
||||||
]);
|
]);
|
||||||
|
RegisterPropertyEditor(TypeInfo(TImageIndex), TJvNavPanelPage, cImageIndex, TJvNavPanePageImageIndexProperty);
|
||||||
|
RegisterPropertyEditor(TypeInfo(TImageIndex), TJvNavPanelHeader, cImageIndex, TJvNavPanelHeaderImageIndexProperty);
|
||||||
|
RegisterPropertyEditor(TypeInfo(TImageIndex), TJvNavPanelButton, cImageIndex, TJvNavPanelButtonImageIndexProperty);
|
||||||
|
RegisterPropertyEditor(TypeInfo(TImageIndex), TJvNavIconButton, cImageIndex, TJvNavIconButtonImageIndexProperty);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
73
components/jvcllaz/design/JvPageComps/jvnavpaneeditors.pas
Normal file
73
components/jvcllaz/design/JvPageComps/jvnavpaneeditors.pas
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
unit JvNavPaneEditors;
|
||||||
|
|
||||||
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils, ImgList,
|
||||||
|
PropEdits, GraphPropEdits;
|
||||||
|
|
||||||
|
type
|
||||||
|
TJvNavPanePageImageIndexProperty = class(TImageIndexPropertyEditor)
|
||||||
|
protected
|
||||||
|
function GetImageList: TCustomImageList; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TJvNavPanelHeaderImageIndexProperty = class(TImageIndexPropertyEditor)
|
||||||
|
protected
|
||||||
|
function GetImageList: TCustomImageList; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TJvNavPanelButtonImageIndexProperty = class(TImageIndexPropertyEditor)
|
||||||
|
protected
|
||||||
|
function GetImageList: TCustomImageList; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TJvNavIconButtonImageIndexProperty = class(TImageIndexPropertyEditor)
|
||||||
|
protected
|
||||||
|
function GetImageList: TCustomImageList; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
JvPageList, JvNavigationPane;
|
||||||
|
|
||||||
|
function TJvNavPanePageImageIndexProperty.GetImageList: TCustomImageList;
|
||||||
|
var
|
||||||
|
P: TJvNavigationPane;
|
||||||
|
begin
|
||||||
|
P := TJvNavigationPane(TJvNavPanelPage(GetComponent(0)).PageList);
|
||||||
|
if P = nil then
|
||||||
|
Result := nil
|
||||||
|
else
|
||||||
|
if P.SmallImages <> nil then // small images fit better into the OI, so prefer those
|
||||||
|
Result := P.SmallImages
|
||||||
|
else
|
||||||
|
Result := P.LargeImages;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//=== { TJvNavPanelHeaderImageIndexProperty } ================================
|
||||||
|
|
||||||
|
function TJvNavPanelHeaderImageIndexProperty.GetImageList: TCustomImageList;
|
||||||
|
begin
|
||||||
|
Result := TJvNavPanelHeader(GetComponent(0)).Images;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//=== { TJvNavPanelButtonImageIndexProperty } ================================
|
||||||
|
|
||||||
|
function TJvNavPanelButtonImageIndexProperty.GetImageList: TCustomImageList;
|
||||||
|
begin
|
||||||
|
Result := TJvNavPanelButton(GetComponent(0)).Images;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//=== { TJvNavIconButtonImageIndexProperty } =================================
|
||||||
|
|
||||||
|
function TJvNavIconButtonImageIndexProperty.GetImageList: TCustomImageList;
|
||||||
|
begin
|
||||||
|
Result := TJvNavIconButton(GetComponent(0)).Images;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
Reference in New Issue
Block a user