19#ifndef INCLUDED_VCL_WIZARDMACHINE_HXX
20#define INCLUDED_VCL_WIZARDMACHINE_HXX
35#define WZS_INVALID_STATE (::vcl::WizardTypes::WizardState(-1))
62 virtual void initializePage() = 0;
72 virtual bool canAdvance()
const = 0;
75 ~IWizardPageController() {}
86 virtual void initializePage()
override;
88 virtual bool canAdvance()
const override;
92 virtual void Activate()
override;
99 void updateDialogTravelUI();
136 std::unique_ptr<WizardMachineImplData>
m_pImpl;
148 void AddPage( std::unique_ptr<BuilderPage> xPage );
161 void setTitleBase(
const OUString& _rTitleBase);
164 virtual bool canAdvance()
const;
172 virtual void updateTravelUI();
175 virtual void ActivatePage();
176 virtual bool DeactivatePage();
223 virtual bool onFinish();
229 bool travelPrevious();
236 void enableAutomaticNextButtonState();
237 bool isAutomaticNextButtonStateEnabled()
const;
299 virtual IWizardPageController* getPageController(
BuilderPage* pCurrentPage)
const;
303 void getStateHistory(std::vector<WizardTypes::WizardState>& out_rHistory);
316 void suspendTraveling( AccessGuard );
317 void resumeTraveling( AccessGuard );
318 bool isTravelingSuspended()
const;
354#define WIZARDDIALOG_BUTTON_STDOFFSET_X 6
355#define WIZARDDIALOG_BUTTON_SMALLSTDOFFSET_X 3
implements some kind of finite automata, where the states of the automata exactly correlate with tab ...
std::unique_ptr< weld::Button > m_xNextPage
std::unique_ptr< weld::Button > m_xCancel
DECL_DLLPRIVATE_LINK(OnNextPage, weld::Button &, void)
std::unique_ptr< weld::Button > m_xPrevPage
std::unique_ptr< weld::Button > m_xHelp
WizardTypes::WizardState m_nCurState
DECL_DLLPRIVATE_LINK(OnFinish, weld::Button &, void)
std::unique_ptr< weld::Button > m_xFinish
std::unique_ptr< WizardMachineImplData > m_pImpl
void resumeTraveling(AccessGuard)
DECL_DLLPRIVATE_LINK(OnPrevPage, weld::Button &, void)
DECL_DLLPRIVATE_LINK(OnCancel, weld::Button &, void)
virtual std::unique_ptr< BuilderPage > createPage(WizardTypes::WizardState _nState)=0
to override to create new pages
WizPageData * m_pFirstPage
WizardTypes::WizardState getCurrentState() const
returns the current state of the machine
BuilderPage * m_pCurTabPage
void suspendTraveling(AccessGuard)
helper class to temporarily suspend any traveling in the wizard
WizardTravelSuspension(WizardMachine &rWizard)
WizardMachine * m_pWizard
~WizardTravelSuspension()
class VCL_DLLPUBLIC SAL_LOPLUGIN_ANNOTATE("crosscast") IPrioritable