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}
|
||||
|
||||
uses
|
||||
JvDsgnConsts, JvNavigationPane;
|
||||
ImgList, PropEdits,
|
||||
JvDsgnConsts,
|
||||
JvNavigationPane, JvNavPaneEditors;
|
||||
|
||||
procedure Register;
|
||||
const
|
||||
cImageIndex = 'ImageIndex';
|
||||
begin
|
||||
RegisterComponents(RsPaletteJvcl, [ // was: RsPaletteNavPane
|
||||
TJvNavigationPane,
|
||||
@ -25,6 +29,10 @@ begin
|
||||
TJvOutlookSplitter,
|
||||
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.
|
||||
|
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