X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller.cpp;h=258fea7b00edf555e1b9c7465a31d5f053b02de0;hb=8aebf59068ab407648c303efb0e593ce8305d699;hp=64e6a557107992ec667e998dd3b13efc12cd71b3;hpb=24d391fe222bd0fd5910e3b3481124fa23b796be;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/text-controller.cpp b/dali-toolkit/internal/text/text-controller.cpp index 64e6a55..258fea7 100644 --- a/dali-toolkit/internal/text/text-controller.cpp +++ b/dali-toolkit/internal/text/text-controller.cpp @@ -686,7 +686,12 @@ void Controller::SetDefaultFontWeight( FontWeight weight ) bool Controller::IsDefaultFontWeightDefined() const { - return mImpl->mFontDefaults->weightDefined; + if( NULL != mImpl->mFontDefaults ) + { + return mImpl->mFontDefaults->weightDefined; + } + + return false; } FontWeight Controller::GetDefaultFontWeight() const @@ -752,7 +757,12 @@ void Controller::SetDefaultFontWidth( FontWidth width ) bool Controller::IsDefaultFontWidthDefined() const { - return mImpl->mFontDefaults->widthDefined; + if( NULL != mImpl->mFontDefaults ) + { + return mImpl->mFontDefaults->widthDefined; + } + + return false; } FontWidth Controller::GetDefaultFontWidth() const @@ -818,7 +828,11 @@ void Controller::SetDefaultFontSlant( FontSlant slant ) bool Controller::IsDefaultFontSlantDefined() const { - return mImpl->mFontDefaults->slantDefined; + if( NULL != mImpl->mFontDefaults ) + { + return mImpl->mFontDefaults->slantDefined; + } + return false; } FontSlant Controller::GetDefaultFontSlant() const @@ -1743,14 +1757,14 @@ Vector3 Controller::GetNaturalSize() mImpl->UpdateModel( onlyOnceOperations ); // Layout the text for the new width. - mImpl->mOperationsPending = static_cast( mImpl->mOperationsPending | LAYOUT ); + mImpl->mOperationsPending = static_cast( mImpl->mOperationsPending | LAYOUT | REORDER ); // Store the actual control's size to restore later. const Size actualControlSize = mImpl->mModel->mVisualModel->mControlSize; DoRelayout( Size( MAX_FLOAT, MAX_FLOAT ), static_cast( onlyOnceOperations | - LAYOUT ), + LAYOUT | REORDER ), naturalSize.GetVectorXY() ); // Do not do again the only once operations. @@ -1797,7 +1811,8 @@ float Controller::GetHeightForWidth( float width ) Size layoutSize; if( fabsf( width - mImpl->mModel->mVisualModel->mControlSize.width ) > Math::MACHINE_EPSILON_1000 || - mImpl->mTextUpdateInfo.mFullRelayoutNeeded ) + mImpl->mTextUpdateInfo.mFullRelayoutNeeded || + mImpl->mTextUpdateInfo.mClearAll ) { // Operations that can be done only once until the text changes. const OperationsMask onlyOnceOperations = static_cast( CONVERT_TO_UTF32 | @@ -2221,13 +2236,10 @@ bool Controller::KeyEvent( const Dali::KeyEvent& keyEvent ) // Do nothing. return false; } - else if( Dali::DALI_KEY_ESCAPE == keyCode ) + else if( Dali::DALI_KEY_ESCAPE == keyCode || Dali::DALI_KEY_BACK == keyCode ) { - // Escape key is a special case which causes focus loss - KeyboardFocusLostEvent(); - - // Will request for relayout. - relayoutNeeded = true; + // Do nothing + return false; } else if( ( Dali::DALI_KEY_CURSOR_LEFT == keyCode ) || ( Dali::DALI_KEY_CURSOR_RIGHT == keyCode ) || @@ -3682,6 +3694,16 @@ void Controller::ResetScrollPosition() } } +void Controller::SetControlInterface( ControlInterface* controlInterface ) +{ + mImpl->mControlInterface = controlInterface; +} + +bool Controller::ShouldClearFocusOnEscape() const +{ + return mImpl->mShouldClearFocusOnEscape; +} + // private : Private contructors & copy operator. Controller::Controller()