diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/generated/component/richEditor.ets b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/generated/component/richEditor.ets index a66f2a35759fa010440bc3e4cb2dc081d23f7f51..252a2c283126582cf819c2efaefe5d194b108c10 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/generated/component/richEditor.ets +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/generated/component/richEditor.ets @@ -18,7 +18,7 @@ import { SerializerBase, DeserializerBase, Finalizable, runtimeType, RuntimeType, toPeerPtr, KPointer, MaterializedBase, NativeBuffer, nullptr, KInt, KBoolean, KStringPtr, CallbackResource, InteropNativeModule, Tags, KSerializerBuffer, KUint8ArrayPtr } from "@koalaui/interop" import { SelectionOptions_serializer, RectResult_serializer, SelectionOptions, RectResult, ArkCommonMethodPeer, CommonMethod, ShadowOptions, ClickEvent, HoverEvent, HapticFeedbackMode, ArkCommonMethodComponent, ArkCommonMethodStyle, ClickEvent_serializer, ShadowOptions_serializer, HoverEvent_serializer } from "./common" -import { PreviewText_serializer, TextEditControllerEx, TextEditControllerExInternal, LayoutManager, LayoutManagerInternal, PreviewText, TextDataDetectorConfig_serializer, EditMenuOptions_serializer, TextRange, TextDataDetectorConfig, OnDidChangeCallback, EditMenuOptions, KeyboardAppearance, MenuType, DecorationStyleResult, TextRange_serializer, DecorationStyleResult_serializer, StyledStringChangedListener_serializer, StyledStringController, StyledStringControllerInternal, StyledStringChangedListener } from "./textCommon" +import { PreviewText_serializer, TextEditControllerEx, TextEditControllerExInternal, LayoutManager, LayoutManagerInternal, PreviewText, TextDataDetectorConfig_serializer, EditMenuOptions_serializer, TextRange, TextChangeReason, TextDataDetectorConfig, OnDidChangeCallback, EditMenuOptions, KeyboardAppearance, MenuType, DecorationStyleResult, TextRange_serializer, DecorationStyleResult_serializer, StyledStringChangedListener_serializer, StyledStringController, StyledStringControllerInternal, StyledStringChangedListener } from "./textCommon" import { TypeChecker, ArkUIGeneratedNativeModule } from "#components" import { unsafeCast, int32, int64, float32 } from "@koalaui/common" import { CallbackTransformer } from "./../CallbackTransformer" @@ -879,6 +879,7 @@ export interface RichEditorChangeValue { replacedSpans: Array; replacedImageSpans: Array; replacedSymbolSpans: Array; + changeReason?: TextChangeReason; } export interface RichEditorOptions { controller: RichEditorController; @@ -2029,6 +2030,14 @@ export class RichEditorChangeValue_serializer { const valueHolderForReplacedSymbolSpansTmpElement : RichEditorTextSpanResult = valueHolderForReplacedSymbolSpans[valueHolderForReplacedSymbolSpansCounterI] RichEditorTextSpanResult_serializer.write(valueSerializer, valueHolderForReplacedSymbolSpansTmpElement) } + const valueHolderForChangeReason = value.ChangeReason + if(valueHolderForChangeReason !== undefined) { + valueSerializer.writeInt8(RuntimeType.OBJECT) + const valueHolderForChangeReasonTmpValue = (valueHolderForMenuType as TextChangeReason) + valueSerializer.write32(valueHolderForChangeReasonTmpValue.valueOf()) + } else { + valueSerializer.writeInt8(RuntimeType.UNDEFINED) + } } public static read(buffer: DeserializerBase): RichEditorChangeValue { let valueDeserializer : DeserializerBase = buffer @@ -2052,6 +2061,12 @@ export class RichEditorChangeValue_serializer { } const replacedSymbolSpansTmpResult : Array = replacedSymbolSpansTmpBuf let value : RichEditorChangeValue = ({rangeBefore: rangeBeforeTmpResult, replacedSpans: replacedSpansTmpResult, replacedImageSpans: replacedImageSpansTmpResult, replacedSymbolSpans: replacedSymbolSpansTmpResult} as RichEditorChangeValue) + const changeReasonTmpBuf_runtimeType = valueDeserializer.readInt8().toInt() + let changeReasonTmpBuf : TextChangeReason | undefined = undefined + if ((changeReasonTmpBuf_runtimeType) != (RuntimeType.UNDEFINED)) { + changeReasonTmpBuf = TextChangeReason.fromValue(valueDeserializer.readInt32()) + const changeReasonTmpResult : TextChangeReason | undefined = changeReasonTmpBuf + let value : RichEditorChangeValue = ({rangeBefore: rangeBeforeTmpResult, replacedSpans: replacedSpansTmpResult, replacedImageSpans: replacedImageSpansTmpResult, replacedSymbolSpans: replacedSymbolSpansTmpResult, changeReason: changeReasonTmpResult} as RichEditorChangeValue) return value } } diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/generated/component/textCommon.ets b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/generated/component/textCommon.ets index f6fced531740743565b22359897e700f5b17d810..609ca8b3410a535502873daf495ac24f2efdeae1 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/generated/component/textCommon.ets +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/generated/component/textCommon.ets @@ -334,6 +334,21 @@ export interface TextRange { start?: number; end?: number; } +export enum TextChangeReason { + UNKNOWN = 0, + INPUT = 1, + PASTE = 2, + CUT = 3, + DRAG = 4, + AUTO_FILL = 5, + AI_WRITE = 6, + REDO = 7, + UNDO = 8, + CONTROLLER = 9, + ACCESSIBILITY = 10, + COLLABORATION = 11, + STYLUS = 12 +} export interface InsertValue { insertOffset: number; insertValue: string; diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/framework/native/src/generated/arkoala_api_generated.h b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/framework/native/src/generated/arkoala_api_generated.h index 90c520ec12ba454e4a5cc78417f671b6b1501f30..e6eb1e79863c264f28f70af0bef3a7cbce267549 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/framework/native/src/generated/arkoala_api_generated.h +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/framework/native/src/generated/arkoala_api_generated.h @@ -4985,6 +4985,25 @@ typedef struct Opt_MenuPreviewMode { Ark_Tag tag; Ark_MenuPreviewMode value; } Opt_MenuPreviewMode; +typedef enum Ark_TextChangeReason { + ARK_TEXT_CHANGE_REASON_UNKNOWN = 0, + ARK_TEXT_CHANGE_REASON_INPUT = 1, + ARK_TEXT_CHANGE_REASON_PASTE = 2, + ARK_TEXT_CHANGE_REASON_CUT = 3, + ARK_TEXT_CHANGE_REASON_DRAG = 4, + ARK_TEXT_CHANGE_REASON_AUTO_FILL = 5, + ARK_TEXT_CHANGE_REASON_AI_WRITE = 6, + ARK_TEXT_CHANGE_REASON_REDO = 7, + ARK_TEXT_CHANGE_REASON_UNDO = 8, + ARK_TEXT_CHANGE_REASON_CONTROLLER = 9, + ARK_TEXT_CHANGE_REASON_ACCESSIBILITY = 10, + ARK_TEXT_CHANGE_REASON_COLLABORATION = 11, + ARK_TEXT_CHANGE_REASON_STYLUS = 12 +} Ark_TextChangeReason; +typedef struct Opt_TextChangeReason { + Ark_Tag tag; + Ark_TextChangeReason value; +} Opt_TextChangeReason; typedef enum Ark_MenuType { ARK_MENU_TYPE_SELECTION_MENU = 0, ARK_MENU_TYPE_PREVIEW_MENU = 1, @@ -16198,6 +16217,7 @@ typedef struct Ark_RichEditorChangeValue { Array_RichEditorTextSpanResult replacedSpans; Array_RichEditorImageSpanResult replacedImageSpans; Array_RichEditorTextSpanResult replacedSymbolSpans; + Ark_TextChangeReason changeReason; } Ark_RichEditorChangeValue; typedef struct Opt_RichEditorChangeValue { Ark_Tag tag; diff --git a/frameworks/core/interfaces/native/generated/interface/arkoala_api_generated.h b/frameworks/core/interfaces/native/generated/interface/arkoala_api_generated.h index 90c520ec12ba454e4a5cc78417f671b6b1501f30..e6eb1e79863c264f28f70af0bef3a7cbce267549 100644 --- a/frameworks/core/interfaces/native/generated/interface/arkoala_api_generated.h +++ b/frameworks/core/interfaces/native/generated/interface/arkoala_api_generated.h @@ -4985,6 +4985,25 @@ typedef struct Opt_MenuPreviewMode { Ark_Tag tag; Ark_MenuPreviewMode value; } Opt_MenuPreviewMode; +typedef enum Ark_TextChangeReason { + ARK_TEXT_CHANGE_REASON_UNKNOWN = 0, + ARK_TEXT_CHANGE_REASON_INPUT = 1, + ARK_TEXT_CHANGE_REASON_PASTE = 2, + ARK_TEXT_CHANGE_REASON_CUT = 3, + ARK_TEXT_CHANGE_REASON_DRAG = 4, + ARK_TEXT_CHANGE_REASON_AUTO_FILL = 5, + ARK_TEXT_CHANGE_REASON_AI_WRITE = 6, + ARK_TEXT_CHANGE_REASON_REDO = 7, + ARK_TEXT_CHANGE_REASON_UNDO = 8, + ARK_TEXT_CHANGE_REASON_CONTROLLER = 9, + ARK_TEXT_CHANGE_REASON_ACCESSIBILITY = 10, + ARK_TEXT_CHANGE_REASON_COLLABORATION = 11, + ARK_TEXT_CHANGE_REASON_STYLUS = 12 +} Ark_TextChangeReason; +typedef struct Opt_TextChangeReason { + Ark_Tag tag; + Ark_TextChangeReason value; +} Opt_TextChangeReason; typedef enum Ark_MenuType { ARK_MENU_TYPE_SELECTION_MENU = 0, ARK_MENU_TYPE_PREVIEW_MENU = 1, @@ -16198,6 +16217,7 @@ typedef struct Ark_RichEditorChangeValue { Array_RichEditorTextSpanResult replacedSpans; Array_RichEditorImageSpanResult replacedImageSpans; Array_RichEditorTextSpanResult replacedSymbolSpans; + Ark_TextChangeReason changeReason; } Ark_RichEditorChangeValue; typedef struct Opt_RichEditorChangeValue { Ark_Tag tag; diff --git a/frameworks/core/interfaces/native/implementation/rich_editor_modifier.cpp b/frameworks/core/interfaces/native/implementation/rich_editor_modifier.cpp index 8127c61a5d64a328955fb841300dd60c79c077f2..77211df8998c96295a9ece6aebbdc656a19a85f7 100644 --- a/frameworks/core/interfaces/native/implementation/rich_editor_modifier.cpp +++ b/frameworks/core/interfaces/native/implementation/rich_editor_modifier.cpp @@ -180,6 +180,12 @@ void AssignArkValue(Ark_RichEditorChangeValue& dst, const RichEditorChangeValue& src.GetRichEditorReplacedImageSpans(), ctx); dst.replacedSymbolSpans = Converter::ArkValue( src.GetRichEditorReplacedSymbolSpans(), ctx); + auto changeReason = src.GetChangeReason(); + if (changeReason.HasValue()) { + dst.changeReason = Converter::ArkValue(changeReason.Value()); + } else { + dst.changeReason = Converter::ArkValue(std::nullopt); + } } PlaceholderOptions GetThemePlaceholderOptions()