QWidget* StackedConfigurationGroup::configWidget(ConfigurationGroup *cg, QWidget* parent, const char* widgetName) { widget = new QWidgetStack(parent, widgetName); connect(widget, SIGNAL(destroyed(QObject*)), this, SLOT(widgetDeleted(QObject*))); widget->setBackgroundOrigin(QWidget::WindowOrigin); for (uint i = 0 ; i < children.size() ; ++i) { if (children[i]->isVisible()) { childwidget[i] = children[i]->configWidget(cg, widget, NULL); widget->addWidget(childwidget[i], i); } } widget->raiseWidget(top); connect(this, SIGNAL(raiseWidget(int)), widget, SLOT(raiseWidget(int))); if (cg) { connect(this, SIGNAL(changeHelpText(QString)), cg, SIGNAL(changeHelpText(QString))); } confgrp = cg; return widget; }
QWidget* GridConfigurationGroup::configWidget(ConfigurationGroup *cg, QWidget* parent, const char* widgetName) { QGroupBox* widget = new QGroupBox(parent, widgetName); widget->setBackgroundOrigin(QWidget::WindowOrigin); if (!useframe) widget->setFrameShape(QFrame::NoFrame); QGridLayout *layout = NULL; float wmult = 0, hmult = 0; gContext->GetScreenSettings(wmult, hmult); int rows = (children.size()+columns-1) / columns; if (uselabel) { int space = -1; int margin = (int)(28 * hmult); if (zeroSpace) space = 4; if (zeroMargin) margin = 4; layout = new QGridLayout(widget, rows, columns, margin, space); // This makes weird and bad things happen in qt -mdz 2002/12/28 //widget->setInsideMargin(20); widget->setTitle(getLabel()); } else { int space = -1; int margin = (int)(10 * hmult); if (zeroSpace) space = 4; if (zeroMargin) margin = 4; layout = new QGridLayout(widget, rows, columns, margin, space); } for (unsigned i = 0 ; i < children.size() ; ++i) if (children[i]->isVisible()) { QWidget *child = children[i]->configWidget(cg, widget, NULL); layout->addWidget(child, i / columns, i % columns); children[i]->setEnabled(children[i]->isEnabled()); } if (cg) { connect(this, SIGNAL(changeHelpText(QString)), cg, SIGNAL(changeHelpText(QString))); } return widget; }
MythDialog *ConfigurationWizard::dialogWidget(MythMainWindow *parent, const char *widgetName) { MythWizard *wizard = new MythWizard(parent, widgetName); dialog = wizard; QObject::connect(cfgGrp, SIGNAL(changeHelpText(QString)), wizard, SLOT( setHelpText( QString))); QWidget *child = NULL; ChildList::iterator it = cfgChildren.begin(); for (; it != cfgChildren.end(); ++it) { if (!(*it)->isVisible()) continue; child = (*it)->configWidget(cfgGrp, parent); wizard->addPage(child, (*it)->getLabel()); } if (child) wizard->setFinishEnabled(child, true); return wizard; }
QWidget* VerticalConfigurationGroup::configWidget(ConfigurationGroup *cg, QWidget* parent, const char* widgetName) { widget = new QGroupBox(parent, widgetName); connect(widget, SIGNAL(destroyed(QObject*)), this, SLOT(widgetDeleted(QObject*))); widget->setBackgroundOrigin(QWidget::WindowOrigin); if (!useframe) widget->setFrameShape(QFrame::NoFrame); float wmult = 0, hmult = 0; gContext->GetScreenSettings(wmult, hmult); int space = (zeroSpace) ? 4 : -1; int margin = (int) ((uselabel) ? (28 * hmult) : (10 * hmult)); margin = (zeroMargin) ? 4 : margin; layout = new QVBoxLayout(widget, margin, space); if (uselabel) widget->setTitle(getLabel()); childwidget.resize(children.size()); for (uint i = 0; i < children.size(); i++) { if (children[i] && children[i]->isVisible()) { childwidget[i] = children[i]->configWidget(cg, widget, NULL); layout->add(childwidget[i]); children[i]->setEnabled(children[i]->isEnabled()); } } if (cg) { connect(this, SIGNAL(changeHelpText(QString)), cg, SIGNAL(changeHelpText(QString))); confgrp = cg; } return widget; }
QWidget* TabbedConfigurationGroup::configWidget(ConfigurationGroup *cg, QWidget* parent, const char* widgetName) { QTabDialog* widget = new QTabDialog(parent, widgetName); widget->setBackgroundOrigin(QWidget::WindowOrigin); for(unsigned i = 0 ; i < children.size() ; ++i) if (children[i]->isVisible()) widget->addTab(children[i]->configWidget(cg, widget), children[i]->getLabel()); if (cg) { connect(this, SIGNAL(changeHelpText(QString)), cg, SIGNAL(changeHelpText(QString))); } return widget; };