void LeadDetails::setDataInternal(const QMap<QString, QString> &data) { Q_UNUSED(data); fillComboBox(mUi->salutation, KDCRMFields::salutation()); fillComboBox(mUi->lead_source, KDCRMFields::leadSource()); fillComboBox(mUi->status, KDCRMFields::status()); }
static void onInitDialog(HWND hWnd, LPSTR lpsz) { hWndDirPicker = hWnd; lpszStringToReturn = lpsz; hIconDrives[0] = LoadIcon(hInst, MAKEINTRESOURCE(ID_ICON_DRIVEFLOPPY)); hIconDrives[1] = LoadIcon(hInst, MAKEINTRESOURCE(ID_ICON_DRIVEHARD)); hIconDrives[2] = LoadIcon(hInst, MAKEINTRESOURCE(ID_ICON_DRIVENETWORK)); hIconDrives[3] = LoadIcon(hInst, MAKEINTRESOURCE(ID_ICON_DRIVECDROM)); hIconDrives[4] = LoadIcon(hInst, MAKEINTRESOURCE(ID_ICON_DRIVERAM)); hIconFolders[0] = LoadIcon(hInst, MAKEINTRESOURCE(ID_ICON_FOLDERCLOSED)); hIconFolders[1] = LoadIcon(hInst, MAKEINTRESOURCE(ID_ICON_FOLDEROPEN)); hIconFolders[2] = LoadIcon(hInst, MAKEINTRESOURCE(ID_ICON_OPENSELECT)); if(lpsz[0] == '\0') _getcwd(lpsz, _MAX_PATH); else if(lpsz[lstrlen(lpsz) - 1] == ':') lstrcat(lpsz, "\\"); int ret = _chdir(lpsz); if(ret == -1) { char szText[_MAX_PATH + 80]; sprintf(szText, "The specified directory %s\ncannot be found", lpsz); MessageBox(GetParent(hWnd), szText, "Choose Directory", MB_ICONEXCLAMATION|MB_OK); _getcwd(lpsz, _MAX_PATH); } if((lpsz[0] == '\\') && (lpsz[1] == '\\')) fillUNCRootArray(lpsz); fillListBox(hWnd, lpsz); fillComboBox(hWnd); }
void MenuList::onContentChanged() { if (mIsInitialized) { WinAPI::ComboBox_Clear(handle()); fillComboBox(); } // else: the init will take care of the initial fill }
LidWatcherSettings::LidWatcherSettings(QWidget *parent) : QWidget(parent), mSettings(), mUi(new Ui::LidWatcherSettings) { mUi->setupUi(this); fillComboBox(mUi->onBatteryActionComboBox); fillComboBox(mUi->onAcActionComboBox); fillComboBox(mUi->extMonOnBatteryActionComboBox); fillComboBox(mUi->extMonOnAcActionComboBox); connect(mUi->lidWatcherSettingsGroupBox, SIGNAL(clicked()), this, SLOT(saveSettings())); connect(mUi->onBatteryActionComboBox, SIGNAL(activated(int)), this, SLOT(saveSettings())); connect(mUi->onAcActionComboBox, SIGNAL(activated(int)), this, SLOT(saveSettings())); connect(mUi->extMonOnBatteryActionComboBox, SIGNAL(activated(int)), this, SLOT(saveSettings())); connect(mUi->extMonOnAcActionComboBox, SIGNAL(activated(int)), this, SLOT(saveSettings())); connect(mUi->extMonGroupBox, SIGNAL(clicked()), this, SLOT(saveSettings())); }
void OpportunityDetails::setDataInternal(const QMap<QString, QString> &) const { fillComboBox(mUi->opportunity_type, KDCRMFields::opportunityType()); fillComboBox(mUi->lead_source, KDCRMFields::leadSource()); fillComboBox(mUi->sales_stage, KDCRMFields::salesStage()); const QString baseUrl = resourceBaseUrl(); const QString oppId = id(); if (!baseUrl.isEmpty() && !oppId.isEmpty()) { const QString url = baseUrl + "?action=DetailView&module=Opportunities&record=" + oppId; mUi->urllabel->setText(QString("<a href=\"%1\">Open Opportunity in Web Browser</a>").arg(url)); } else { mUi->urllabel->clear(); } const int notes = oppId.isEmpty() ? 0 : mNotesRepository->notesForOpportunity(oppId).count() + mNotesRepository->emailsForOpportunity(oppId).count(); mUi->viewNotesButton->setEnabled(notes > 0); const QString buttonText = (notes == 0) ? i18n("View Notes") : i18np("View 1 Note", "View %1 Notes", notes); mUi->viewNotesButton->setText(buttonText); }
RemoteCaptureDialog::RemoteCaptureDialog(QWidget *parent) : QDialog(parent), ui(new Ui::RemoteCaptureDialog) { ui->setupUi(this); fillComboBox(); connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(apply_remote())); connect(this, SIGNAL(remoteAdded(GList *, remote_options*)), parent, SIGNAL(remoteAdded(GList *, remote_options*))); connect(ui->hostCombo, SIGNAL(currentIndexChanged(QString)), this, SLOT(hostChanged(QString))); }
void RunDialog::on_editButton_clicked() { activateConfiguration(); Configuration* pConfig = Configuration::getConfig(); pConfig->setString("contigFileName", ui->contigFileName->text().toStdString()); SettingsDialog settingsDialog(this); settingsDialog.exec(); if(settingsDialog.result() == QDialog::Accepted) { fillComboBox(); int index = ui->configurationComboBox->findText(QString::fromStdString(pConfig->getName())); ui->configurationComboBox->setCurrentIndex(index); } }
void KstViewFitsDialog::updateViewFitsDialog() { /* xxx if (_comboBoxFits->listBox()->isVisible()) { QTimer::singleShot(250, this, SLOT(updateViewFitsDialog())); } else { */ QString old; if (_comboBoxFits->count() > 0) { int idx; idx = _comboBoxFits->currentIndex(); old = _comboBoxFits->itemText(idx); } fillComboBox(old); // xxx } }
RunDialog::RunDialog(QWidget *parent) : QDialog(parent), ui(new Ui::RunDialog), _pRun(NULL) { ui->setupUi(this); Configuration* pConfig = Configuration::getConfig(); string contigFileName = pConfig->getString("contigFileName"); if(!contigFileName.empty()) { ui->contigFileName->setText(QString::fromStdString(contigFileName)); ui->runButton->setEnabled(true); } ui->runName->setText(QString().fromStdString(pConfig->getString("outputDirectory"))); fillComboBox(); }
DocumentPropertiesDialog::DocumentPropertiesDialog (QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f), ui(new Ui::DocumentPropertiesDialog) { ui->setupUi(this); setAttribute ( Qt::WA_DeleteOnClose ); initialActions(); fillComboBox(); piModel = new QStringListModel( this ); ui->listViewPI->setModel ( piModel ); connect ( ui->listViewPI->selectionModel(), SIGNAL( currentChanged (QModelIndex, QModelIndex) ), this, SLOT( indexChanged (QModelIndex, QModelIndex) ) ); connect ( ui->pushButtonPIAdd, SIGNAL ( clicked () ), this, SLOT ( piAdd () ) ); connect ( ui->pushButtonPIRemove, SIGNAL ( clicked () ), this, SLOT ( piRemove () ) ); connect ( ui->lineEditPITarget, SIGNAL ( textEdited (QString) ), this, SLOT (piTargetChanged(QString)) ); connect ( ui->lineEditPIData, SIGNAL ( textEdited (QString) ), this, SLOT (piDataChanged(QString)) ); ui->groupBoxPIEdit->setVisible ( ui->pushButtonPIEditToggle->isChecked() ); }
QWidget *ProblemWidget::createControlsGeneral() { // problem txtName = new QLineEdit(""); // fill combobox fillComboBox(); // general QGridLayout *layoutGeneral = new QGridLayout(); layoutGeneral->setColumnMinimumWidth(0, minWidth); layoutGeneral->setColumnStretch(1, 1); layoutGeneral->addWidget(new QLabel(tr("Linear solver:")), 1, 0); QGroupBox *grpGeneral = new QGroupBox(tr("General")); grpGeneral->setLayout(layoutGeneral); // both QVBoxLayout *layoutPanel = new QVBoxLayout(); layoutPanel->addWidget(grpGeneral); layoutPanel->addStretch(); // name QGridLayout *layoutName = new QGridLayout(); layoutName->addWidget(new QLabel(tr("Name:")), 0, 0); layoutName->addWidget(txtName, 0, 1); QVBoxLayout *layoutProblem = new QVBoxLayout(); layoutProblem->addLayout(layoutName); layoutProblem->addLayout(layoutPanel); layoutProblem->addStretch(); QWidget *widMain = new QWidget(); widMain->setLayout(layoutProblem); return widMain; }
QLayout* SceneLabelDialog::createContent() { logMessage("DSceneLabel::createContent()"); txtPointX = new ValueLineEdit(); txtPointY = new ValueLineEdit(); connect(txtPointX, SIGNAL(evaluated(bool)), this, SLOT(evaluated(bool))); connect(txtPointY, SIGNAL(evaluated(bool)), this, SLOT(evaluated(bool))); cmbMaterial = new QComboBox(); connect(cmbMaterial, SIGNAL(currentIndexChanged(int)), this, SLOT(doMaterialChanged(int))); btnMaterial = new QPushButton(icon("three-dots"), ""); btnMaterial->setMaximumSize(btnMaterial->sizeHint()); connect(btnMaterial, SIGNAL(clicked()), this, SLOT(doMaterialClicked())); txtArea = new ValueLineEdit(); txtArea->setMinimum(0.0); connect(txtArea, SIGNAL(evaluated(bool)), this, SLOT(evaluated(bool))); txtPolynomialOrder = new QSpinBox(this); txtPolynomialOrder->setMinimum(0); txtPolynomialOrder->setMaximum(10); // coordinates must be greater then or equal to 0 (axisymmetric case) if (Util::scene()->problemInfo()->problemType == ProblemType_Axisymmetric) txtPointX->setMinimum(0.0); // coordinates QFormLayout *layoutCoordinates = new QFormLayout(); layoutCoordinates->addRow(Util::scene()->problemInfo()->labelX() + " (m):", txtPointX); layoutCoordinates->addRow(Util::scene()->problemInfo()->labelY() + " (m):", txtPointY); QGroupBox *grpCoordinates = new QGroupBox(tr("Coordinates")); grpCoordinates->setLayout(layoutCoordinates); // marker QHBoxLayout *layoutMaterial = new QHBoxLayout(); layoutMaterial->addWidget(cmbMaterial); layoutMaterial->addWidget(btnMaterial); // order chkPolynomialOrder = new QCheckBox(); connect(chkPolynomialOrder, SIGNAL(stateChanged(int)), this, SLOT(doPolynomialOrder(int))); QHBoxLayout *layoutPolynomialOrder = new QHBoxLayout(); layoutPolynomialOrder->addWidget(chkPolynomialOrder); layoutPolynomialOrder->addWidget(txtPolynomialOrder); layoutPolynomialOrder->addWidget(new QLabel(tr("Global order is %1.").arg(Util::scene()->problemInfo()->polynomialOrder))); // area chkArea = new QCheckBox(); connect(chkArea, SIGNAL(stateChanged(int)), this, SLOT(doArea(int))); QHBoxLayout *layoutArea = new QHBoxLayout(); layoutArea->addWidget(chkArea); layoutArea->addWidget(txtArea); // mesh QFormLayout *layoutMeshParameters = new QFormLayout(); layoutMeshParameters->addRow(tr("Triangle area (m):"), layoutArea); layoutMeshParameters->addRow(tr("Polynomial order (-):"), layoutPolynomialOrder); QGroupBox *grpMeshParameters = new QGroupBox(tr("Mesh parameters")); grpMeshParameters->setLayout(layoutMeshParameters); QFormLayout *layout = new QFormLayout(); layout->addRow(tr("Material:"), layoutMaterial); layout->addRow(grpCoordinates); layout->addRow(grpMeshParameters); fillComboBox(); return layout; }
QLayout* SceneEdgeDialog::createContent() { logMessage("DSceneEdge::createContent()"); cmbNodeStart = new QComboBox(); cmbNodeEnd = new QComboBox(); connect(cmbNodeStart, SIGNAL(currentIndexChanged(int)), this, SLOT(doNodeChanged())); connect(cmbNodeEnd, SIGNAL(currentIndexChanged(int)), this, SLOT(doNodeChanged())); cmbBoundary = new QComboBox(); connect(cmbBoundary, SIGNAL(currentIndexChanged(int)), this, SLOT(doBoundaryChanged(int))); btnBoundary = new QPushButton(icon("three-dots"), ""); btnBoundary->setMaximumSize(btnBoundary->sizeHint()); connect(btnBoundary, SIGNAL(clicked()), this, SLOT(doBoundaryClicked())); txtAngle = new ValueLineEdit(); txtAngle->setMinimum(0.0); txtAngle->setMaximum(90.0); connect(txtAngle, SIGNAL(evaluated(bool)), this, SLOT(evaluated(bool))); txtRefineTowardsEdge = new QSpinBox(this); txtRefineTowardsEdge->setMinimum(0); txtRefineTowardsEdge->setMaximum(10); lblLength = new QLabel(); // coordinates QFormLayout *layoutCoordinates = new QFormLayout(); layoutCoordinates->addRow(tr("Start point:"), cmbNodeStart); layoutCoordinates->addRow(tr("End point:"), cmbNodeEnd); layoutCoordinates->addRow(tr("Angle (deg.):"), txtAngle); QGroupBox *grpCoordinates = new QGroupBox(tr("Coordinates")); grpCoordinates->setLayout(layoutCoordinates); // marker QHBoxLayout *layoutBoundary = new QHBoxLayout(); layoutBoundary->addWidget(cmbBoundary); layoutBoundary->addWidget(btnBoundary); // refine towards edge chkRefineTowardsEdge = new QCheckBox(); connect(chkRefineTowardsEdge, SIGNAL(stateChanged(int)), this, SLOT(doRefineTowardsEdge(int))); QHBoxLayout *layoutRefineTowardsEdge = new QHBoxLayout(); layoutRefineTowardsEdge->addStretch(1); layoutRefineTowardsEdge->addWidget(chkRefineTowardsEdge); layoutRefineTowardsEdge->addWidget(txtRefineTowardsEdge); // mesh QFormLayout *layoutMeshParameters = new QFormLayout(); layoutMeshParameters->addRow(tr("Refine towards edge:"), layoutRefineTowardsEdge); QGroupBox *grpMeshParameters = new QGroupBox(tr("Mesh parameters")); grpMeshParameters->setLayout(layoutMeshParameters); // layout QFormLayout *layout = new QFormLayout(); layout->addRow(tr("Boundary condition:"), layoutBoundary); layout->addRow(grpCoordinates); layout->addRow(grpMeshParameters); layout->addRow(tr("Length:"), lblLength); fillComboBox(); return layout; }
void CampaignDetails::setDataInternal(const QMap<QString, QString> &) { fillComboBox(mUi->status, KDCRMFields::status()); fillComboBox(mUi->campaign_type, KDCRMFields::campaignType()); }
void KstViewFitsDialog::showViewFitsDialog(const QString& fit) { fillComboBox(fit); }
void QtVoxOxCallBarFrame::setCUserProfile(CUserProfile* cUserProfile) { _cUserProfile = cUserProfile; fillComboBox(); fillCompletionList(); }
bool MenuList::init() { fillComboBox(); return Super::init(); }
QWidget *ProblemDialog::createControlsGeneral() { logMessage("ProblemDialog::createControlsGeneral()"); // equations lblEquationPixmap = new QLabel(""); lblEquationPixmap->setMinimumHeight(50); // problem cmbProblemType = new QComboBox(); cmbPhysicField = new QComboBox(); txtName = new QLineEdit(""); dtmDate = new QDateTimeEdit(); dtmDate->setDisplayFormat("dd.MM.yyyy"); dtmDate->setCalendarPopup(true); cmbAdaptivityType = new QComboBox(); txtAdaptivitySteps = new QSpinBox(this); txtAdaptivitySteps->setMinimum(1); txtAdaptivitySteps->setMaximum(100); txtAdaptivityTolerance = new SLineEditDouble(1, true); txtAdaptivityTolerance->setBottom(0.0); cmbMatrixSolver = new QComboBox(); // mesh txtNumberOfRefinements = new QSpinBox(this); txtNumberOfRefinements->setMinimum(0); txtNumberOfRefinements->setMaximum(5); txtPolynomialOrder = new QSpinBox(this); txtPolynomialOrder->setMinimum(1); txtPolynomialOrder->setMaximum(10); cmbMeshType = new QComboBox(); // harmonic txtFrequency = new SLineEditDouble(); // transient cmbAnalysisType = new QComboBox(); txtTransientTimeStep = new ValueLineEdit(); txtTransientTimeTotal = new ValueLineEdit(); txtTransientInitialCondition = new ValueLineEdit(); lblTransientSteps = new QLabel("0"); // linearity cmbLinearityType = new QComboBox(); txtLinearityNonlinearitySteps = new QSpinBox(this); txtLinearityNonlinearitySteps->setMinimum(1); txtLinearityNonlinearitySteps->setMaximum(100); txtLinearityNonlinearityTolerance = new SLineEditDouble(1); connect(txtTransientTimeStep, SIGNAL(editingFinished()), this, SLOT(doTransientChanged())); connect(txtTransientTimeTotal, SIGNAL(editingFinished()), this, SLOT(doTransientChanged())); connect(cmbPhysicField, SIGNAL(currentIndexChanged(int)), this, SLOT(doPhysicFieldChanged(int))); connect(cmbAdaptivityType, SIGNAL(currentIndexChanged(int)), this, SLOT(doAdaptivityChanged(int))); connect(cmbAnalysisType, SIGNAL(currentIndexChanged(int)), this, SLOT(doAnalysisTypeChanged(int))); connect(cmbLinearityType, SIGNAL(currentIndexChanged(int)), this, SLOT(doLinearityTypeChanged(int))); fillComboBox(); int minWidth = 130; // table QGridLayout *layoutTable = new QGridLayout(); layoutTable->setColumnMinimumWidth(0, minWidth); layoutTable->setColumnStretch(1, 1); layoutTable->addWidget(new QLabel(tr("Date:")), 2, 0); layoutTable->addWidget(dtmDate, 2, 1); layoutTable->addWidget(new QLabel(tr("Physic field:")), 3, 0); layoutTable->addWidget(cmbPhysicField, 3, 1); layoutTable->addWidget(new QLabel(tr("Problem type:")), 4, 0); layoutTable->addWidget(cmbProblemType, 4, 1); layoutTable->addWidget(new QLabel(tr("Type of analysis:")), 5, 0); layoutTable->addWidget(cmbAnalysisType, 5, 1); layoutTable->addWidget(new QLabel(tr("Adaptivity:")), 6, 0); layoutTable->addWidget(cmbAdaptivityType, 6, 1); layoutTable->addWidget(new QLabel(tr("Linearity:")), 7, 0); layoutTable->addWidget(cmbLinearityType, 7, 1); layoutTable->addWidget(new QLabel(tr("Linear solver:")), 8, 0); layoutTable->addWidget(cmbMatrixSolver, 8, 1); // harmonic analysis QGridLayout *layoutHarmonicAnalysis = new QGridLayout(); layoutHarmonicAnalysis->setColumnMinimumWidth(0, minWidth); layoutHarmonicAnalysis->addWidget(new QLabel(tr("Frequency (Hz):")), 0, 0); layoutHarmonicAnalysis->addWidget(txtFrequency, 0, 1); QGroupBox *grpHarmonicAnalysis = new QGroupBox(tr("Harmonic analysis")); grpHarmonicAnalysis->setLayout(layoutHarmonicAnalysis); // harmonic analysis QGridLayout *layoutTransientAnalysis = new QGridLayout(); layoutTransientAnalysis->setColumnMinimumWidth(0, minWidth); layoutTransientAnalysis->setColumnStretch(1, 1); layoutTransientAnalysis->addWidget(new QLabel(tr("Time step (s):")), 0, 0); layoutTransientAnalysis->addWidget(txtTransientTimeStep, 0, 1); layoutTransientAnalysis->addWidget(new QLabel(tr("Total time (s):")), 1, 0); layoutTransientAnalysis->addWidget(txtTransientTimeTotal, 1, 1); layoutTransientAnalysis->addWidget(new QLabel(tr("Initial condition:")), 2, 0); layoutTransientAnalysis->addWidget(txtTransientInitialCondition, 2, 1); layoutTransientAnalysis->addWidget(new QLabel(tr("Steps:")), 3, 0); layoutTransientAnalysis->addWidget(lblTransientSteps, 3, 1); QGroupBox *grpTransientAnalysis = new QGroupBox(tr("Transient analysis")); grpTransientAnalysis->setLayout(layoutTransientAnalysis); // harmonic analysis QGridLayout *layoutMesh = new QGridLayout(); layoutMesh->setColumnMinimumWidth(0, minWidth); layoutMesh->setColumnStretch(1, 1); layoutMesh->addWidget(new QLabel(tr("Mesh type:")), 0, 0); layoutMesh->addWidget(cmbMeshType, 0, 1); layoutMesh->addWidget(new QLabel(tr("Number of refinements:")), 1, 0); layoutMesh->addWidget(txtNumberOfRefinements, 1, 1); layoutMesh->addWidget(new QLabel(tr("Polynomial order:")), 2, 0); layoutMesh->addWidget(txtPolynomialOrder, 2, 1); QGroupBox *grpMesh = new QGroupBox(tr("Mesh parameters")); grpMesh->setLayout(layoutMesh); // adaptivity QGridLayout *layoutAdaptivity = new QGridLayout(); layoutAdaptivity->setColumnMinimumWidth(0, minWidth); layoutAdaptivity->setColumnStretch(1, 1); layoutAdaptivity->addWidget(new QLabel(tr("Adaptivity steps:")), 0, 0); layoutAdaptivity->addWidget(txtAdaptivitySteps, 0, 1); layoutAdaptivity->addWidget(new QLabel(tr("Adaptivity tolerance (%):")), 1, 0); layoutAdaptivity->addWidget(txtAdaptivityTolerance, 1, 1); QGroupBox *grpAdaptivity = new QGroupBox(tr("Adaptivity")); grpAdaptivity->setLayout(layoutAdaptivity); // linearity QGridLayout *layoutLinearity = new QGridLayout(); layoutLinearity->setColumnMinimumWidth(0, minWidth); layoutLinearity->setColumnStretch(1, 1); layoutLinearity->addWidget(new QLabel(tr("Nonlin. tolerance (%):")), 0, 0); layoutLinearity->addWidget(txtLinearityNonlinearityTolerance, 0, 1); layoutLinearity->addWidget(new QLabel(tr("Nonlin. steps:")), 1, 0); layoutLinearity->addWidget(txtLinearityNonlinearitySteps, 1, 1); QGroupBox *grpLinearity = new QGroupBox(tr("Linearity")); grpLinearity->setLayout(layoutLinearity); grpLinearity->setVisible(Util::config()->showExperimentalFeatures); // left QVBoxLayout *layoutLeft = new QVBoxLayout(); layoutLeft->addLayout(layoutTable); // layoutLeft->addWidget(grpAdaptivity); layoutLeft->addStretch(); // layoutLeft->addWidget(grpLinearity); layoutLeft->addWidget(grpMesh); // right QVBoxLayout *layoutRight = new QVBoxLayout(); layoutRight->addWidget(grpHarmonicAnalysis); layoutRight->addWidget(grpTransientAnalysis); // layoutRight->addWidget(grpMesh); layoutRight->addWidget(grpAdaptivity); layoutRight->addWidget(grpLinearity); layoutRight->addStretch(); // both QHBoxLayout *layoutPanel = new QHBoxLayout(); layoutPanel->addLayout(layoutLeft); layoutPanel->addLayout(layoutRight); // name QGridLayout *layoutName = new QGridLayout(); layoutName->setColumnMinimumWidth(0, minWidth); layoutName->setColumnStretch(1, 1); layoutName->addWidget(new QLabel(tr("Name:")), 0, 0); layoutName->addWidget(txtName, 0, 1); // equation QGridLayout *layoutEquation = new QGridLayout(); layoutEquation->setColumnMinimumWidth(0, minWidth); layoutEquation->setColumnStretch(1, 1); layoutEquation->addWidget(new QLabel(tr("Equation:")), 0, 0); layoutEquation->addWidget(lblEquationPixmap, 0, 1, 1, 1, Qt::AlignLeft); QVBoxLayout *layoutProblem = new QVBoxLayout(); layoutProblem->addLayout(layoutName); layoutProblem->addLayout(layoutEquation); layoutProblem->addLayout(layoutPanel); QWidget *widMain = new QWidget(); widMain->setLayout(layoutProblem); return widMain; }