2 * Copyright 2008-2010, Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
6 * Michael Pfeiffer <laplace@users.sourceforge.net>
8 #ifndef WIZARD_CONTROLLER_H
9 #define WIZARD_CONTROLLER_H
12 #include <SupportDefs.h>
19 class WizardController
{
22 virtual ~WizardController();
24 virtual void Initialize(WizardView
* wizard
);
25 virtual void Next(WizardView
* wizard
);
26 virtual void Previous(WizardView
* wizard
);
29 virtual int32
InitialState() = 0;
30 virtual int32
NextState(int32 state
) = 0;
31 virtual WizardPageView
* CreatePage(int32 state
, WizardView
* wizard
) = 0;
33 int32
CurrentState() const;
38 StateStack(int32 state
, StateStack
* next
)
62 void _PushState(int32 state
);
63 void _ShowPage(WizardView
* wizard
);
70 #endif // WIZARD_CONTROLLER_H