19 #include "macrowizard.moc"
28 #include <kicondialog.h>
29 #include <klineedit.h>
31 #include <ktoolinvocation.h>
39 bool isComplete()
const;
48 : QWizardPage( parent ), mmode( mode )
50 setTitle( i18n(
"Given Objects" ) );
51 setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
53 QVBoxLayout* lay =
new QVBoxLayout(
this );
55 QLabel* label =
new QLabel(
this );
56 lay->addWidget( label );
57 label->setText( i18n(
"Select the \"given\" objects for your new macro and press \"Next\"." ) );
58 label->setAlignment( Qt::AlignCenter );
61 bool GivenArgsPage::isComplete()
const
63 return mmode->hasGivenArgs();
66 void GivenArgsPage::setChanged()
68 emit completeChanged();
78 bool isComplete()
const;
88 : QWizardPage( parent ), mmode( mode )
90 setTitle( i18n(
"Final Object" ) );
91 setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
93 QVBoxLayout* lay =
new QVBoxLayout(
this );
95 QLabel* label =
new QLabel(
this );
96 lay->addWidget( label );
97 label->setText( i18n(
"Select the final object(s) for your new macro." ) );
98 label->setAlignment( Qt::AlignCenter );
101 bool FinalArgsPage::isComplete()
const
103 return mmode->hasFinalArgs();
106 bool FinalArgsPage::validatePage()
108 return mmode->validateObjects();
111 void FinalArgsPage::setChanged()
113 emit completeChanged();
128 : QWizardPage( parent ), mmode( mode )
130 setTitle( i18n(
"Name" ) );
131 setSubTitle( i18n(
"Enter a name and description for your new type." ) );
132 setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
133 setFinalPage(
true );
135 QGridLayout* lay =
new QGridLayout(
this );
137 QLabel* label =
new QLabel(
this );
138 lay->addWidget( label, 0, 0 );
139 label->setText( i18n(
"&Name:" ) );
140 label->setAlignment( Qt::AlignRight );
141 KLineEdit* editname =
new KLineEdit(
this );
142 lay->addWidget( editname, 0, 1 );
143 label->setBuddy( editname );
144 label =
new QLabel(
this );
145 lay->addWidget( label, 1, 0 );
146 label->setText( i18n(
"&Description:" ) );
147 label->setAlignment( Qt::AlignRight );
148 KLineEdit* editdesc =
new KLineEdit(
this );
149 lay->addWidget( editdesc, 1, 1 );
150 label->setBuddy( editdesc );
151 label =
new QLabel(
this );
152 label->setText( i18n(
"&Icon:" ) );
153 label->setAlignment( Qt::AlignRight );
154 lay->addWidget( label, 2, 0 );
155 QHBoxLayout* iconlay =
new QHBoxLayout();
156 lay->addLayout( iconlay, 2, 1 );
157 KIconButton* iconbutton =
new KIconButton(
this );
158 iconlay->addWidget( iconbutton );
159 label->setBuddy( iconbutton );
160 iconbutton->setIcon(
"system-run" );
161 iconlay->addItem(
new QSpacerItem( 5, 5, QSizePolicy::Expanding, QSizePolicy::Fixed ) );
163 registerField(
"name*", editname );
164 registerField(
"description", editdesc );
165 registerField(
"icon", iconbutton,
"icon", SIGNAL( iconChanged(
const QString& ) ) );
170 :
QWizard( parent ), mmode( m )
173 setObjectName( QLatin1String(
"Define Macro Wizard" ) );
174 setWindowTitle( KDialog::makeStandardCaption( i18n(
"Define New Macro" ) ) );
175 setOption( HaveHelpButton );
177 mgivenArgsPage =
new GivenArgsPage(
this, mmode );
179 mfinalArgsPage =
new FinalArgsPage(
this, mmode );
183 connect(
this, SIGNAL( helpRequested() ),
this,
184 SLOT( slotHelpClicked() ) );
185 connect(
this, SIGNAL( currentIdChanged(
int ) ),
this, SLOT( currentIdChanged(
int ) ) );
204 void MacroWizard::slotHelpClicked()
206 KToolInvocation::invokeHelp(
"defining-macros",
"kig" );
209 void MacroWizard::currentIdChanged(
int id )
228 mgivenArgsPage->setChanged();
233 mfinalArgsPage->setChanged();
MacroWizard(QWidget *parent, DefineMacroMode *m)
static const int MacroInfoPageId
static const int GivenArgsPageId
static const int FinalArgsPageId