diff options
author | Armin Le Grand <alg@apache.org> | 2014-06-16 11:23:03 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-06-17 13:59:38 +0100 |
commit | 0f61a89e51a9ac2e4be29df9974562d23fb63b06 (patch) | |
tree | 006c6e29738a25436e4a59bcf9d5217eade44df9 /include/svx | |
parent | 7b811b689c3980ea466a96de16833c01226beeb1 (diff) |
Resolves: #i125065# handle critical cases in FillStyle/FillProperties...
toolbar combination
(cherry picked from commit 0ce4a90e14ddc9067d014405235a36aa959c6ea2)
Conflicts:
include/svx/fillctrl.hxx
svx/source/tbxctrls/fillctrl.cxx
Change-Id: I9a1b2490a7e9285559dddd4df7fb20c2216fd450
Diffstat (limited to 'include/svx')
-rw-r--r-- | include/svx/fillctrl.hxx | 64 |
1 files changed, 38 insertions, 26 deletions
diff --git a/include/svx/fillctrl.hxx b/include/svx/fillctrl.hxx index c409aecfcf2d..8825770f5b5d 100644 --- a/include/svx/fillctrl.hxx +++ b/include/svx/fillctrl.hxx @@ -40,32 +40,33 @@ class ListBox; |* \************************************************************************/ -class SVX_DLLPUBLIC SvxFillToolBoxControl: public SfxToolBoxControl +class SVX_DLLPUBLIC SvxFillToolBoxControl : public SfxToolBoxControl { private: - XFillStyleItem* pStyleItem; - XFillColorItem* pColorItem; - XFillGradientItem* pGradientItem; - XFillHatchItem* pHatchItem; - XFillBitmapItem* pBitmapItem; + XFillStyleItem* mpStyleItem; + XFillColorItem* mpColorItem; + XFillGradientItem* mpGradientItem; + XFillHatchItem* mpHatchItem; + XFillBitmapItem* mpBitmapItem; - FillControl* pFillControl; - SvxFillTypeBox* pFillTypeLB; - SvxFillAttrBox* pFillAttrLB; + FillControl* mpFillControl; + SvxFillTypeBox* mpFillTypeLB; + SvxFillAttrBox* mpFillAttrLB; - bool bUpdate; - sal_uInt16 eLastXFS; + XFillStyle meLastXFS; + + /// bitfield + bool mbUpdate:1; public: SFX_DECL_TOOLBOX_CONTROL(); - SvxFillToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); + SvxFillToolBoxControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx); virtual ~SvxFillToolBoxControl(); - virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, - const SfxPoolItem* pState ) SAL_OVERRIDE; - void Update( const SfxPoolItem* pState ); - virtual Window* CreateItemWindow( Window *pParent ) SAL_OVERRIDE; + virtual void StateChanged(sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState) SAL_OVERRIDE; + void Update(const SfxPoolItem* pState); + virtual Window* CreateItemWindow(Window* pParent) SAL_OVERRIDE; }; @@ -75,18 +76,29 @@ class FillControl : public Window private: friend class SvxFillToolBoxControl; - SvxFillTypeBox* pLbFillType; - SvxFillAttrBox* pLbFillAttr; - Size aLogicalFillSize; - Size aLogicalAttrSize; - Timer aDelayTimer; + SvxFillTypeBox* mpLbFillType; + SvxFillAttrBox* mpLbFillAttr; + Size maLogicalFillSize; + Size maLogicalAttrSize; + + // + sal_uInt16 mnLastFillTypeControlSelectEntryPos; + sal_uInt16 mnLastFillAttrControlSelectEntryPos; + + /// bitfield + bool mbFillTypeChanged : 1; + + DECL_LINK(SelectFillTypeHdl,ListBox *); + DECL_LINK(SelectFillAttrHdl,ListBox *); + + virtual void DataChanged(const DataChangedEvent& rDCEvt) SAL_OVERRIDE; + + void InitializeFillStyleAccordingToGivenFillType(XFillStyle eFillStyle); + void updateLastFillTypeControlSelectEntryPos(); + void updateLastFillAttrControlSelectEntryPos(); - DECL_LINK( DelayHdl, void * ); - DECL_LINK( SelectFillTypeHdl, ListBox * ); - DECL_LINK( SelectFillAttrHdl, ListBox * ); - virtual void DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE; public: - FillControl( Window* pParent, WinBits nStyle = 0 ); + FillControl(Window* pParent, WinBits nStyle = 0); virtual ~FillControl(); virtual void Resize() SAL_OVERRIDE; |