#ifndef __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_H__
#define __DALI_TOOLKIT_INTERNAL_TEXT_VIEW_H__
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
// INTERNAL INCLUDES
-#include <dali/public-api/common/dali-vector.h>
-
-#include <dali/public-api/actors/text-actor.h>
#include <dali-toolkit/public-api/controls/control-impl.h>
#include <dali-toolkit/public-api/controls/text-view/text-view.h>
-#include "text-actor-cache.h"
-#include "text-view-processor-types.h"
+#include <dali-toolkit/internal/controls/text-view/text-actor-cache.h>
+#include <dali-toolkit/internal/controls/text-view/text-view-processor-types.h>
namespace Dali
{
/**
* TextView is a custom control for text aligning and multiline support
*/
-class TextView : public ControlImpl
+class TextView : public Control
{
public:
// Properties
enum
{
- TEXTVIEW_PROPERTY_START_INDEX = ControlImpl::CONTROL_PROPERTY_END_INDEX + 1,
+ TEXTVIEW_PROPERTY_START_INDEX = Control::CONTROL_PROPERTY_END_INDEX + 1,
TEXTVIEW_PROPERTY_END_INDEX = TEXTVIEW_PROPERTY_START_INDEX + 1000 ///< Reserving 1000 property indices
};
SplitOriginal, ///< Split if it exceeds the width but no action if it exceeds the height.
SplitFade, ///< Split if it exceeds the width and faded if it exceeds the height.
SplitShrink, ///< Split if it exceeds the width and shrunk if it exceeds the height.
+ SplitEllipsizeEnd, ///< Split if it exceeds the width and ellipsize if it exceeds the height.
Fade, ///< Faded if it exceeds any boundary.
FadeOriginal, ///< Faded if it exceeds the width but no action if it exceeds the height.
ShrinkOriginal, ///< Shrunk if it exceeds the width but no action if it exceeds the height.
std::string GetText() const;
/**
- * @copydoc SetFont( const Font newFont )
- */
- void SetFont( const Font newFont );
-
- /**
* @copydoc SetLineHeightOffset()
*/
void SetLineHeightOffset( PointSize offset );
* @param[in] index The property index.
* @return The current value of the property.
*/
- static Property::Value GetProperty( BaseObject* object, Property::Index propertyIndex );
+ static Property::Value GetProperty( BaseObject* object, Property::Index index );
-private: // From ControlImpl
+private: // From Control
/**
* @copydoc Toolkit::Control::OnInitialize()
virtual void OnInitialize();
/**
- * @copydoc Toolkit::Control::OnStyleChange()
+ * @copydoc Toolkit::Control::OnFontChange( )
*/
- virtual void OnStyleChange( StyleChange change );
+ virtual void OnFontChange( bool defaultFontChange, bool defaultFontSizeChange );
/**
* @copydoc Toolkit::Control::OnControlSizeSet()
*/
virtual float GetWidthForHeight( float height );
- /**
- * @copydoc Dali::CustomActorImpl::OnPropertySet()
- */
- virtual void OnPropertySet( Property::Index index, Property::Value propertyValue );
-
protected:
/**
Actor GetRootActor() const;
/**
+ * Handle SetProperty for markup processing.
+ * @param[in] propertyValue The new property value.
+ */
+ void OnMarkupEnabledPeopertySet( Property::Value propertyValue );
+
+ /**
* Handles SetProperty for multiline policy.
* @param[in] propertyValue The new property value.
- */
+ */
void OnMultilinePolicyPropertySet( Property::Value propertyValue );
/**
* Handles SetProperty for width exceed policy.
* @param[in] propertyValue The new property value.
- */
+ */
void OnWidthExceedPolicyPropertySet( Property::Value propertyValue );
/**
* Handles SetProperty for height exceed policy.
* @param[in] propertyValue The new property value.
- */
+ */
void OnHeightExceedPolicyPropertySet( Property::Value propertyValue );
/**
* Handles SetProperty for line justification.
* @param[in] propertyValue The new property value.
- */
+ */
void OnLineJustificationPropertySet( Property::Value propertyValue );
/**
* Handles SetProperty for fade boundary.
- * @param[in] propertyIndex The property index.
* @param[in] propertyValue The new property value.
- */
- void OnFadeBoundaryPropertySet( Property::Index propertyIndex, Property::Value propertyValue );
+ */
+ void OnFadeBoundaryPropertySet( Property::Value propertyValue );
/**
* Handles SetProperty for alignment property.
* @param[in] propertyIndex The property index.
* @param[in] propertyValue The new property value.
- */
+ */
void OnAlignmentPropertySet( Property::Index propertyIndex, Property::Value propertyValue );
+ /**
+ * Handles GetProperty for horizontal alignment property.
+ * @return The property value of horizontal alignment.
+ */
+ std::string OnHorizontalAlignmentPropertyGet();
+
+ /**
+ * Handles GetProperty for vertical alignment property.
+ * @return The property value of vertical alignment.
+ */
+ std::string OnVerticalAlignmentPropertyGet();
+
public:
/**
Toolkit::TextView::LineJustification lineJustification,
float lineHeightOffset,
const std::string& ellipsizeText,
- const bool markUpEnabled );
+ bool markUpEnabled );
/**
* Copy constructor
bool mMarkUpEnabled:1; ///< enable to scan for mark-up
Toolkit::TextView::ScrolledSignalV2 mScrolledSignalV2; ///< Signal emitted when text is scrolled.
-
- Property::Index mPropertyText; ///< Property index for text.
- Property::Index mPropertyMultilinePolicy; ///< Property index for multiline policy.
- Property::Index mPropertyWidthExceedPolicy; ///< Property index for width exceed policy.
- Property::Index mPropertyHeightExceedPolicy; ///< Property index for height exceed policy.
- Property::Index mPropertyLineJustification; ///< Property index for line justification policy.
- Property::Index mPropertyFadeBoundaryLeft; ///< Property index for Left fade boundary.
- Property::Index mPropertyFadeBoundaryRight; ///< Property index for Right fade boundary.
- Property::Index mPropertyFadeBoundaryTop; ///< Property index for Top fade boundary.
- Property::Index mPropertyFadeBoundaryBottom; ///< Property index for Bottom fade boundary.
- Property::Index mPropertyLineHeightOffset; ///< Property index for Line height offset.
- Property::Index mPropertyHorizontalAlignment; ///< Property index for Horizontal alignment.
- Property::Index mPropertyVerticalAlignment; ///< Property index for Vertical alignment.
};
} // namespace Internal