本文整理汇总了C++中QDoubleValidator::setBottom方法的典型用法代码示例。如果您正苦于以下问题:C++ QDoubleValidator::setBottom方法的具体用法?C++ QDoubleValidator::setBottom怎么用?C++ QDoubleValidator::setBottom使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QDoubleValidator
的用法示例。
在下文中一共展示了QDoubleValidator::setBottom方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setupAmountWidget
void setupAmountWidget(QLineEdit *widget, QWidget *parent)
{
QDoubleValidator *amountValidator = new QDoubleValidator(parent);
amountValidator->setDecimals(8);
amountValidator->setBottom(0.0);
widget->setValidator(amountValidator);
widget->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
}
示例2: QLineEdit
QWidget*CoordinateItemDelegate::createEditor( QWidget* parent, const QStyleOptionViewItem&, const QModelIndex& index ) const
{
QLineEdit* lineEdit = new QLineEdit( parent );
QDoubleValidator* validator = new QDoubleValidator();
if ( !index.data( MinRadiusRole ).isNull() )
validator->setBottom( index.data( MinRadiusRole ).toDouble() );
lineEdit->setValidator( validator );
return lineEdit;
}
示例3: setupAmountWidget
void setupAmountWidget(QLineEdit *widget, QWidget *parent)
{
QDoubleValidator *amountValidator = new QDoubleValidator(parent);
amountValidator->setDecimals(8);
amountValidator->setBottom(0.0);
widget->setValidator(amountValidator);
widget->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
widget->setStyleSheet("color: white; background: transparent");
}
示例4: QDialog
/* Dialog box for editing initial state parameters. The dialog
* has a separate page for each method of entering the initial
* state. Currently just two methods are supported: state vector
* and Keplerian elements.
*/
InitialStateThreebodyEditorDialog::InitialStateThreebodyEditorDialog(QWidget* parent) :
QDialog(parent)
{
setupUi(this);
// Set up the coordinate system combo box
//coordinateSystemCombo->addItem(tr("Planet fixed"), (int) sta::COORDSYS_BODYFIXED);
coordinateSystemCombo->addItem(tr("Co-Rotating normalized"), (int) sta::COORDSYS_ROT_NORM);
coordinateSystemCombo->addItem(tr("Co-Rotating"), (int) sta::COORDSYS_ROT);
coordinateSystemCombo->addItem(tr("Inertial body-centred"), (int) sta::COORDSYS_BODYFIXED);
//coordinateSystemCombo->addItem(tr("Ecliptic (J2000)"), (int) sta::COORDSYS_ECLIPTIC_J2000);
// Set up the input validators
QDoubleValidator* doubleValidator = new QDoubleValidator(this);
QDoubleValidator* angleValidator = new QDoubleValidator(this);
angleValidator->setBottom(-360.0);
angleValidator->setTop(360.0);
QDoubleValidator* positiveAngleValidator = new QDoubleValidator(this);
positiveAngleValidator->setBottom(0.0);
positiveAngleValidator->setTop(360.0);
QDoubleValidator* positiveDoubleValidator = new QDoubleValidator(this);
positiveDoubleValidator->setBottom(0.0);
QDoubleValidator* zeroToOneValidator = new QDoubleValidator(this);
zeroToOneValidator->setBottom(0.0);
zeroToOneValidator->setTop(0.9999);
positionXEdit->setValidator(doubleValidator);
positionYEdit->setValidator(doubleValidator);
positionZEdit->setValidator(doubleValidator);
velocityXEdit->setValidator(doubleValidator);
velocityYEdit->setValidator(doubleValidator);
velocityZEdit->setValidator(doubleValidator);
semimajorAxisEdit->setValidator(positiveDoubleValidator);
eccentricityEdit->setValidator(zeroToOneValidator);
inclinationEdit->setValidator(angleValidator);
raanEdit->setValidator(positiveAngleValidator);
argOfPeriapsisEdit->setValidator(positiveAngleValidator);
trueAnomalyEdit->setValidator(positiveAngleValidator);
}
示例5: QDialog
/* Dialog box for editing location parameters: central body,
* latitude, longitude, and altitude.
*/
LocationEditorDialog::LocationEditorDialog(QWidget* parent) :
QDialog(parent)
{
setupUi(this);
// Set up the input validators
QDoubleValidator* doubleValidator = new QDoubleValidator(this);
QDoubleValidator* angleValidator = new QDoubleValidator(this);
angleValidator->setBottom(-360.0);
angleValidator->setTop(360.0);
latitudeEdit->setValidator(angleValidator);
longitudeEdit->setValidator(angleValidator);
altitudeEdit->setValidator(doubleValidator);
}
示例6: QGAbstractAppParamInput
// Default constructor
QGAppParamInputReal::QGAppParamInputReal(qgar::QgarAppParamDescr * descr,
QGAppDialogMediator * med,
QWidget * parent,
QGridLayout * layout)
: QGAbstractAppParamInput(descr, med, parent, layout)
{
//-- create value box and validator
_value = new QLineEdit(this);
QDoubleValidator * valid = new QDoubleValidator(_value);
_value->setValidator(valid);
_value->setAlignment(Qt::AlignRight);
_value->setSizePolicy(QSizePolicy(QSizePolicy::Maximum,
QSizePolicy::Maximum));
//-- Set value bounds and default value
if (_descr->defaultValue() != "")
_value->setText(_descr->defaultValue().c_str());
double val;
bool ok;
val = QString(_descr->minValue().c_str()).toDouble(&ok);
if (ok)
valid->setBottom(val);
val = QString(_descr->maxValue().c_str()).toDouble(&ok);
if (ok)
valid->setTop(val);
this->setEnabled(enabled());
_layout->addWidget(_value);
// Connect line edit to the slot that fwds notification to the
// mediator
connect(_value,
SIGNAL(textChanged(const QString&)),
SLOT(valueChanged()));
}
示例7: UpdateConfigRangeValidator
void ICParameterRange::UpdateConfigRangeValidator(uint type, double min, double max)
{
if(!configsRangeCache_.contains(type)) return;
QDoubleValidator* dv = static_cast<QDoubleValidator*>(configsRangeCache_.value(type));
if(dv != NULL)
{
dv->setBottom(min);
dv->setTop(max);
return;
}
QIntValidator* iv = static_cast<QIntValidator*>(configsRangeCache_.value(type));
if(iv != NULL)
{
iv->setBottom(min);
iv->setTop(max);
}
}
示例8: QDialog
picPunto::picPunto(QWidget *parent) : QDialog(parent)
{
cnt = 0;
QStringList txtformats;
QGridLayout *mainLayout = new QGridLayout;
//readSettings();
QPushButton *filebut = new QPushButton(tr("File..."));
fileedit = new QLineEdit();
QDoubleValidator *val = new QDoubleValidator(0);
val->setBottom ( 0.0 );
scaleedit = new QLineEdit();
scaleedit->setValidator(val);
QFormLayout *flo = new QFormLayout;
flo->addRow( filebut, fileedit);
flo->addRow( tr("Scale:"), scaleedit);
mainLayout->addLayout(flo, 0, 0);
QHBoxLayout *loacceptcancel = new QHBoxLayout;
QPushButton *acceptbut = new QPushButton(tr("Accept"));
loacceptcancel->addStretch();
loacceptcancel->addWidget(acceptbut);
QPushButton *cancelbut = new QPushButton(tr("Cancel"));
loacceptcancel->addWidget(cancelbut);
mainLayout->addLayout(loacceptcancel, 1, 0);
setLayout(mainLayout);
readSettings();
connect(cancelbut, SIGNAL(clicked()), this, SLOT(reject()));
connect(acceptbut, SIGNAL(clicked()), this, SLOT(checkAccept()));
connect(filebut, SIGNAL(clicked()), this, SLOT(dptFile()));
}
示例9: prepareUi
void Advanced::prepareUi()
{
Selection *s = new Selection(this);
connect(ui->actionOpen, SIGNAL(triggered()), this, SLOT(openRaster()));
connect(ui->actionSave_Reprojection, SIGNAL(triggered()), this, SLOT(saveReprojection()));
connect(ui->actionSelection_Screen, SIGNAL(triggered()), s, SLOT(showSelection()));
connect(ui->actionSelection_Screen, SIGNAL(triggered()), this, SLOT(close()));
connect(ui->actionExit, SIGNAL(triggered()), this, SLOT(close()));
connect(ui->actionLoad_Projection_Info, SIGNAL(triggered()), this, SLOT(loadParams()));
connect(ui->actionSave_Projection_Info, SIGNAL(triggered()), this, SLOT(saveParams()));
connect(ui->actionToggle_Preview, SIGNAL(triggered()), this, SLOT(togglePreview()));
connect(ui->actionAbout_dRasterBlaster, SIGNAL(triggered()), s, SLOT(about()));
connect(ui->actionAbout_Qt, SIGNAL(triggered()), s, SLOT(aboutQt()));
connect(ui->actionEdit_Author, SIGNAL(triggered()), s, SLOT(showEditAuthor()));
connect(ui->actionUser_Guide, SIGNAL(triggered()), s, SLOT(showUserGuide()));
connect(ui->fillEnable, SIGNAL(stateChanged(int)), this, SLOT(fillEnable(int)));
connect(ui->noDataValueEnable, SIGNAL(stateChanged(int)), this, SLOT(noDataEnable(int)));
//Validators
QIntValidator *intValid = new QIntValidator(this);
intValid->setBottom(0);
QDoubleValidator *doubleValid = new QDoubleValidator(this);
doubleValid->setNotation(QDoubleValidator::StandardNotation);
doubleValid->setBottom(0.0);
ui->Rows->setValidator(intValid);
ui->Cols->setValidator(intValid);
ui->FillValue->setValidator(intValid);
ui->noDataValue->setValidator(intValid);
ui->pixelSize->setValidator(doubleValid);
//projections p;
//p.callGenerate(_UTM);
//ui->tabProjectionInfo->setLayout(p.projVLayout);
}
示例10: if
QWidget * ExtArgNumber::createEditor(QWidget * parent)
{
QString storeValue;
QString text = defaultValue();
if ( _argument->storeval )
{
QString storeValue = _argument->storeval;
if ( storeValue.length() > 0 && storeValue.compare(text) != 0 )
text = storeValue;
}
textBox = (QLineEdit *)ExtArgText::createEditor(parent);
textBox->disconnect(SIGNAL(textChanged(QString)));
if ( _argument->arg_type == EXTCAP_ARG_INTEGER || _argument->arg_type == EXTCAP_ARG_UNSIGNED )
{
QIntValidator * textValidator = new QIntValidator(parent);
if ( _argument->range_start != NULL )
{
int val = 0;
if ( _argument->arg_type == EXTCAP_ARG_INTEGER )
val = extcap_complex_get_int(_argument->range_start);
else if ( _argument->arg_type == EXTCAP_ARG_UNSIGNED )
{
guint tmp = extcap_complex_get_uint(_argument->range_start);
if ( tmp > G_MAXINT )
{
g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_DEBUG, "Defined value for range_start of %s exceeds valid integer range", _argument->call );
val = G_MAXINT;
}
else
val = (gint)tmp;
}
textValidator->setBottom(val);
}
if ( _argument->arg_type == EXTCAP_ARG_UNSIGNED && textValidator->bottom() < 0 )
{
g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_DEBUG, "%s sets negative bottom range for unsigned value, setting to 0", _argument->call );
textValidator->setBottom(0);
}
if ( _argument->range_end != NULL )
{
int val = 0;
if ( _argument->arg_type == EXTCAP_ARG_INTEGER )
val = extcap_complex_get_int(_argument->range_end);
else if ( _argument->arg_type == EXTCAP_ARG_UNSIGNED )
{
guint tmp = extcap_complex_get_uint(_argument->range_end);
if ( tmp > G_MAXINT )
{
g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_DEBUG, "Defined value for range_end of %s exceeds valid integer range", _argument->call );
val = G_MAXINT;
}
else
val = (gint)tmp;
}
textValidator->setTop(val);
}
textBox->setValidator(textValidator);
}
else if ( _argument->arg_type == EXTCAP_ARG_DOUBLE )
{
QDoubleValidator * textValidator = new QDoubleValidator(parent);
if ( _argument->range_start != NULL )
textValidator->setBottom(extcap_complex_get_double(_argument->range_start));
if ( _argument->range_end != NULL )
textValidator->setTop(extcap_complex_get_double(_argument->range_end));
textBox->setValidator(textValidator);
}
textBox->setText(text.trimmed());
connect(textBox, SIGNAL(textChanged(QString)), SLOT(onStringChanged(QString)));
return textBox;
}
示例11: QDialog
TLMCoSimulationDialog::TLMCoSimulationDialog(MainWindow *pMainWindow)
: QDialog(pMainWindow)
{
resize(450, 350);
mpMainWindow = pMainWindow;
setIsTLMCoSimulationRunning(false);
// simulation widget heading
mpHeadingLabel = Utilities::getHeadingLabel("");
mpHeadingLabel->setElideMode(Qt::ElideMiddle);
// Horizontal separator
mpHorizontalLine = Utilities::getHeadingLine();
// TLM Plugin Path
mpTLMPluginPathLabel = new Label(tr("TLM Plugin Path:"));
mpTLMPluginPathTextBox = new QLineEdit;
mpBrowseTLMPluginPathButton = new QPushButton(Helper::browse);
mpBrowseTLMPluginPathButton->setAutoDefault(false);
connect(mpBrowseTLMPluginPathButton, SIGNAL(clicked()), SLOT(browseTLMPluginPath()));
// tlm manager groupbox
mpTLMManagerGroupBox = new QGroupBox(tr("TLM Manager"));
// TLM Manager Process
mpManagerProcessLabel = new Label(tr("Manager Process:"));
mpManagerProcessTextBox = new QLineEdit;
mpBrowseManagerProcessButton = new QPushButton(Helper::browse);
mpBrowseManagerProcessButton->setAutoDefault(false);
connect(mpBrowseManagerProcessButton, SIGNAL(clicked()), SLOT(browseManagerProcess()));
// TLM Monitor Process
mpMonitorProcessLabel = new Label(tr("Monitor Process:"));
mpMonitorProcessTextBox = new QLineEdit;
mpBrowseMonitorProcessButton = new QPushButton(Helper::browse);
mpBrowseMonitorProcessButton->setAutoDefault(false);
connect(mpBrowseMonitorProcessButton, SIGNAL(clicked()), SLOT(browseMonitorProcess()));
// manager server port
mpServerPortLabel = new Label(tr("Server Port:"));
mpServerPortLabel->setToolTip(tr("Set the server network port for communication with the simulation tools"));
mpServerPortTextBox = new QLineEdit("11111");
// manager monitor port
mpMonitorPortLabel = new Label(tr("Monitor Port:"));
mpMonitorPortLabel->setToolTip(tr("Set the port for monitoring connections"));
mpMonitorPortTextBox = new QLineEdit("12111");
// tlm manager debug mode
mpManagerDebugModeCheckBox = new QCheckBox(tr("Debug Mode"));
// tlm manager layout
QGridLayout *pTLMManagerGridLayout = new QGridLayout;
pTLMManagerGridLayout->addWidget(mpManagerProcessLabel, 0, 0);
pTLMManagerGridLayout->addWidget(mpManagerProcessTextBox, 0, 1);
pTLMManagerGridLayout->addWidget(mpBrowseManagerProcessButton, 0, 2);
pTLMManagerGridLayout->addWidget(mpServerPortLabel, 1, 0);
pTLMManagerGridLayout->addWidget(mpServerPortTextBox, 1, 1, 1, 2);
pTLMManagerGridLayout->addWidget(mpMonitorPortLabel, 2, 0);
pTLMManagerGridLayout->addWidget(mpMonitorPortTextBox, 2, 1, 1, 2);
pTLMManagerGridLayout->addWidget(mpManagerDebugModeCheckBox, 3, 0, 1, 3);
mpTLMManagerGroupBox->setLayout(pTLMManagerGridLayout);
// tlm monitor groupBox
mpTLMMonitorGroupBox = new QGroupBox(tr("TLM Monitor"));
// number of steps
mpNumberOfStepsLabel = new Label(tr("Number Of Steps:"));
mpNumberOfStepsTextBox = new QLineEdit;
// time step size
mpTimeStepSizeLabel = new Label(tr("Time Step Size:"));
mpTimeStepSizeTextBox = new QLineEdit;
// tlm monitor debug mode
mpMonitorDebugModeCheckBox = new QCheckBox(tr("Debug Mode"));
// tlm monitor layout
QGridLayout *pTLMMonitorGridLayout = new QGridLayout;
pTLMMonitorGridLayout->addWidget(mpMonitorProcessLabel, 0, 0);
pTLMMonitorGridLayout->addWidget(mpMonitorProcessTextBox, 0, 1);
pTLMMonitorGridLayout->addWidget(mpBrowseMonitorProcessButton, 0, 2);
pTLMMonitorGridLayout->addWidget(mpNumberOfStepsLabel, 1, 0);
pTLMMonitorGridLayout->addWidget(mpNumberOfStepsTextBox, 1, 1, 1, 2);
pTLMMonitorGridLayout->addWidget(mpTimeStepSizeLabel, 2, 0);
pTLMMonitorGridLayout->addWidget(mpTimeStepSizeTextBox, 2, 1, 1, 2);
pTLMMonitorGridLayout->addWidget(mpMonitorDebugModeCheckBox, 3, 0, 1, 3);
mpTLMMonitorGroupBox->setLayout(pTLMMonitorGridLayout);
// Create the buttons
// show TLM Co-simulation output window button
mpShowTLMCoSimulationOutputWindowButton = new QPushButton(tr("Show TLM Co-Simulation Output Window"));
mpShowTLMCoSimulationOutputWindowButton->setAutoDefault(false);
connect(mpShowTLMCoSimulationOutputWindowButton, SIGNAL(clicked()), this, SLOT(showTLMCoSimulationOutputWindow()));
// run TLM co-simulation button.
mpRunButton = new QPushButton(Helper::simulate);
mpRunButton->setAutoDefault(true);
connect(mpRunButton, SIGNAL(clicked()), this, SLOT(runTLMCoSimulation()));
// cancel TLM co-simulation dialog button.
mpCancelButton = new QPushButton(Helper::cancel);
mpCancelButton->setAutoDefault(false);
connect(mpCancelButton, SIGNAL(clicked()), this, SLOT(reject()));
// adds buttons to the button box
mpButtonBox = new QDialogButtonBox(Qt::Horizontal);
mpButtonBox->addButton(mpRunButton, QDialogButtonBox::ActionRole);
mpButtonBox->addButton(mpCancelButton, QDialogButtonBox::ActionRole);
// validators
QIntValidator *pIntegerValidator = new QIntValidator(this);
pIntegerValidator->setBottom(0);
mpServerPortTextBox->setValidator(pIntegerValidator);
mpMonitorPortTextBox->setValidator(pIntegerValidator);
mpNumberOfStepsTextBox->setValidator(pIntegerValidator);
QDoubleValidator *pDoubleValidator = new QDoubleValidator(this);
pDoubleValidator->setBottom(0);
mpTimeStepSizeTextBox->setValidator(pDoubleValidator);
// layout
//.........这里部分代码省略.........
示例12: createActions
void AbstractAnimationWindow::createActions()
{
// actions and widgets for the toolbar
int toolbarIconSize = OptionsDialog::instance()->getGeneralSettingsPage()->getToolbarIconSizeSpinBox()->value();
// choose file action
mpAnimationChooseFileAction = new QAction(QIcon(":/Resources/icons/open.svg"), Helper::animationChooseFile, this);
mpAnimationChooseFileAction->setStatusTip(Helper::animationChooseFileTip);
connect(mpAnimationChooseFileAction, SIGNAL(triggered()),this, SLOT(chooseAnimationFileSlotFunction()));
// initialize action
mpAnimationInitializeAction = new QAction(QIcon(":/Resources/icons/initialize.svg"), Helper::animationInitialize, this);
mpAnimationInitializeAction->setStatusTip(Helper::animationInitializeTip);
mpAnimationInitializeAction->setEnabled(false);
connect(mpAnimationInitializeAction, SIGNAL(triggered()),this, SLOT(initSlotFunction()));
// animation play action
mpAnimationPlayAction = new QAction(QIcon(":/Resources/icons/play_animation.svg"), Helper::animationPlay, this);
mpAnimationPlayAction->setStatusTip(Helper::animationPlayTip);
mpAnimationPlayAction->setEnabled(false);
connect(mpAnimationPlayAction, SIGNAL(triggered()),this, SLOT(playSlotFunction()));
// animation pause action
mpAnimationPauseAction = new QAction(QIcon(":/Resources/icons/pause.svg"), Helper::animationPause, this);
mpAnimationPauseAction->setStatusTip(Helper::animationPauseTip);
mpAnimationPauseAction->setEnabled(false);
connect(mpAnimationPauseAction, SIGNAL(triggered()),this, SLOT(pauseSlotFunction()));
// animation slide
mpAnimationSlider = new QSlider(Qt::Horizontal);
mpAnimationSlider->setMinimum(0);
mpAnimationSlider->setMaximum(100);
mpAnimationSlider->setSliderPosition(0);
mpAnimationSlider->setEnabled(false);
connect(mpAnimationSlider, SIGNAL(valueChanged(int)),this, SLOT(sliderSetTimeSlotFunction(int)));
// animation time
QDoubleValidator *pDoubleValidator = new QDoubleValidator(this);
pDoubleValidator->setBottom(0);
mpAnimationTimeLabel = new Label;
mpAnimationTimeLabel->setText(tr("Time [s]:"));
mpTimeTextBox = new QLineEdit("0.0");
mpTimeTextBox->setMaximumSize(QSize(toolbarIconSize*2, toolbarIconSize));
mpTimeTextBox->setEnabled(false);
mpTimeTextBox->setValidator(pDoubleValidator);
connect(mpTimeTextBox, SIGNAL(returnPressed()),this, SLOT(jumpToTimeSlotFunction()));
// animation speed
mpAnimationSpeedLabel = new Label;
mpAnimationSpeedLabel->setText(tr("Speed:"));
mpSpeedComboBox = new QComboBox;
mpSpeedComboBox->setEditable(true);
mpSpeedComboBox->addItems(QStringList() << "10" << "5" << "2" << "1" << "0.5" << "0.2" << "0.1");
mpSpeedComboBox->setCurrentIndex(3);
mpSpeedComboBox->setMaximumSize(QSize(toolbarIconSize*2, toolbarIconSize));
mpSpeedComboBox->setEnabled(false);
mpSpeedComboBox->setValidator(pDoubleValidator);
mpSpeedComboBox->setCompleter(0);
connect(mpSpeedComboBox, SIGNAL(currentIndexChanged(int)),this, SLOT(setSpeedSlotFunction()));
connect(mpSpeedComboBox->lineEdit(), SIGNAL(textChanged(QString)),this, SLOT(setSpeedSlotFunction()));
// perspective drop down
mpPerspectiveDropDownBox = new QComboBox;
mpPerspectiveDropDownBox->addItem(QIcon(":/Resources/icons/perspective0.svg"), QString("Isometric"));
mpPerspectiveDropDownBox->addItem(QIcon(":/Resources/icons/perspective1.svg"),QString("Side"));
mpPerspectiveDropDownBox->addItem(QIcon(":/Resources/icons/perspective2.svg"),QString("Front"));
mpPerspectiveDropDownBox->addItem(QIcon(":/Resources/icons/perspective3.svg"),QString("Top"));
connect(mpPerspectiveDropDownBox, SIGNAL(activated(int)), this, SLOT(setPerspective(int)));
// rotate camera left action
mpRotateCameraLeftAction = new QAction(QIcon(":/Resources/icons/rotateCameraLeft.svg"), tr("Rotate Left"), this);
mpRotateCameraLeftAction->setStatusTip(tr("Rotates the camera left"));
connect(mpRotateCameraLeftAction, SIGNAL(triggered()), this, SLOT(rotateCameraLeft()));
// rotate camera right action
mpRotateCameraRightAction = new QAction(QIcon(":/Resources/icons/rotateCameraRight.svg"), tr("Rotate Right"), this);
mpRotateCameraRightAction->setStatusTip(tr("Rotates the camera right"));
connect(mpRotateCameraRightAction, SIGNAL(triggered()), this, SLOT(rotateCameraRight()));
}