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; }
virtual std::string currentTreeSelection()
virtual void setCurrentStep(const std::string &id)
void setButtonFocus(YQWizardButton *button)
virtual void setDialogIcon(const std::string &iconName)
QWidget * workArea() const
virtual void deleteTreeItems()
QY2ListViewItem(QY2ListView *parentListView, const QString &text=QString::null)
Direction direction() const
void sendTreeEvent(QTreeWidgetItem *item)
virtual std::string debugLabel() const
virtual void setHelpText(const std::string &helpText)
virtual void setButtonLabel(YPushButton *button, const std::string &newLabel)
void releaseNotesClicked()
virtual void setSize(int newWidth, int newHeight)
void connectNotify(const char *signal)
virtual void deleteSteps()
virtual void showReleaseNotesButton(const std::string &label, const std::string &id)
virtual bool eventFilter(QObject *obj, QEvent *ev)
virtual void selectTreeItem(const std::string &id)
void enableButton(YQWizardButton *button, bool enabled)
YQWizard(YWidget *parent, const std::string &backButtonLabel, const std::string &abortButtonLabel, const std::string &nextButtonLabel, YWizardMode wizardMode=YWizardMode_Standard)
void copySteps(YQWizard *wizard)
virtual void addStepHeading(const std::string &text)
void treeSelectionChanged()
virtual void setDialogHeading(const std::string &headingText)
virtual void setDialogTitle(const std::string &titleText)
virtual void addMenuEntry(const std::string &parentMenuID, const std::string &text, const std::string &id)
virtual YQWizardButton * backButton() const
YQWizard::TreeItem * findTreeItem(const std::string &id)
virtual void hideReleaseNotesButton()
virtual void retranslateInternalButtons()
virtual void addMenuSeparator(const std::string &parentMenuID)
virtual void addStep(const std::string &text, const std::string &id)
virtual void deleteMenus()
virtual void addSubMenu(const std::string &parentMenuID, const std::string &text, const std::string &id)
YQWizard::Step * findStep(const QString &id)
virtual int preferredHeight()
void sendEvent(const std::string &id)
virtual void addMenu(const std::string &text, const std::string &id)
QList< YQWizard::Step * > stepsList()
virtual void addTreeItem(const std::string &parentID, const std::string &text, const std::string &id)
void disconnectNotify(const char *signal)
void sendMenuEvent(QAction *action)
virtual int preferredWidth()
virtual void updateSteps()