From c2391e60b5e6c42c61f5e79315b4e4a76a7ab98a Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Sun, 4 Dec 2016 22:43:34 +0000 Subject: [PATCH] jvcllaz: Add component editor for TJvXPBar. Add ImageIndex property editor for TJvXPBarItem. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5413 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/jvcllaz/packages/JvXPCtrlsLaz.lpk | 19 +++++++++++----- components/jvcllaz/packages/JvXPCtrlsLaz.pas | 2 +- components/jvcllaz/packages/JvXPCtrlsReg.pp | 14 +++++++++++- components/jvcllaz/run/JvXPBar.pas | 23 +++++++++++--------- components/jvcllaz/run/JvXPCore.pas | 8 +++++++ 5 files changed, 48 insertions(+), 18 deletions(-) diff --git a/components/jvcllaz/packages/JvXPCtrlsLaz.lpk b/components/jvcllaz/packages/JvXPCtrlsLaz.lpk index f44a85172..685428355 100644 --- a/components/jvcllaz/packages/JvXPCtrlsLaz.lpk +++ b/components/jvcllaz/packages/JvXPCtrlsLaz.lpk @@ -11,7 +11,7 @@ - + @@ -24,7 +24,7 @@ "/> - + @@ -54,18 +54,25 @@ + + + + - + - + - + + + + - + diff --git a/components/jvcllaz/packages/JvXPCtrlsLaz.pas b/components/jvcllaz/packages/JvXPCtrlsLaz.pas index 9497f1972..5b4c1242f 100644 --- a/components/jvcllaz/packages/JvXPCtrlsLaz.pas +++ b/components/jvcllaz/packages/JvXPCtrlsLaz.pas @@ -9,7 +9,7 @@ interface uses JvXPCoreUtils, JvXPBar, JvXPCore, JvXPContainer, JvXPButtons, - JvXPCheckCtrls, JvXPCtrlsReg, LazarusPackageIntf; + JvXPCheckCtrls, JvXPCtrlsReg, JvXPPropertyEditors, LazarusPackageIntf; implementation diff --git a/components/jvcllaz/packages/JvXPCtrlsReg.pp b/components/jvcllaz/packages/JvXPCtrlsReg.pp index 95797d473..00c708139 100644 --- a/components/jvcllaz/packages/JvXPCtrlsReg.pp +++ b/components/jvcllaz/packages/JvXPCtrlsReg.pp @@ -12,7 +12,9 @@ procedure Register; implementation uses - JvXPCore, JvXPBar, JvXPContainer, JvXPButtons, JvXPCheckCtrls; + ComponentEditors, PropEdits, GraphPropEdits, ImgList, + JvXPCore, JvXPPropertyEditors, + JvXPBar, JvXPContainer, JvXPButtons, JvXPCheckCtrls; procedure Register; begin @@ -24,6 +26,16 @@ begin TJvXPCheckbox, TJvXPStyleManager ]); + + { + RegisterPropertyEditor(TypeInfo(TImageIndex), TJvXPBarItem, 'ImageIndex', + TJvXPItemImageIndexProperty); + } + + RegisterPropertyEditor(TypeInfo(TImageIndex), TJvXPBarItem, 'ImageIndex', + TImageIndexPropertyEditor); + + RegisterComponentEditor(TJvXPBar, TJvXPBarItemEditor); end; initialization diff --git a/components/jvcllaz/run/JvXPBar.pas b/components/jvcllaz/run/JvXPBar.pas index de393843a..1bf7bad63 100644 --- a/components/jvcllaz/run/JvXPBar.pas +++ b/components/jvcllaz/run/JvXPBar.pas @@ -60,8 +60,7 @@ type TJvXPBarRollMode = (rmFixed, rmShrink); // rmFixed is default - TJvXPBarHitTest = - ( + TJvXPBarHitTest = ( htNone, // mouse is inside non-supported rect htHeader, // mouse is inside header htRollButton // mouse is inside rollbutton @@ -89,6 +88,9 @@ const dxColor_FocusedFrameColorXP = clHotLight; dxColor_CheckedFrameColorXP = clHighlight; + dxColor_FontColorXP = TColor($00840000); + dxColor_HeaderFontColorXP = TColor($00840000); + type TJvXPBarItem = class; TJvXPBarItems = class; @@ -1310,6 +1312,7 @@ begin Self.CheckedFrameColor := CheckedFrameColor; Self.FocusedFrameColor := FocusedFrameColor; Self.BodyColor := BodyColor; + Self.BodyBorderColor := BodyBorderColor; Self.GradientTo := GradientTo; Self.GradientFrom := GradientFrom; Self.SeparatorColor := SeparatorColor; @@ -1439,14 +1442,14 @@ begin FTopSpace := 5; FFont := TFont.Create; - FFont.Color := $00840000; + FFont.Color := dxColor_FontColorXP; //$00840000; FFont.Size := 0; //8; FFont.OnChange := @FontChange; FHeaderHeight := 28; FHeaderRounded := True; FGradientWidth := 0; FHeaderFont := TFont.Create; - FHeaderFont.Color := $00840000; + FHeaderFont.Color := dxColor_HeaderFontColorXP; //$00840000; FHeaderFont.Size := 0; //8; FHeaderFont.Style := [fsBold]; FHeaderFont.OnChange := @FontChange; @@ -1696,13 +1699,13 @@ begin begin FFontChanging := True; try - FFont.Color := $00E75100; - FFont.Name := inherited Font.Name; - FFont.Size := 8; + FFont.Color := dxColor_FontColorXP; + FFont.Name := 'default'; + FFont.Size := 0; FFont.Style := inherited Font.Style; - FHeaderFont.Color := $00E75100; - FHeaderFont.Name := Font.Name; - FHeaderFont.Size := 8; + FHeaderFont.Color := dxColor_HeaderFontColorXP; + FHeaderFont.Name := 'default'; + FHeaderFont.Size := 0; FHeaderFont.Style := [fsBold]; finally FFontChanging := False; diff --git a/components/jvcllaz/run/JvXPCore.pas b/components/jvcllaz/run/JvXPCore.pas index 9a1d88793..0c69b9782 100644 --- a/components/jvcllaz/run/JvXPCore.pas +++ b/components/jvcllaz/run/JvXPCore.pas @@ -151,6 +151,7 @@ type procedure CMMouseEnter(var Msg: TLMessage); message CM_MOUSEENTER; procedure CMMouseLeave(var Msg: TLMessage); message CM_MOUSELEAVE; procedure CMParentColorChanged(var Msg: TLMessage); message CM_PARENTCOLORCHANGED; + procedure CMParentFontChanged(var Msg: TLMessage); message CM_PARENTFONTCHANGED; //LCL doesnt fire it //procedure CMParentFontChanged(var Msg: TLMessage); message CM_PARENTFONTCHANGED; @@ -439,6 +440,13 @@ begin HookParentColorChanged; end; +procedure TJvXPCustomControl.CMParentFontChanged(var Msg: TLMessage); +begin + // delegate message "ParentFontChanged" to hook. + inherited; + HookParentFontChanged; +end; + //LCL doesnt fire it... (* procedure TJvXPCustomControl.CMParentFontChanged(var Msg: TLMessage);