33 #include <qstringlist.h>
34 #include "QY2ListView.h"
35 #include <QGridLayout>
40 #include <yui/YWizard.h>
41 #include "YQWizardButton.h"
55 class QTreeWidgetItem;
62 class YQWizard :
public QSplitter,
public YWizard
75 const std::string & backButtonLabel,
76 const std::string & abortButtonLabel,
77 const std::string & nextButtonLabel,
78 YWizardMode wizardMode = YWizardMode_Standard );
92 enum Direction { Forward, Backward };
111 virtual YQWizardButton * abortButton()
const {
return _abortButton; }
112 virtual YQWizardButton * nextButton()
const {
return _nextButton; }
114 virtual YReplacePoint * contentsReplacePoint()
const {
return _contentsReplacePoint; }
122 virtual void setButtonLabel( YPushButton * button,
const std::string & newLabel );
129 virtual void setHelpText(
const std::string & helpText );
166 virtual void addStep(
const std::string & text,
const std::string &
id );
182 QList<YQWizard::Step*>
stepsList() {
return _stepsList; }
233 virtual void addTreeItem(
const std::string & parentID,
234 const std::string & text,
235 const std::string &
id );
272 virtual void addMenu(
const std::string & text,
273 const std::string &
id );
280 virtual void addSubMenu(
const std::string & parentMenuID,
281 const std::string & text,
282 const std::string &
id );
290 virtual void addMenuEntry(
const std::string & parentMenuID,
291 const std::string & text,
292 const std::string &
id );
324 const std::string &
id );
348 virtual bool eventFilter( QObject * obj, QEvent * ev );
380 virtual void setSize(
int newWidth,
int newHeight );
486 void layoutTitleBar ( QWidget * parent );
487 QLayout *layoutSideBar ( QWidget * parent );
488 void layoutSideBarButtonBox ( QWidget * parent, QPushButton * button );
489 void layoutStepsPanel();
490 void layoutTreePanel();
491 QWidget *layoutWorkArea ( QWidget * parent );
492 void layoutClientArea ( QWidget * parent );
493 QLayout *layoutButtonBox ( QWidget * parent );
508 void sendEvent(
const std::string &
id );
556 std::string _backButtonLabel;
557 std::string _abortButtonLabel;
558 std::string _nextButtonLabel;
561 bool _stepsRegistered;
563 bool _protectNextButton;
565 bool _sendButtonEvents;
566 Direction _direction;
568 QString _currentStepID;
573 QStackedWidget * _sideBar;
574 QWidget * _stepsPanel;
575 QPushButton * _releaseNotesButton;
576 std::string _releaseNotesButtonId;
577 QPushButton * _helpButton;
578 QPushButton * _stepsButton;
579 QPushButton * _treeButton;
584 QWidget * _clientArea;
586 QLabel * _dialogIcon;
587 QLabel * _dialogHeading;
592 YReplacePoint * _contentsReplacePoint;
594 QList<YQWizard::Step*> _stepsList;
595 QHash<QString,YQWizard::Step*> _stepsIDs;
596 QHash<QString,YQWizard::TreeItem*> _treeIDs;
597 QHash<QString,QMenu*> _menuIDs;
598 QHash<QAction*, std::string> _menuEntryIDs;
600 QIcon _previousWindowIcon;
614 Step(
const QString & name =
"",
const QString &
id =
"" )
628 virtual bool isHeading()
const {
return false; }
630 enum Status { Unset, Todo, Current, Done };
632 QString name()
const {
return _name; }
633 QLabel * statusLabel()
const {
return _statusLabel; }
634 QLabel * nameLabel()
const {
return _nameLabel; }
635 bool isEnabled()
const {
return _enabled; }
636 const QStringList & id()
const {
return _idList; }
637 void addID(
const QString &
id ) { _idList.append(
id ); }
638 virtual bool hasID(
const QString &
id ) {
return _idList.indexOf(
id ) != -1; }
640 void setStatusLabel( QLabel * label ) { _statusLabel = label; }
641 void setNameLabel ( QLabel * label ) { _nameLabel = label; }
642 void setEnabled(
bool enabled ) { _enabled = enabled; }
654 QLabel * _statusLabel;
661 Q_DISABLE_COPY(
Step);
677 virtual bool isHeading()
const {
return true; }
678 virtual bool hasID(
const QString &
id ) {
return false; }
692 const QString & text,
699 const QString & text,
705 virtual QString text(
int index)
const {
return QTreeWidgetItem::text(index); }
706 QString text()
const {
return QTreeWidgetItem::text(0); }
707 QString id()
const {
return _id; }