diff options
author | Caolán McNamara <caolanm@redhat.com> | 2013-09-28 12:17:33 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-09-28 20:58:15 +0100 |
commit | 35a16a88ebd7ea0a09f49d95e7cd6ae2e98381e8 (patch) | |
tree | 3aa1f19185086eb9039159fd249368a0839c00b3 /include/svtools | |
parent | 63a8964ac6d34bb097cc20c0adf984f6380c0b01 (diff) |
route wizards child queue_resize requests to preexisting layout
As an interim measure, until wizards can only be constructed from .ui and then
always contain layout widgets, implement listening for layout widget children
announcing layout change requests and route that to pre-existing original
positioning code. That allows e.g. the mail merge output page in writer to
show/hide the alternative descriptions on selecting letter/email.
Change-Id: I086921f4d46b29756cf4f4fccdf3bdf632ea70b8
Diffstat (limited to 'include/svtools')
-rw-r--r-- | include/svtools/wizdlg.hxx | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/include/svtools/wizdlg.hxx b/include/svtools/wizdlg.hxx index 765d2fac6dd7..82212b3208c7 100644 --- a/include/svtools/wizdlg.hxx +++ b/include/svtools/wizdlg.hxx @@ -210,6 +210,7 @@ IMPL_LINK( MyWizardDlg, ImplNextHdl, PushButton*, pBtn ) class SVT_DLLPUBLIC WizardDialog : public ModalDialog { private: + Timer maWizardLayoutTimer; Size maPageSize; ImplWizPageData* mpFirstPage; ImplWizButtonData* mpFirstBtn; @@ -225,6 +226,9 @@ private: sal_Int16 mnLeftAlignCount; bool mbEmptyViewMargin; + DECL_DLLPRIVATE_LINK( ImplHandleWizardLayoutTimerHdl, void* ); + bool hasWizardPendingLayout() const; + protected: long LogicalCoordinateToPixel(int iCoordinate); /**sets the number of buttons which should be left-aligned. Normally, buttons are right-aligned. @@ -248,9 +252,9 @@ private: SVT_DLLPRIVATE TabPage* ImplGetPage( sal_uInt16 nLevel ) const; public: - WizardDialog( Window* pParent, WinBits nStyle = WB_STDTABDIALOG ); - WizardDialog( Window* pParent, const ResId& rResId ); - ~WizardDialog(); + WizardDialog( Window* pParent, WinBits nStyle = WB_STDTABDIALOG ); + WizardDialog( Window* pParent, const ResId& rResId ); + ~WizardDialog(); virtual void Resize(); virtual void StateChanged( StateChangedType nStateChange ); @@ -259,11 +263,13 @@ public: virtual void ActivatePage(); virtual long DeactivatePage(); - sal_Bool ShowPrevPage(); - sal_Bool ShowNextPage(); - sal_Bool ShowPage( sal_uInt16 nLevel ); - sal_Bool Finnish( long nResult = 0 ); - sal_uInt16 GetCurLevel() const { return mnCurLevel; } + virtual void queue_layout(); + + sal_Bool ShowPrevPage(); + sal_Bool ShowNextPage(); + sal_Bool ShowPage( sal_uInt16 nLevel ); + sal_Bool Finnish( long nResult = 0 ); + sal_uInt16 GetCurLevel() const { return mnCurLevel; } void AddPage( TabPage* pPage ); void RemovePage( TabPage* pPage ); |