projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge "Removed unnecessary try-catch from Control base class" into devel/master
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
text
/
text-controller-impl.h
diff --git
a/dali-toolkit/internal/text/text-controller-impl.h
b/dali-toolkit/internal/text/text-controller-impl.h
old mode 100644
(file)
new mode 100755
(executable)
index
3014edb
..
3e50faf
--- a/
dali-toolkit/internal/text/text-controller-impl.h
+++ b/
dali-toolkit/internal/text/text-controller-impl.h
@@
-27,6
+27,8
@@
#include <dali-toolkit/internal/text/text-controller.h>
#include <dali-toolkit/internal/text/text-model.h>
#include <dali-toolkit/internal/text/text-view.h>
#include <dali-toolkit/internal/text/text-controller.h>
#include <dali-toolkit/internal/text/text-model.h>
#include <dali-toolkit/internal/text/text-view.h>
+#include <dali-toolkit/public-api/styling/style-manager.h>
+#include <dali-toolkit/devel-api/styling/style-manager-devel.h>
namespace Dali
{
namespace Dali
{
@@
-39,6
+41,7
@@
namespace Text
//Forward declarations
struct CursorInfo;
//Forward declarations
struct CursorInfo;
+struct FontDefaults;
struct Event
{
struct Event
{
@@
-61,6
+64,7
@@
struct Event
int mInt;
unsigned int mUint;
float mFloat;
int mInt;
unsigned int mUint;
float mFloat;
+ bool mBool;
};
Event( Type eventType )
};
Event( Type eventType )
@@
-93,7
+97,7
@@
struct EventData
TEXT_PANNING
};
TEXT_PANNING
};
- EventData( DecoratorPtr decorator );
+ EventData( DecoratorPtr decorator
, InputMethodContext& inputMethodContext
);
~EventData();
~EventData();
@@
-103,7
+107,8
@@
struct EventData
}
DecoratorPtr mDecorator; ///< Pointer to the decorator.
}
DecoratorPtr mDecorator; ///< Pointer to the decorator.
- ImfManager mImfManager; ///< The Input Method Framework Manager.
+ InputMethodContext mInputMethodContext; ///< The Input Method Framework Manager.
+ FontDefaults* mPlaceholderFont; ///< The placeholder default font.
std::string mPlaceholderTextActive; ///< The text to display when the TextField is empty with key-input focus.
std::string mPlaceholderTextInactive; ///< The text to display when the TextField is empty and inactive.
Vector4 mPlaceholderTextColor; ///< The in/active placeholder text color.
std::string mPlaceholderTextActive; ///< The text to display when the TextField is empty with key-input focus.
std::string mPlaceholderTextInactive; ///< The text to display when the TextField is empty and inactive.
Vector4 mPlaceholderTextColor; ///< The in/active placeholder text color.
@@
-154,6
+159,10
@@
struct EventData
bool mUpdateInputStyle : 1; ///< Whether to update the input style after moving the cursor.
bool mPasswordInput : 1; ///< True if password input is enabled.
bool mCheckScrollAmount : 1; ///< Whether to check scrolled amount after updating the position
bool mUpdateInputStyle : 1; ///< Whether to update the input style after moving the cursor.
bool mPasswordInput : 1; ///< True if password input is enabled.
bool mCheckScrollAmount : 1; ///< Whether to check scrolled amount after updating the position
+ bool mIsPlaceholderPixelSize : 1; ///< True if the placeholder font size is set as pixel size.
+ bool mIsPlaceholderElideEnabled : 1; ///< True if the placeholder text's elide is enabled.
+ bool mPlaceholderEllipsisFlag : 1; ///< True if the text controller sets the placeholder ellipsis.
+ bool mShiftSelectionFlag : 1; ///< True if the text selection using Shift key is enabled.
};
struct ModifyEvent
};
struct ModifyEvent
@@
-314,10
+323,14
@@
struct Controller::Impl
mMarkupProcessorEnabled( false ),
mClipboardHideEnabled( true ),
mIsAutoScrollEnabled( false ),
mMarkupProcessorEnabled( false ),
mClipboardHideEnabled( true ),
mIsAutoScrollEnabled( false ),
- mAutoScrollDirectionRTL( false ),
+ mUpdateTextDirection( true ),
+ mIsTextDirectionRTL( false ),
mUnderlineSetByString( false ),
mShadowSetByString( false ),
mUnderlineSetByString( false ),
mShadowSetByString( false ),
- mFontStyleSetByString( false )
+ mOutlineSetByString( false ),
+ mFontStyleSetByString( false ),
+ mShouldClearFocusOnEscape( true ),
+ mLayoutDirection( LayoutDirection::LEFT_TO_RIGHT )
{
mModel = Model::New();
{
mModel = Model::New();
@@
-333,6
+346,17
@@
struct Controller::Impl
// Set the text properties to default
mModel->mVisualModel->SetUnderlineEnabled( false );
mModel->mVisualModel->SetUnderlineHeight( 0.0f );
// Set the text properties to default
mModel->mVisualModel->SetUnderlineEnabled( false );
mModel->mVisualModel->SetUnderlineHeight( 0.0f );
+
+ Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get();
+ if( styleManager )
+ {
+ bool temp;
+ Property::Map config = Toolkit::DevelStyleManager::GetConfigurations( styleManager );
+ if( config["clearFocusOnEscape"].Get( temp ) )
+ {
+ mShouldClearFocusOnEscape = temp;
+ }
+ }
}
~Impl()
}
~Impl()
@@
-432,14
+456,14
@@
struct Controller::Impl
}
}
}
}
- void ResetI
mfManager
()
+ void ResetI
nputMethodContext
()
{
if( mEventData )
{
// Reset incase we are in a pre-edit state.
{
if( mEventData )
{
// Reset incase we are in a pre-edit state.
- if( mEventData->mI
mfManager
)
+ if( mEventData->mI
nputMethodContext
)
{
{
- mEventData->mI
mfManager
.Reset(); // Will trigger a message ( commit, get surrounding )
+ mEventData->mI
nputMethodContext
.Reset(); // Will trigger a message ( commit, get surrounding )
}
ClearPreEditFlag();
}
ClearPreEditFlag();
@@
-447,14
+471,14
@@
struct Controller::Impl
}
/**
}
/**
- * @brief Helper to notify I
MF manager
with surrounding text & cursor changes.
+ * @brief Helper to notify I
nputMethodContext
with surrounding text & cursor changes.
*/
*/
- void NotifyI
mfManager
();
+ void NotifyI
nputMethodContext
();
/**
/**
- * @brief Helper to notify I
MF manager
with multi line status.
+ * @brief Helper to notify I
nputMethodContext
with multi line status.
*/
*/
- void NotifyI
mf
MultiLineStatus();
+ void NotifyI
nputMethodContext
MultiLineStatus();
/**
* @brief Retrieve the current cursor position.
/**
* @brief Retrieve the current cursor position.
@@
-689,6
+713,18
@@
struct Controller::Impl
*/
void ScrollTextToMatchCursor( const CursorInfo& cursorInfo );
*/
void ScrollTextToMatchCursor( const CursorInfo& cursorInfo );
+public:
+
+ /**
+ * @brief Gets implementation from the controller handle.
+ * @param controller The text controller
+ * @return The implementation of the Controller
+ */
+ static Impl& GetImplementation( Text::Controller& controller )
+ {
+ return *controller.mImpl;
+ }
+
private:
// Declared private and left undefined to avoid copies.
Impl( const Impl& );
private:
// Declared private and left undefined to avoid copies.
Impl( const Impl& );
@@
-722,11
+758,15
@@
public:
bool mMarkupProcessorEnabled:1; ///< Whether the mark-up procesor is enabled.
bool mClipboardHideEnabled:1; ///< Whether the ClipboardHide function work or not
bool mIsAutoScrollEnabled:1; ///< Whether auto text scrolling is enabled.
bool mMarkupProcessorEnabled:1; ///< Whether the mark-up procesor is enabled.
bool mClipboardHideEnabled:1; ///< Whether the ClipboardHide function work or not
bool mIsAutoScrollEnabled:1; ///< Whether auto text scrolling is enabled.
- CharacterDirection mAutoScrollDirectionRTL:1; ///< Direction of auto scrolling, true if rtl
+ bool mUpdateTextDirection:1; ///< Whether the text direction needs to be updated.
+ CharacterDirection mIsTextDirectionRTL:1; ///< Whether the text direction is right to left or not
bool mUnderlineSetByString:1; ///< Set when underline is set by string (legacy) instead of map
bool mShadowSetByString:1; ///< Set when shadow is set by string (legacy) instead of map
bool mUnderlineSetByString:1; ///< Set when underline is set by string (legacy) instead of map
bool mShadowSetByString:1; ///< Set when shadow is set by string (legacy) instead of map
+ bool mOutlineSetByString:1; ///< Set when outline is set by string (legacy) instead of map
bool mFontStyleSetByString:1; ///< Set when font style is set by string (legacy) instead of map
bool mFontStyleSetByString:1; ///< Set when font style is set by string (legacy) instead of map
+ bool mShouldClearFocusOnEscape:1; ///< Whether text control should clear key input focus
+ LayoutDirection::Type mLayoutDirection; ///< Current system language direction
};
} // namespace Text
};
} // namespace Text