Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
b790e04e
Commit
b790e04e
authored
Mar 29, 2010
by
Jarek Kobus
Browse files
Introduce a new Wizard class, capable of showing progress items.
parent
a699e6d5
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
src/libs/utils/utils.pro
View file @
b790e04e
...
...
@@ -9,6 +9,7 @@ SOURCES += reloadpromptutils.cpp \
filesearch
.
cpp
\
pathchooser
.
cpp
\
pathlisteditor
.
cpp
\
wizard
.
cpp
\
filewizardpage
.
cpp
\
filewizarddialog
.
cpp
\
projectintropage
.
cpp
\
...
...
@@ -58,6 +59,7 @@ HEADERS += utils_global.h \
listutils
.
h
\
pathchooser
.
h
\
pathlisteditor
.
h
\
wizard
.
h
\
filewizardpage
.
h
\
filewizarddialog
.
h
\
projectintropage
.
h
\
...
...
src/libs/utils/wizard.cpp
0 → 100644
View file @
b790e04e
This diff is collapsed.
Click to expand it.
src/libs/utils/wizard.h
0 → 100644
View file @
b790e04e
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** Commercial Usage
**
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Nokia.
**
** GNU Lesser General Public License Usage
**
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** If you are unsure which license is appropriate for your use, please
** contact the sales department at http://qt.nokia.com/contact.
**
**************************************************************************/
#ifndef WIZARD_H
#define WIZARD_H
#include <QWizard>
#include "utils_global.h"
#include <QtGui/QWizard>
namespace
Utils
{
class
WizardProgress
;
class
WizardPrivate
;
class
Q_GUI_EXPORT
Wizard
:
public
QWizard
{
Q_OBJECT
Q_PROPERTY
(
bool
automaticProgressCreationEnabled
READ
isAutomaticProgressCreationEnabled
WRITE
setAutomaticProgressCreationEnabled
)
public:
explicit
Wizard
(
QWidget
*
parent
=
0
);
bool
isAutomaticProgressCreationEnabled
()
const
;
void
setAutomaticProgressCreationEnabled
(
bool
enabled
);
void
setStartId
(
int
pageId
);
WizardProgress
*
wizardProgress
()
const
;
private
slots
:
void
_q_currentPageChanged
(
int
pageId
);
void
_q_pageAdded
(
int
pageId
);
void
_q_pageRemoved
(
int
pageId
);
private:
Q_DISABLE_COPY
(
Wizard
)
Q_DECLARE_PRIVATE
(
Wizard
)
QScopedPointer
<
WizardPrivate
>
d_ptr
;
};
class
WizardProgressItem
;
class
WizardProgressPrivate
;
class
Q_GUI_EXPORT
WizardProgress
:
public
QObject
{
Q_OBJECT
public:
WizardProgress
(
QObject
*
parent
=
0
);
~
WizardProgress
();
WizardProgressItem
*
addItem
(
const
QString
&
title
);
void
removeItem
(
WizardProgressItem
*
item
);
void
removePage
(
int
pageId
);
QList
<
int
>
pages
(
WizardProgressItem
*
item
)
const
;
WizardProgressItem
*
item
(
int
pageId
)
const
;
WizardProgressItem
*
currentItem
()
const
;
QList
<
WizardProgressItem
*>
items
()
const
;
WizardProgressItem
*
startItem
()
const
;
QList
<
WizardProgressItem
*>
visitedItems
()
const
;
QList
<
WizardProgressItem
*>
directlyReachableItems
()
const
;
bool
isFinalItemDirectlyReachable
()
const
;
// return availableItems().last()->isFinalItem();
Q_SIGNALS:
void
currentItemChanged
(
WizardProgressItem
*
item
);
void
itemChanged
(
WizardProgressItem
*
item
);
// contents of the item: title or icon
void
itemAdded
(
WizardProgressItem
*
item
);
void
itemRemoved
(
WizardProgressItem
*
item
);
void
nextItemsChanged
(
WizardProgressItem
*
item
,
const
QList
<
WizardProgressItem
*>
&
items
);
void
startItemChanged
(
WizardProgressItem
*
item
);
private:
void
setCurrentPage
(
int
pageId
);
void
setStartPage
(
int
pageId
);
private:
friend
class
Wizard
;
friend
class
WizardProgressItem
;
Q_DISABLE_COPY
(
WizardProgress
)
Q_DECLARE_PRIVATE
(
WizardProgress
)
QScopedPointer
<
WizardProgressPrivate
>
d_ptr
;
};
class
WizardProgressItemPrivate
;
class
Q_GUI_EXPORT
WizardProgressItem
// managed by WizardProgress
{
public:
void
addPage
(
int
pageId
);
QList
<
int
>
pages
()
const
;
void
setNextItems
(
const
QList
<
WizardProgressItem
*>
&
items
);
QList
<
WizardProgressItem
*>
nextItems
()
const
;
bool
isFinalItem
()
const
;
// return nextItems().isEmpty();
void
setTitle
(
const
QString
&
title
);
QString
title
()
const
;
void
setTitleWordWrap
(
bool
wrap
);
bool
titleWordWrap
()
const
;
protected:
WizardProgressItem
(
WizardProgress
*
progress
,
const
QString
&
title
);
virtual
~
WizardProgressItem
();
private:
friend
class
WizardProgress
;
Q_DISABLE_COPY
(
WizardProgressItem
)
Q_DECLARE_PRIVATE
(
WizardProgressItem
)
QScopedPointer
<
WizardProgressItemPrivate
>
d_ptr
;
};
}
// namespace Utils
#endif // WIZARD_H
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment