{
QHBoxLayout* base = new QHBoxLayout( this );
base->setAutoAdd( true );
+ setFocusPolicy( StrongFocus );
}
QDS_Datum::Wrapper::~Wrapper()
if ( myWid->parent() != this )
myWid->reparent( this, QPoint( 0, 0 ) );
+ setTabOrder( this, myWid );
setFocusProxy( myWid );
myWid->updateGeometry();
*/
}
+QDS_Datum::operator QWidget*() const
+{
+ return widget( Control );
+}
+
QString QDS_Datum::id() const
{
initDatum();
initDatum();
QString min;
- if ( !myDicItem.IsNull() )
- min = format( format(), type(), myDicItem->GetMinValue() );
+ if ( !myDicItem.IsNull() && myDicItem->HasData( DDS_DicItem::MinValue ) )
+ min = format( format(), type(), myDicItem->GetMinValue() );
return min;
}
initDatum();
QString max;
- if ( !myDicItem.IsNull() )
+ if ( !myDicItem.IsNull() && myDicItem->HasData( DDS_DicItem::MaxValue ) )
max = format( format(), type(), myDicItem->GetMaxValue() );
return max;
}
return sdStr;
}
+QVariant QDS_Datum::value() const
+{
+ QVariant val;
+ if ( !isEmpty() )
+ val = stringValue();
+ return val;
+}
+
QString QDS_Datum::stringValue() const
{
initDatum();
}
}
+void QDS_Datum::setValue( const QVariant& val )
+{
+ if ( val.isValid() && val.canCast( QVariant::String ) )
+ setStringValue( val.toString() );
+ else
+ clear();
+}
+
void QDS_Datum::setStringValue( const QString& txt )
{
initDatum();
if ( type() == DDS_DicItem::String && isDoubleFormat( format() ) )
return true;
+ QString req;
+ if ( !dicItem().IsNull() )
+ req = toQString( dicItem()->GetRequired() );
+
bool aState = true;
QString aStr = getString();
+
if ( aStr.isEmpty() )
- aState = false;
+ aState = !( req == QString( "yes" ) || req == QString( "true" ) || req.toInt() );
else
aState = validate( aStr );
info = QString( "<p><nobr>%1</nobr></p>" ).arg( msg );
QMessageBox::critical( controlWidget() ? controlWidget()->topLevelWidget() : 0,
- tr( "DATA_ERR_TITLE" ), info, tr( "BUT_OK" ) );
+ tr( "DATA_ERR_TITLE" ), info, tr( "OK" ) );
if ( controlWidget() )
controlWidget()->setFocus();
}