From 7c0da5f471ea939caad3315de4cb6459858cb11b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E9=92=A6=E9=94=8B?= Date: Thu, 10 Jul 2025 22:22:04 +0800 Subject: [PATCH] =?UTF-8?q?0603=E5=9B=9E=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 徐钦锋 --- .../pattern/badge/badge_layout_property.cpp | 2 +- .../pattern/badge/badge_pattern.cpp | 16 +- .../pattern/calendar/calendar_controller_ng.h | 6 +- .../pattern/calendar/calendar_model_ng.cpp | 607 ------------------ .../pattern/calendar/calendar_model_ng.h | 16 - .../calendar_picker_layout_property.h | 2 +- .../calendar_picker_model_ng.cpp | 141 ++-- .../calendar_picker_model_ng.h | 7 +- .../pattern/counter/counter_pattern.h | 10 +- .../pattern/gauge/gauge_layout_algorithm.cpp | 4 +- .../pattern/gauge/gauge_model_ng.cpp | 71 +- .../pattern/gauge/gauge_model_ng.h | 12 +- .../pattern/gauge/gauge_modifier.cpp | 20 +- .../loading_progress_modifier.cpp | 6 +- .../loading_progress_paint_method.h | 2 +- .../patternlock/patternlock_model_ng.cpp | 114 +--- .../patternlock/patternlock_model_ng.h | 25 +- .../pattern/picker/datepicker_model_ng.cpp | 12 +- .../pattern/picker/datepicker_model_ng.h | 1 - .../picker/datepicker_paint_method.cpp | 2 +- .../pattern/picker/datepicker_pattern.h | 5 +- .../picker/datepicker_row_layout_property.h | 9 - .../pattern/progress/progress_modifier.cpp | 24 +- .../progress/progress_paint_property.cpp | 5 +- .../qrcode/qrcode_layout_algorithm.cpp | 2 +- .../pattern/qrcode/qrcode_model_ng.cpp | 32 +- .../pattern/qrcode/qrcode_model_ng.h | 6 +- .../pattern/qrcode/qrcode_paint_method.cpp | 10 +- .../text_clock/text_clock_model_ng.cpp | 81 +-- .../pattern/text_clock/text_clock_model_ng.h | 14 +- .../textpicker_layout_algorithm.cpp | 6 +- .../text_picker/textpicker_layout_property.h | 47 +- .../text_picker/textpicker_model_ng.cpp | 161 +---- .../pattern/text_picker/textpicker_model_ng.h | 17 +- .../text_picker/textpicker_pattern.cpp | 8 +- .../pattern/text_picker/textpicker_pattern.h | 14 +- .../texttimer/text_timer_layout_property.cpp | 1 - .../pattern/texttimer/text_timer_model_ng.cpp | 78 +-- .../pattern/texttimer/text_timer_model_ng.h | 18 +- .../time_picker/timepicker_layout_property.h | 11 - .../time_picker/timepicker_model_ng.cpp | 29 +- .../pattern/time_picker/timepicker_model_ng.h | 4 +- 42 files changed, 265 insertions(+), 1393 deletions(-) diff --git a/frameworks/core/components_ng/pattern/badge/badge_layout_property.cpp b/frameworks/core/components_ng/pattern/badge/badge_layout_property.cpp index 92ca799c297..e854062abbc 100644 --- a/frameworks/core/components_ng/pattern/badge/badge_layout_property.cpp +++ b/frameworks/core/components_ng/pattern/badge/badge_layout_property.cpp @@ -39,7 +39,7 @@ void BadgeLayoutProperty::ToJsonValue(std::unique_ptr& json, const In if (filter.IsFastFilter()) { return; } - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto badgeTheme = pipeline->GetTheme(); CHECK_NULL_VOID(badgeTheme); diff --git a/frameworks/core/components_ng/pattern/badge/badge_pattern.cpp b/frameworks/core/components_ng/pattern/badge/badge_pattern.cpp index 2959ab0aaa2..a8834e25eea 100644 --- a/frameworks/core/components_ng/pattern/badge/badge_pattern.cpp +++ b/frameworks/core/components_ng/pattern/badge/badge_pattern.cpp @@ -77,7 +77,7 @@ void BadgePattern::OnModifyDone() badgeVisible = true; } auto circleSize = layoutProperty->GetBadgeCircleSize(); - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto badgeTheme = pipeline->GetTheme(); CHECK_NULL_VOID(badgeTheme); @@ -115,18 +115,13 @@ void BadgePattern::OnModifyDone() void BadgePattern::DumpInfo() { - auto pipeline = PipelineBase::GetCurrentContextSafely(); - CHECK_NULL_VOID(pipeline); - auto badgeTheme = pipeline->GetTheme(); - CHECK_NULL_VOID(badgeTheme); auto layoutProperty = GetLayoutProperty(); auto badgeCount = layoutProperty->GetBadgeCount(); auto badgeValue = layoutProperty->GetBadgeValue(); auto circleSize = layoutProperty->GetBadgeCircleSize(); auto badgeTextColor = layoutProperty->GetBadgeTextColor(); auto badgeFontSize = layoutProperty->GetBadgeFontSize(); - auto badgePosition = layoutProperty->GetBadgePositionString( - layoutProperty->GetBadgePositionValue(badgeTheme->GetBadgePosition())); + auto badgePosition = layoutProperty->GetBadgePositionString(layoutProperty->GetBadgePositionValue()); auto badgeColor = layoutProperty->GetBadgeColor(); auto badgeFontWeight = layoutProperty->GetBadgeFontWeight(); auto badgeBorderColor = layoutProperty->GetBadgeBorderColor(); @@ -157,18 +152,13 @@ void BadgePattern::DumpInfo() void BadgePattern::DumpInfo(std::unique_ptr& json) { - auto pipeline = PipelineBase::GetCurrentContextSafely(); - CHECK_NULL_VOID(pipeline); - auto badgeTheme = pipeline->GetTheme(); - CHECK_NULL_VOID(badgeTheme); auto layoutProperty = GetLayoutProperty(); auto badgeCount = layoutProperty->GetBadgeCount(); auto badgeValue = layoutProperty->GetBadgeValue(); auto circleSize = layoutProperty->GetBadgeCircleSize(); auto badgeTextColor = layoutProperty->GetBadgeTextColor(); auto badgeFontSize = layoutProperty->GetBadgeFontSize(); - auto badgePosition = layoutProperty->GetBadgePositionString( - layoutProperty->GetBadgePositionValue(badgeTheme->GetBadgePosition())); + auto badgePosition = layoutProperty->GetBadgePositionString(layoutProperty->GetBadgePositionValue()); auto badgeColor = layoutProperty->GetBadgeColor(); auto badgeFontWeight = layoutProperty->GetBadgeFontWeight(); auto badgeBorderColor = layoutProperty->GetBadgeBorderColor(); diff --git a/frameworks/core/components_ng/pattern/calendar/calendar_controller_ng.h b/frameworks/core/components_ng/pattern/calendar/calendar_controller_ng.h index 879c7a7ee75..a3e226f2742 100644 --- a/frameworks/core/components_ng/pattern/calendar/calendar_controller_ng.h +++ b/frameworks/core/components_ng/pattern/calendar/calendar_controller_ng.h @@ -28,13 +28,13 @@ public: CalendarControllerNg() = default; ~CalendarControllerNg() override = default; - virtual void SetCalendarPattern(const WeakPtr& pattern) + void SetCalendarPattern(const WeakPtr& pattern) { pattern_ = pattern; } - virtual void BackToToday(); - virtual void GoTo(int32_t year, int32_t month, int32_t day); + void BackToToday(); + void GoTo(int32_t year, int32_t month, int32_t day); private: WeakPtr pattern_; diff --git a/frameworks/core/components_ng/pattern/calendar/calendar_model_ng.cpp b/frameworks/core/components_ng/pattern/calendar/calendar_model_ng.cpp index c85c7944829..c2b5d10d942 100644 --- a/frameworks/core/components_ng/pattern/calendar/calendar_model_ng.cpp +++ b/frameworks/core/components_ng/pattern/calendar/calendar_model_ng.cpp @@ -660,613 +660,6 @@ void CalendarModelNG::SetWorkStateStyle(const WorkStateStyle& workStateStyle) } } -RefPtr CalendarModelNG::CreateFrameNode(int32_t nodeId) -{ - auto frameNode = FrameNode::GetOrCreateFrameNode( - V2::CALENDAR_ETS_TAG, nodeId, []() { return AceType::MakeRefPtr(); }); - auto calendarPattern = frameNode->GetPattern(); - CHECK_NULL_RETURN(calendarPattern, frameNode); - auto swiperId = ElementRegister::GetInstance()->MakeUniqueId(); - auto swiperNode = FrameNode::GetOrCreateFrameNode( - V2::SWIPER_ETS_TAG, swiperId, []() { return AceType::MakeRefPtr(); }); - auto swiperPaintProperty = swiperNode->GetPaintProperty(); - CHECK_NULL_RETURN(swiperPaintProperty, frameNode); - swiperPaintProperty->UpdateEdgeEffect(EdgeEffect::SPRING); - auto swiperLayoutProperty = swiperNode->GetLayoutProperty(); - CHECK_NULL_RETURN(swiperLayoutProperty, frameNode); - swiperLayoutProperty->UpdateLoop(true); - swiperLayoutProperty->UpdateIndex(1); - swiperLayoutProperty->UpdateShowIndicator(false); - swiperLayoutProperty->UpdateDisableSwipe(true); - auto swiperPattern = swiperNode->GetPattern(); - CHECK_NULL_RETURN(swiperPattern, frameNode); - auto swiperController = swiperPattern->GetSwiperController(); - CHECK_NULL_RETURN(swiperController, frameNode); - swiperNode->MountToParent(frameNode); - - auto currentMonthFrameNode = Create(); - auto currentPattern = currentMonthFrameNode->GetPattern(); - CHECK_NULL_RETURN(currentPattern, frameNode); - auto preMonthFrameNode = Create(); - auto prePattern = preMonthFrameNode->GetPattern(); - CHECK_NULL_RETURN(prePattern, frameNode); - auto nextMonthFrameNode = Create(); - auto nextPattern = nextMonthFrameNode->GetPattern(); - CHECK_NULL_RETURN(nextPattern, frameNode); - preMonthFrameNode->MountToParent(swiperNode); - preMonthFrameNode->MarkDirtyNode(PROPERTY_UPDATE_RENDER); - currentMonthFrameNode->MountToParent(swiperNode); - currentMonthFrameNode->MarkDirtyNode(PROPERTY_UPDATE_RENDER); - nextMonthFrameNode->MountToParent(swiperNode); - nextMonthFrameNode->MarkDirtyNode(PROPERTY_UPDATE_RENDER); - - swiperNode->MarkModifyDone(); - return frameNode; -} - -void CalendarModelNG::SetOptions(FrameNode* frameNode, const CalendarData& calendarData) -{ - CHECK_NULL_VOID(frameNode); - auto calendarPattern = frameNode->GetPattern(); - CHECK_NULL_VOID(calendarPattern); - calendarPattern->SetCalendarDay(calendarData.date); - calendarPattern->SetPreMonthData(calendarData.preData); - calendarPattern->SetCurrentMonthData(calendarData.currentData); - calendarPattern->SetNextMonthData(calendarData.nextData); - if (calendarData.controller) { - calendarPattern->SetCalendarControllerNg(calendarData.controller); - } -} - -void CalendarModelNG::SetShowLunar(FrameNode* frameNode, bool showLunar) -{ - CHECK_NULL_VOID(frameNode); - auto swiperNode = frameNode->GetChildren().front(); - CHECK_NULL_VOID(swiperNode); - for (const auto& calendarNode : swiperNode->GetChildren()) { - auto calendarFrameNode = AceType::DynamicCast(calendarNode); - CHECK_NULL_VOID(calendarFrameNode); - auto calendarPaintProperty = calendarFrameNode->GetPaintProperty(); - CHECK_NULL_VOID(calendarPaintProperty); - calendarPaintProperty->UpdateShowLunar(showLunar); - } -} - -void CalendarModelNG::SetShowHoliday(FrameNode* frameNode, bool showHoliday) -{ - CHECK_NULL_VOID(frameNode); - auto swiperNode = frameNode->GetChildren().front(); - CHECK_NULL_VOID(swiperNode); - for (const auto& calendarNode : swiperNode->GetChildren()) { - auto calendarFrameNode = AceType::DynamicCast(calendarNode); - CHECK_NULL_VOID(calendarFrameNode); - auto calendarPaintProperty = calendarFrameNode->GetPaintProperty(); - CHECK_NULL_VOID(calendarPaintProperty); - calendarPaintProperty->UpdateShowHoliday(showHoliday); - } -} - -void CalendarModelNG::SetNeedSlide(FrameNode* frameNode, bool needSlide) -{ - CHECK_NULL_VOID(frameNode); - auto swiperNode = frameNode->GetChildren().front(); - CHECK_NULL_VOID(swiperNode); - auto swiperFrameNode = AceType::DynamicCast(swiperNode); - CHECK_NULL_VOID(swiperFrameNode); - auto swiperLayoutProperty = swiperFrameNode->GetLayoutProperty(); - CHECK_NULL_VOID(swiperLayoutProperty); - swiperLayoutProperty->UpdateDisableSwipe(!needSlide); - swiperFrameNode->MarkModifyDone(); -} - -void CalendarModelNG::SetStartOfWeek(FrameNode* frameNode, int32_t startOfWeek) -{ - CHECK_NULL_VOID(frameNode); - auto swiperNode = frameNode->GetChildren().front(); - CHECK_NULL_VOID(swiperNode); - for (const auto& calendarNode : swiperNode->GetChildren()) { - auto calendarFrameNode = AceType::DynamicCast(calendarNode); - CHECK_NULL_VOID(calendarFrameNode); - auto calendarPaintProperty = calendarFrameNode->GetPaintProperty(); - CHECK_NULL_VOID(calendarPaintProperty); - calendarPaintProperty->UpdateStartOfWeek(NG::Week(startOfWeek)); - } -} - -void CalendarModelNG::SetOffDays(FrameNode* frameNode, const std::optional& offDays) -{ - CHECK_NULL_VOID(frameNode); - auto swiperNode = frameNode->GetChildren().front(); - CHECK_NULL_VOID(swiperNode); - for (const auto& calendarNode : swiperNode->GetChildren()) { - auto calendarFrameNode = AceType::DynamicCast(calendarNode); - CHECK_NULL_VOID(calendarFrameNode); - auto calendarPaintProperty = calendarFrameNode->GetPaintProperty(); - CHECK_NULL_VOID(calendarPaintProperty); - if (offDays) { - calendarPaintProperty->UpdateOffDays(*offDays); - } else { - calendarPaintProperty->ResetOffDays(); - } - } -} - -void CalendarModelNG::SetDirection(FrameNode* frameNode, const std::optional& dir) -{ - CHECK_NULL_VOID(frameNode); - auto swiperNode = frameNode->GetChildren().front(); - CHECK_NULL_VOID(swiperNode); - auto swiperFrameNode = AceType::DynamicCast(swiperNode); - CHECK_NULL_VOID(swiperFrameNode); - auto swiperLayoutProperty = swiperFrameNode->GetLayoutProperty(); - CHECK_NULL_VOID(swiperLayoutProperty); - if (dir) { - swiperLayoutProperty->UpdateDirection(*dir); - } else { - swiperLayoutProperty->ResetDirection(); - } - swiperFrameNode->MarkModifyDone(); -} - -static void UpdateColors(CurrentDayStyle& currentDayStyle, const CurrentDayStyleData& dataStyle) -{ - if (dataStyle.dayColor.has_value()) { - currentDayStyle.UpdateDayColor(dataStyle.dayColor.value()); - } - if (dataStyle.lunarColor.has_value()) { - currentDayStyle.UpdateLunarColor(dataStyle.lunarColor.value()); - } - if (dataStyle.markLunarColor.has_value()) { - currentDayStyle.UpdateMarkLunarColor(dataStyle.markLunarColor.value()); - } -} - -static void UpdateDimensions1(CurrentDayStyle& currentDayStyle, const CurrentDayStyleData& dataStyle) -{ - if (dataStyle.dayFontSize.has_value()) { - currentDayStyle.UpdateDayFontSize(dataStyle.dayFontSize.value()); - } - if (dataStyle.lunarDayFontSize.has_value()) { - currentDayStyle.UpdateLunarDayFontSize(dataStyle.lunarDayFontSize.value()); - } - if (dataStyle.dayHeight.has_value()) { - currentDayStyle.UpdateDayHeight(dataStyle.dayHeight.value()); - } - if (dataStyle.dayWidth.has_value()) { - currentDayStyle.UpdateDayWidth(dataStyle.dayWidth.value()); - } - if (dataStyle.gregorianCalendarHeight.has_value()) { - currentDayStyle.UpdateGregorianCalendarHeight(dataStyle.gregorianCalendarHeight.value()); - } - if (dataStyle.lunarHeight.has_value()) { - currentDayStyle.UpdateLunarHeight(dataStyle.lunarHeight.value()); - } - if (dataStyle.dayYAxisOffset.has_value()) { - currentDayStyle.UpdateDayYAxisOffset(dataStyle.dayYAxisOffset.value()); - } - if (dataStyle.lunarDayYAxisOffset.has_value()) { - currentDayStyle.UpdateLunarDayYAxisOffset(dataStyle.lunarDayYAxisOffset.value()); - } - if (dataStyle.underscoreXAxisOffset.has_value()) { - currentDayStyle.UpdateUnderscoreXAxisOffset(dataStyle.underscoreXAxisOffset.value()); - } - if (dataStyle.underscoreYAxisOffset.has_value()) { - currentDayStyle.UpdateUnderscoreYAxisOffset(dataStyle.underscoreYAxisOffset.value()); - } - if (dataStyle.scheduleMarkerXAxisOffset.has_value()) { - currentDayStyle.UpdateScheduleMarkerXAxisOffset(dataStyle.scheduleMarkerXAxisOffset.value()); - } - if (dataStyle.scheduleMarkerYAxisOffset.has_value()) { - currentDayStyle.UpdateScheduleMarkerYAxisOffset(dataStyle.scheduleMarkerYAxisOffset.value()); - } -} - -static void UpdateDimensions2(CurrentDayStyle& currentDayStyle, const CurrentDayStyleData& dataStyle) -{ - if (dataStyle.colSpace.has_value()) { - currentDayStyle.UpdateColSpace(dataStyle.colSpace.value()); - } - if (dataStyle.dailyFiveRowSpace.has_value()) { - currentDayStyle.UpdateDailyFiveRowSpace(dataStyle.dailyFiveRowSpace.value()); - } - if (dataStyle.dailySixRowSpace.has_value()) { - currentDayStyle.UpdateDailySixRowSpace(dataStyle.dailySixRowSpace.value()); - } - if (dataStyle.underscoreWidth.has_value()) { - currentDayStyle.UpdateUnderscoreWidth(dataStyle.underscoreWidth.value()); - } - if (dataStyle.underscoreLength.has_value()) { - currentDayStyle.UpdateUnderscoreLength(dataStyle.underscoreLength.value()); - } - if (dataStyle.scheduleMarkerRadius.has_value()) { - currentDayStyle.UpdateScheduleMarkerRadius(dataStyle.scheduleMarkerRadius.value()); - } - if (dataStyle.boundaryRowOffset.has_value()) { - currentDayStyle.UpdateBoundaryRowOffset(dataStyle.boundaryRowOffset.value()); - } - if (dataStyle.boundaryColOffset.has_value()) { - currentDayStyle.UpdateBoundaryColOffset(dataStyle.boundaryColOffset.value()); - } -} - -static inline CurrentDayStyle ConvertCurrentDayStyle(const CurrentDayStyleData& dataStyle) -{ - CurrentDayStyle currentDayStyle; - UpdateColors(currentDayStyle, dataStyle); - UpdateDimensions1(currentDayStyle, dataStyle); - UpdateDimensions2(currentDayStyle, dataStyle); - return currentDayStyle; -} - -static void UpdatePaintProperties1(RefPtr calendarPaintProperty, - const CurrentDayStyle& currentDayStyle) -{ - if (currentDayStyle.HasDayColor()) { - calendarPaintProperty->UpdateDayColor(currentDayStyle.GetDayColorValue()); - } - if (currentDayStyle.HasLunarColor()) { - calendarPaintProperty->UpdateLunarColor(currentDayStyle.GetLunarColorValue()); - } - if (currentDayStyle.HasMarkLunarColor()) { - calendarPaintProperty->UpdateMarkLunarColor(currentDayStyle.GetMarkLunarColorValue()); - } - if (currentDayStyle.HasDayFontSize()) { - calendarPaintProperty->UpdateDayFontSize(currentDayStyle.GetDayFontSizeValue()); - } - if (currentDayStyle.HasLunarDayFontSize()) { - calendarPaintProperty->UpdateLunarDayFontSize(currentDayStyle.GetLunarDayFontSizeValue()); - } - if (currentDayStyle.HasDayHeight()) { - calendarPaintProperty->UpdateDayHeight(currentDayStyle.GetDayHeightValue()); - } - if (currentDayStyle.HasDayWidth()) { - calendarPaintProperty->UpdateDayWidth(currentDayStyle.GetDayWidthValue()); - } - if (currentDayStyle.HasGregorianCalendarHeight()) { - calendarPaintProperty->UpdateGregorianCalendarHeight(currentDayStyle.GetGregorianCalendarHeightValue()); - } - if (currentDayStyle.HasDayYAxisOffset()) { - calendarPaintProperty->UpdateDayYAxisOffset(currentDayStyle.GetDayYAxisOffsetValue()); - } - if (currentDayStyle.HasLunarDayYAxisOffset()) { - calendarPaintProperty->UpdateLunarDayYAxisOffset(currentDayStyle.GetLunarDayYAxisOffsetValue()); - } - if (currentDayStyle.HasUnderscoreXAxisOffset()) { - calendarPaintProperty->UpdateUnderscoreXAxisOffset(currentDayStyle.GetUnderscoreXAxisOffsetValue()); - } - if (currentDayStyle.HasUnderscoreYAxisOffset()) { - calendarPaintProperty->UpdateUnderscoreYAxisOffset(currentDayStyle.GetUnderscoreYAxisOffsetValue()); - } - if (currentDayStyle.HasScheduleMarkerXAxisOffset()) { - calendarPaintProperty->UpdateScheduleMarkerXAxisOffset( - currentDayStyle.GetScheduleMarkerXAxisOffsetValue()); - } - if (currentDayStyle.HasScheduleMarkerYAxisOffset()) { - calendarPaintProperty->UpdateScheduleMarkerYAxisOffset( - currentDayStyle.GetScheduleMarkerYAxisOffsetValue()); - } -} - -static void UpdatePaintProperties2(RefPtr calendarPaintProperty, - const CurrentDayStyle& currentDayStyle) -{ - if (currentDayStyle.HasColSpace()) { - calendarPaintProperty->UpdateColSpace(currentDayStyle.GetColSpaceValue()); - } - if (currentDayStyle.HasDailyFiveRowSpace()) { - calendarPaintProperty->UpdateDailyFiveRowSpace(currentDayStyle.GetDailyFiveRowSpaceValue()); - } - if (currentDayStyle.HasDailySixRowSpace()) { - calendarPaintProperty->UpdateDailySixRowSpace(currentDayStyle.GetDailySixRowSpaceValue()); - } - if (currentDayStyle.HasLunarHeight()) { - calendarPaintProperty->UpdateLunarHeight(currentDayStyle.GetLunarHeightValue()); - } - if (currentDayStyle.HasUnderscoreWidth()) { - calendarPaintProperty->UpdateUnderscoreWidth(currentDayStyle.GetUnderscoreWidthValue()); - } - if (currentDayStyle.HasUnderscoreLength()) { - calendarPaintProperty->UpdateUnderscoreLength(currentDayStyle.GetUnderscoreLengthValue()); - } - if (currentDayStyle.HasScheduleMarkerRadius()) { - calendarPaintProperty->UpdateScheduleMarkerRadius(currentDayStyle.GetScheduleMarkerRadiusValue()); - } - if (currentDayStyle.HasBoundaryRowOffset()) { - calendarPaintProperty->UpdateBoundaryRowOffset(currentDayStyle.GetBoundaryRowOffsetValue()); - } - if (currentDayStyle.HasBoundaryColOffset()) { - calendarPaintProperty->UpdateBoundaryColOffset(currentDayStyle.GetBoundaryColOffsetValue()); - } -} - -static inline void UpdatePaintProperty(RefPtr calendarPaintProperty, - const CurrentDayStyle& currentDayStyle) -{ - UpdatePaintProperties1(calendarPaintProperty, currentDayStyle); - UpdatePaintProperties2(calendarPaintProperty, currentDayStyle); -} - -void CalendarModelNG::SetCurrentDayStyle(FrameNode* frameNode, const CurrentDayStyleData& dataStyle) -{ - auto currentDayStyle = ConvertCurrentDayStyle(dataStyle); - CHECK_NULL_VOID(frameNode); - auto swiperNode = frameNode->GetChildren().front(); - CHECK_NULL_VOID(swiperNode); - for (const auto& calendarNode : swiperNode->GetChildren()) { - auto calendarFrameNode = AceType::DynamicCast(calendarNode); - CHECK_NULL_VOID(calendarFrameNode); - auto calendarPaintProperty = calendarFrameNode->GetPaintProperty(); - CHECK_NULL_VOID(calendarPaintProperty); - UpdatePaintProperty(calendarPaintProperty, currentDayStyle); - } -} - -static NonCurrentDayStyle ConvertNonCurrentDayStyle(const NonCurrentDayStyleData& dataStyle) -{ - NG::NonCurrentDayStyle nonCurrentDayStyle; - if (dataStyle.nonCurrentMonthDayColor.has_value()) { - nonCurrentDayStyle.UpdateNonCurrentMonthDayColor(dataStyle.nonCurrentMonthDayColor.value()); - } - - if (dataStyle.nonCurrentMonthLunarColor.has_value()) { - nonCurrentDayStyle.UpdateNonCurrentMonthLunarColor(dataStyle.nonCurrentMonthLunarColor.value()); - } - - if (dataStyle.nonCurrentMonthWorkDayMarkColor.has_value()) { - nonCurrentDayStyle.UpdateNonCurrentMonthWorkDayMarkColor( - dataStyle.nonCurrentMonthWorkDayMarkColor.value()); - } - - if (dataStyle.nonCurrentMonthOffDayMarkColor.has_value()) { - nonCurrentDayStyle.UpdateNonCurrentMonthOffDayMarkColor( - dataStyle.nonCurrentMonthOffDayMarkColor.value()); - } - - return nonCurrentDayStyle; -} - -void CalendarModelNG::SetNonCurrentDayStyle(FrameNode* frameNode, const NonCurrentDayStyleData& dataStyle) -{ - auto nonCurrentDayStyle = ConvertNonCurrentDayStyle(dataStyle); - CHECK_NULL_VOID(frameNode); - auto swiperNode = frameNode->GetChildren().front(); - CHECK_NULL_VOID(swiperNode); - for (const auto& calendarNode : swiperNode->GetChildren()) { - auto calendarFrameNode = AceType::DynamicCast(calendarNode); - CHECK_NULL_VOID(calendarFrameNode); - auto calendarPaintProperty = calendarFrameNode->GetPaintProperty(); - CHECK_NULL_VOID(calendarPaintProperty); - if (nonCurrentDayStyle.HasNonCurrentMonthDayColor()) { - calendarPaintProperty->UpdateNonCurrentMonthDayColor( - nonCurrentDayStyle.GetNonCurrentMonthDayColorValue()); - } - if (nonCurrentDayStyle.HasNonCurrentMonthLunarColor()) { - calendarPaintProperty->UpdateNonCurrentMonthLunarColor( - nonCurrentDayStyle.GetNonCurrentMonthLunarColorValue()); - } - if (nonCurrentDayStyle.HasNonCurrentMonthWorkDayMarkColor()) { - calendarPaintProperty->UpdateNonCurrentMonthWorkDayMarkColor( - nonCurrentDayStyle.GetNonCurrentMonthWorkDayMarkColorValue()); - } - if (nonCurrentDayStyle.HasNonCurrentMonthOffDayMarkColor()) { - calendarPaintProperty->UpdateNonCurrentMonthOffDayMarkColor( - nonCurrentDayStyle.GetNonCurrentMonthOffDayMarkColorValue()); - } - } -} - -static TodayStyle ConvertTodayStyle(const TodayStyleData& dataStyle) -{ - NG::TodayStyle todayStyle; - if (dataStyle.focusedDayColor.has_value()) { - todayStyle.UpdateFocusedDayColor(dataStyle.focusedDayColor.value()); - } - - if (dataStyle.focusedLunarColor.has_value()) { - todayStyle.UpdateFocusedLunarColor(dataStyle.focusedLunarColor.value()); - } - - if (dataStyle.focusedAreaBackgroundColor.has_value()) { - todayStyle.UpdateFocusedAreaBackgroundColor(dataStyle.focusedAreaBackgroundColor.value()); - } - - if (dataStyle.focusedAreaRadius.has_value()) { - todayStyle.UpdateFocusedAreaRadius(dataStyle.focusedAreaRadius.value()); - } - - return todayStyle; -} - -void CalendarModelNG::SetTodayStyle(FrameNode* frameNode, const TodayStyleData& dataStyle) -{ - auto todayStyle = ConvertTodayStyle(dataStyle); - CHECK_NULL_VOID(frameNode); - auto swiperNode = frameNode->GetChildren().front(); - CHECK_NULL_VOID(swiperNode); - for (const auto& calendarNode : swiperNode->GetChildren()) { - auto calendarFrameNode = AceType::DynamicCast(calendarNode); - CHECK_NULL_VOID(calendarFrameNode); - auto calendarPaintProperty = calendarFrameNode->GetPaintProperty(); - CHECK_NULL_VOID(calendarPaintProperty); - if (todayStyle.HasFocusedDayColor()) { - calendarPaintProperty->UpdateFocusedDayColor(todayStyle.GetFocusedDayColorValue()); - } - if (todayStyle.HasFocusedLunarColor()) { - calendarPaintProperty->UpdateFocusedLunarColor(todayStyle.GetFocusedLunarColorValue()); - } - if (todayStyle.HasFocusedAreaBackgroundColor()) { - calendarPaintProperty->UpdateFocusedAreaBackgroundColor(todayStyle.GetFocusedAreaBackgroundColorValue()); - } - if (todayStyle.HasFocusedAreaRadius()) { - calendarPaintProperty->UpdateFocusedAreaRadius(todayStyle.GetFocusedAreaRadiusValue()); - } - } -} - -static WeekStyle ConvertWeekStyle(const WeekStyleData& dataStyle) -{ - NG::WeekStyle weekStyle; - if (dataStyle.weekColor.has_value()) { - weekStyle.UpdateWeekColor(dataStyle.weekColor.value()); - } - - if (dataStyle.weekendDayColor.has_value()) { - weekStyle.UpdateWeekendDayColor(dataStyle.weekendDayColor.value()); - } - - if (dataStyle.weekendLunarColor.has_value()) { - weekStyle.UpdateWeekendLunarColor(dataStyle.weekendLunarColor.value()); - } - - if (dataStyle.weekFontSize.has_value()) { - weekStyle.UpdateWeekFontSize(dataStyle.weekFontSize.value()); - } - - if (dataStyle.weekHeight.has_value()) { - weekStyle.UpdateWeekHeight(dataStyle.weekHeight.value()); - } - - if (dataStyle.weekWidth.has_value()) { - weekStyle.UpdateWeekWidth(dataStyle.weekWidth.value()); - } - - if (dataStyle.weekAndDayRowSpace.has_value()) { - weekStyle.UpdateWeekAndDayRowSpace(dataStyle.weekAndDayRowSpace.value()); - } - - return weekStyle; -} - -void CalendarModelNG::SetWeekStyle(FrameNode* frameNode, const WeekStyleData& dataStyle) -{ - auto weekStyle = ConvertWeekStyle(dataStyle); - CHECK_NULL_VOID(frameNode); - auto swiperNode = frameNode->GetChildren().front(); - CHECK_NULL_VOID(swiperNode); - for (const auto& calendarNode : swiperNode->GetChildren()) { - auto calendarFrameNode = AceType::DynamicCast(calendarNode); - CHECK_NULL_VOID(calendarFrameNode); - auto calendarPaintProperty = calendarFrameNode->GetPaintProperty(); - CHECK_NULL_VOID(calendarPaintProperty); - if (weekStyle.HasWeekColor()) { - calendarPaintProperty->UpdateWeekColor(weekStyle.GetWeekColorValue()); - } - if (weekStyle.HasWeekendDayColor()) { - calendarPaintProperty->UpdateWeekendDayColor(weekStyle.GetWeekendDayColorValue()); - } - if (weekStyle.HasWeekendLunarColor()) { - calendarPaintProperty->UpdateWeekendLunarColor(weekStyle.GetWeekendLunarColorValue()); - } - if (weekStyle.HasWeekFontSize()) { - calendarPaintProperty->UpdateWeekFontSize(weekStyle.GetWeekFontSizeValue()); - } - if (weekStyle.HasWeekHeight()) { - calendarPaintProperty->UpdateWeekHeight(weekStyle.GetWeekHeightValue()); - } - if (weekStyle.HasWeekWidth()) { - calendarPaintProperty->UpdateWeekWidth(weekStyle.GetWeekWidthValue()); - } - if (weekStyle.HasWeekAndDayRowSpace()) { - calendarPaintProperty->UpdateWeekAndDayRowSpace(weekStyle.GetWeekAndDayRowSpaceValue()); - } - } -} - -static WorkStateStyle ConvertWorkStateStyle(const WorkStateStyleData& dataStyle) -{ - NG::WorkStateStyle workStateStyle; - if (dataStyle.workDayMarkColor.has_value()) { - workStateStyle.UpdateWorkDayMarkColor(dataStyle.workDayMarkColor.value()); - } - - if (dataStyle.offDayMarkColor.has_value()) { - workStateStyle.UpdateOffDayMarkColor(dataStyle.offDayMarkColor.value()); - } - - if (dataStyle.workDayMarkSize.has_value()) { - workStateStyle.UpdateWorkDayMarkSize(dataStyle.workDayMarkSize.value()); - } - - if (dataStyle.offDayMarkSize.has_value()) { - workStateStyle.UpdateOffDayMarkSize(dataStyle.offDayMarkSize.value()); - } - - if (dataStyle.workStateWidth.has_value()) { - workStateStyle.UpdateWorkStateWidth(dataStyle.workStateWidth.value()); - } - - if (dataStyle.workStateHorizontalMovingDistance.has_value()) { - workStateStyle.UpdateWorkStateHorizontalMovingDistance(dataStyle.workStateHorizontalMovingDistance.value()); - } - - if (dataStyle.workStateVerticalMovingDistance.has_value()) { - workStateStyle.UpdateWorkStateVerticalMovingDistance(dataStyle.workStateVerticalMovingDistance.value()); - } - - return workStateStyle; -} - -void CalendarModelNG::SetWorkStateStyle(FrameNode* frameNode, const WorkStateStyleData& dataStyle) -{ - auto workStateStyle = ConvertWorkStateStyle(dataStyle); - CHECK_NULL_VOID(frameNode); - auto swiperNode = frameNode->GetChildren().front(); - CHECK_NULL_VOID(swiperNode); - for (const auto& calendarNode : swiperNode->GetChildren()) { - auto calendarFrameNode = AceType::DynamicCast(calendarNode); - CHECK_NULL_VOID(calendarFrameNode); - auto calendarPaintProperty = calendarFrameNode->GetPaintProperty(); - CHECK_NULL_VOID(calendarPaintProperty); - if (workStateStyle.HasWorkDayMarkColor()) { - calendarPaintProperty->UpdateWorkDayMarkColor(workStateStyle.GetWorkDayMarkColorValue()); - } - if (workStateStyle.HasOffDayMarkColor()) { - calendarPaintProperty->UpdateOffDayMarkColor(workStateStyle.GetOffDayMarkColorValue()); - } - if (workStateStyle.HasWorkDayMarkSize()) { - calendarPaintProperty->UpdateWorkDayMarkSize(workStateStyle.GetWorkDayMarkSizeValue()); - } - if (workStateStyle.HasOffDayMarkSize()) { - calendarPaintProperty->UpdateOffDayMarkSize(workStateStyle.GetOffDayMarkSizeValue()); - } - if (workStateStyle.HasWorkStateWidth()) { - calendarPaintProperty->UpdateWorkStateWidth(workStateStyle.GetWorkStateWidthValue()); - } - if (workStateStyle.HasWorkStateHorizontalMovingDistance()) { - calendarPaintProperty->UpdateWorkStateHorizontalMovingDistance( - workStateStyle.GetWorkStateHorizontalMovingDistanceValue()); - } - if (workStateStyle.HasWorkStateVerticalMovingDistance()) { - calendarPaintProperty->UpdateWorkStateVerticalMovingDistance( - workStateStyle.GetWorkStateVerticalMovingDistanceValue()); - } - } -} - -void CalendarModelNG::SetOnSelectChange(FrameNode* frameNode, - std::function&& selectedChangeEvent) -{ - CHECK_NULL_VOID(frameNode); - auto swiperNode = frameNode->GetChildren().front(); - CHECK_NULL_VOID(swiperNode); - for (const auto& calendarNode : swiperNode->GetChildren()) { - auto calendarFrameNode = AceType::DynamicCast(calendarNode); - CHECK_NULL_VOID(calendarFrameNode); - auto pattern = calendarFrameNode->GetPattern(); - auto calendarEventHub = pattern->GetEventHub(); - CHECK_NULL_VOID(calendarEventHub); - calendarEventHub->SetSelectedChangeEvent(std::move(selectedChangeEvent)); - } -} - -void CalendarModelNG::SetOnRequestData(FrameNode* frameNode, std::function&& requestData) -{ - CHECK_NULL_VOID(frameNode); - auto eventHub = frameNode->GetEventHub(); - CHECK_NULL_VOID(eventHub); - eventHub->SetOnRequestDataEvent(std::move(requestData)); -} - void CalendarModelNG::SetCurrentData(const ObtainedMonth& currentData) { auto* stack = ViewStackProcessor::GetInstance(); diff --git a/frameworks/core/components_ng/pattern/calendar/calendar_model_ng.h b/frameworks/core/components_ng/pattern/calendar/calendar_model_ng.h index eb2b8f44ac1..44ce5fe4647 100644 --- a/frameworks/core/components_ng/pattern/calendar/calendar_model_ng.h +++ b/frameworks/core/components_ng/pattern/calendar/calendar_model_ng.h @@ -54,22 +54,6 @@ public: static void SetNextData(const ObtainedMonth& nextData); static void SetCalendarDay(const CalendarDay& calendarDay); - static RefPtr CreateFrameNode(int32_t nodeId); - static void SetOptions(FrameNode* frameNode, const CalendarData& calendarData); - static void SetShowLunar(FrameNode* frameNode, bool showLunar); - static void SetShowHoliday(FrameNode* frameNode, bool showHoliday); - static void SetNeedSlide(FrameNode* frameNode, bool needSlide); - static void SetStartOfWeek(FrameNode* frameNode, int32_t startOfWeek); - static void SetOffDays(FrameNode* frameNode, const std::optional& offDays); - static void SetDirection(FrameNode* frameNode, const std::optional& dir); - static void SetCurrentDayStyle(FrameNode* frameNode, const CurrentDayStyleData& dataStyle); - static void SetNonCurrentDayStyle(FrameNode* frameNode, const NonCurrentDayStyleData& dataStyle); - static void SetTodayStyle(FrameNode* frameNode, const TodayStyleData& dataStyle); - static void SetWeekStyle(FrameNode* frameNode, const WeekStyleData& dataStyle); - static void SetWorkStateStyle(FrameNode* frameNode, const WorkStateStyleData& dataStyle); - static void SetOnSelectChange(FrameNode* frameNode, std::function&& selectedChangeEvent); - static void SetOnRequestData(FrameNode* frameNode, std::function&& requestData); - private: static void Create(const CalendarData& calendarData); static RefPtr Create(); diff --git a/frameworks/core/components_ng/pattern/calendar_picker/calendar_picker_layout_property.h b/frameworks/core/components_ng/pattern/calendar_picker/calendar_picker_layout_property.h index 0f5caab7322..cfbe0b0981e 100644 --- a/frameworks/core/components_ng/pattern/calendar_picker/calendar_picker_layout_property.h +++ b/frameworks/core/components_ng/pattern/calendar_picker/calendar_picker_layout_property.h @@ -50,7 +50,7 @@ public: if (filter.IsFastFilter()) { return; } - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); RefPtr calendarTheme = pipeline->GetTheme(); CHECK_NULL_VOID(calendarTheme); diff --git a/frameworks/core/components_ng/pattern/calendar_picker/calendar_picker_model_ng.cpp b/frameworks/core/components_ng/pattern/calendar_picker/calendar_picker_model_ng.cpp index 097c3f1ab52..6a06b8dc603 100644 --- a/frameworks/core/components_ng/pattern/calendar_picker/calendar_picker_model_ng.cpp +++ b/frameworks/core/components_ng/pattern/calendar_picker/calendar_picker_model_ng.cpp @@ -53,13 +53,6 @@ RefPtr CalendarPickerModelNG::CreateFrameNode(int32_t nodeId) return CalendarPickerModelNG::CreateNode(nodeId, settingData); } -RefPtr CalendarPickerModelNG::CreateEmptyFrameNode(int32_t nodeId) -{ - auto pickerNode = FrameNode::GetOrCreateFrameNode( - V2::CALENDAR_PICKER_ETS_TAG, nodeId, []() { return AceType::MakeRefPtr(); }); - return pickerNode; -} - void CalendarPickerModelNG::LayoutPicker(const RefPtr& pickerPattern, RefPtr& pickerNode, const CalendarSettingData& settingData, const RefPtr& theme) { @@ -146,7 +139,7 @@ RefPtr CalendarPickerModelNG::CreateButtonImageChild(bool isAdd, cons CHECK_NULL_RETURN(imageNode, nullptr); imageNode->GetLayoutProperty()->UpdateUserDefinedIdealSize( CalcSize(CalcLength(theme->GetEntryArrowWidth()), CalcLength(theme->GetEntryArrowHeight()))); - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_RETURN(pipeline, nullptr); auto iconTheme = pipeline->GetTheme(); std::string iconPath; @@ -235,7 +228,7 @@ void CalendarPickerModelNG::CreateDateNode(int32_t contentId, const CalendarSett RefPtr CalendarPickerModelNG::CreateDateTextNode(const std::string& textContent) { - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_RETURN(pipeline, nullptr); RefPtr calendarTheme = pipeline->GetTheme(); CHECK_NULL_RETURN(calendarTheme, nullptr); @@ -256,7 +249,35 @@ RefPtr CalendarPickerModelNG::CreateNode(int32_t nodeId, const Calend { auto pickerNode = FrameNode::GetOrCreateFrameNode( V2::CALENDAR_PICKER_ETS_TAG, nodeId, []() { return AceType::MakeRefPtr(); }); - InitCalendarPicker(Referenced::RawPtr(pickerNode), settingData); + auto pickerPattern = pickerNode->GetPattern(); + CHECK_NULL_RETURN(pickerPattern, pickerNode); + auto pipelineContext = pickerNode->GetContext(); + CHECK_NULL_RETURN(pipelineContext, pickerNode); + RefPtr theme = pipelineContext->GetTheme(); + CHECK_NULL_RETURN(theme, pickerNode); + pickerPattern->SetCalendarData(settingData); + pickerNode->GetLayoutProperty()->UpdateUserDefinedIdealSize( + CalcSize(std::nullopt, CalcLength(theme->GetEntryHeight()))); + BorderWidthProperty borderWidth; + borderWidth.SetBorderWidth(theme->GetEntryBorderWidth()); + pickerNode->GetLayoutProperty()->UpdateBorderWidth(borderWidth); + CHECK_NULL_RETURN(pickerNode->GetRenderContext(), pickerNode); + BorderColorProperty borderColor; + borderColor.SetColor(theme->GetEntryBorderColor()); + pickerNode->GetRenderContext()->UpdateBorderColor(borderColor); + BorderRadiusProperty borderRadius; + borderRadius.SetRadius(theme->GetEntryBorderRadius()); + pickerNode->GetRenderContext()->UpdateBorderRadius(borderRadius); + pickerNode->GetRenderContext()->SetClipToFrame(true); + pickerNode->GetRenderContext()->SetClipToBounds(true); + pickerNode->GetRenderContext()->UpdateClipEdge(true); + CHECK_NULL_RETURN(pickerNode->GetLayoutProperty(), pickerNode); + pickerNode->GetLayoutProperty()->UpdateMainAxisAlign(FlexAlign::FLEX_START); + pickerNode->GetLayoutProperty()->UpdateCrossAxisAlign(FlexAlign::CENTER); + pickerNode->GetLayoutProperty()->UpdateMeasureType(MeasureType::MATCH_CONTENT); + CalendarPickerModelNG::LayoutPicker(pickerPattern, pickerNode, settingData, theme); + + pickerNode->MarkModifyDone(); return pickerNode; } @@ -275,7 +296,7 @@ void CalendarPickerModelNG::SetEdgeAlign(const CalendarEdgeAlign& alignType, con void CalendarPickerModelNG::SetTextStyle(const PickerTextStyle& textStyle) { - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); RefPtr calendarTheme = pipeline->GetTheme(); CHECK_NULL_VOID(calendarTheme); @@ -341,34 +362,6 @@ void CalendarPickerModelNG::SetTextStyle(FrameNode* frameNode, const PickerTextS CalendarPickerLayoutProperty, Weight, textStyle.fontWeight.value_or(FontWeight::NORMAL), frameNode); } -void CalendarPickerModelNG::SetTextStyle(FrameNode* frameNode, const std::optional& textStyle) -{ - auto pipeline = PipelineBase::GetCurrentContextSafely(); - CHECK_NULL_VOID(pipeline); - RefPtr calendarTheme = pipeline->GetTheme(); - CHECK_NULL_VOID(calendarTheme); - if (textStyle.has_value()) { - auto style = textStyle.value(); - if (style.fontSize.has_value() && style.fontSize->IsValid()) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(CalendarPickerLayoutProperty, FontSize, style.fontSize.value(), frameNode); - } else { - ACE_UPDATE_NODE_LAYOUT_PROPERTY( - CalendarPickerLayoutProperty, FontSize, calendarTheme->GetEntryFontSize(), frameNode); - } - ACE_UPDATE_NODE_LAYOUT_PROPERTY(CalendarPickerLayoutProperty, Color, - style.textColor.value_or(calendarTheme->GetEntryFontColor()), frameNode); - ACE_UPDATE_NODE_LAYOUT_PROPERTY( - CalendarPickerLayoutProperty, Weight, style.fontWeight.value_or(FontWeight::NORMAL), frameNode); - } else { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(CalendarPickerLayoutProperty, FontSize, - calendarTheme->GetEntryFontSize(), frameNode); - ACE_UPDATE_NODE_LAYOUT_PROPERTY(CalendarPickerLayoutProperty, Color, - calendarTheme->GetEntryFontColor(), frameNode); - ACE_UPDATE_NODE_LAYOUT_PROPERTY(CalendarPickerLayoutProperty, Weight, - FontWeight::NORMAL, frameNode); - } -} - void CalendarPickerModelNG::ClearBorderColor() { auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); @@ -452,52 +445,6 @@ void CalendarPickerModelNG::ClearPadding() linearLayoutProperty->UpdatePadding(padding); } -void CalendarPickerModelNG::SetCalendarData(FrameNode* pickerNode, const std::optional& data) -{ - CHECK_NULL_VOID(pickerNode); - if (data) { - CalendarPickerModelNG::InitCalendarPicker(pickerNode, data.value()); - } else { - CalendarSettingData emptyData; - CalendarPickerModelNG::InitCalendarPicker(pickerNode, emptyData); - } -} - -void CalendarPickerModelNG::InitCalendarPicker(FrameNode* pickerNode, const CalendarSettingData& settingData) -{ - CHECK_NULL_VOID(pickerNode); - auto pickerPattern = pickerNode->GetPattern(); - CHECK_NULL_VOID(pickerPattern); - auto pipelineContext = PipelineContext::GetCurrentContextSafelyWithCheck(); - CHECK_NULL_VOID(pipelineContext); - RefPtr theme = pipelineContext->GetTheme(); - CHECK_NULL_VOID(theme); - pickerPattern->SetCalendarData(settingData); - pickerNode->GetLayoutProperty()->UpdateUserDefinedIdealSize( - CalcSize(std::nullopt, CalcLength(theme->GetEntryHeight()))); - BorderWidthProperty borderWidth; - borderWidth.SetBorderWidth(theme->GetEntryBorderWidth()); - pickerNode->GetLayoutProperty()->UpdateBorderWidth(borderWidth); - CHECK_NULL_VOID(pickerNode->GetRenderContext()); - BorderColorProperty borderColor; - borderColor.SetColor(theme->GetEntryBorderColor()); - pickerNode->GetRenderContext()->UpdateBorderColor(borderColor); - BorderRadiusProperty borderRadius; - borderRadius.SetRadius(theme->GetEntryBorderRadius()); - pickerNode->GetRenderContext()->UpdateBorderRadius(borderRadius); - pickerNode->GetRenderContext()->SetClipToFrame(true); - pickerNode->GetRenderContext()->SetClipToBounds(true); - pickerNode->GetRenderContext()->UpdateClipEdge(true); - CHECK_NULL_VOID(pickerNode->GetLayoutProperty()); - pickerNode->GetLayoutProperty()->UpdateMainAxisAlign(FlexAlign::FLEX_START); - pickerNode->GetLayoutProperty()->UpdateCrossAxisAlign(FlexAlign::CENTER); - pickerNode->GetLayoutProperty()->UpdateMeasureType(MeasureType::MATCH_CONTENT); - RefPtr pickerNodeRef = AceType::Claim(pickerNode); - CalendarPickerModelNG::LayoutPicker(pickerPattern, pickerNodeRef, settingData, theme); - - pickerNode->MarkModifyDone(); -} - RefPtr GetCalendarTheme() { auto pipeline = PipelineBase::GetCurrentContextSafely(); @@ -540,25 +487,17 @@ DimensionOffset CalendarPickerModelNG::GetEdgeOffset(FrameNode* frameNode) } void CalendarPickerModelNG::SetEdgeAlign( - FrameNode* frameNode, const std::optional& alignType, - const std::optional& offset) + FrameNode* frameNode, const CalendarEdgeAlign& alignType, const DimensionOffset& offset) { + auto layoutProperty = frameNode->GetLayoutProperty(); + CHECK_NULL_VOID(layoutProperty); auto pickerPattern = frameNode->GetPattern(); CHECK_NULL_VOID(pickerPattern); - if (offset) { - pickerPattern->SetCalendarDialogOffset(offset.value()); - ACE_UPDATE_NODE_LAYOUT_PROPERTY(CalendarPickerLayoutProperty, DialogOffset, offset.value(), frameNode); - } else { - pickerPattern->SetCalendarDialogOffset(DimensionOffset()); - ACE_RESET_NODE_LAYOUT_PROPERTY(CalendarPickerLayoutProperty, DialogOffset, frameNode); - } - if (alignType) { - pickerPattern->SetCalendarEdgeAlign(alignType.value()); - ACE_UPDATE_NODE_LAYOUT_PROPERTY(CalendarPickerLayoutProperty, DialogAlignType, alignType.value(), frameNode); - } else { - pickerPattern->SetCalendarEdgeAlign(CalendarEdgeAlign::EDGE_ALIGN_END); - ACE_RESET_NODE_LAYOUT_PROPERTY(CalendarPickerLayoutProperty, DialogAlignType, frameNode); - } + pickerPattern->SetCalendarEdgeAlign(alignType); + pickerPattern->SetCalendarDialogOffset(offset); + + ACE_UPDATE_NODE_LAYOUT_PROPERTY(CalendarPickerLayoutProperty, DialogAlignType, alignType, frameNode); + ACE_UPDATE_NODE_LAYOUT_PROPERTY(CalendarPickerLayoutProperty, DialogOffset, offset, frameNode); } void CalendarPickerModelNG::SetPadding(FrameNode* frameNode, const PaddingProperty& padding) diff --git a/frameworks/core/components_ng/pattern/calendar_picker/calendar_picker_model_ng.h b/frameworks/core/components_ng/pattern/calendar_picker/calendar_picker_model_ng.h index 3a0f05a57e4..6b29b3d09b1 100644 --- a/frameworks/core/components_ng/pattern/calendar_picker/calendar_picker_model_ng.h +++ b/frameworks/core/components_ng/pattern/calendar_picker/calendar_picker_model_ng.h @@ -35,16 +35,11 @@ public: void ClearBorder() override; void ClearBorderWidth() override; void ClearPadding() override; - static void InitCalendarPicker(FrameNode* pickerNode, const CalendarSettingData& settingData); - static void SetCalendarData(FrameNode* pickerNode, const std::optional& settingData); void SetMarkToday(bool isMarkToday) override; static RefPtr CreateNode(int32_t nodeId, const CalendarSettingData& settingData); static RefPtr CreateFrameNode(int32_t nodeId); - static RefPtr CreateEmptyFrameNode(int32_t nodeId); static void SetTextStyle(FrameNode* frameNode, const PickerTextStyle& textStyle); - static void SetTextStyle(FrameNode* frameNode, const std::optional& textStyle); - static void SetEdgeAlign(FrameNode* frameNode, const std::optional& alignType, - const std::optional& offset); + static void SetEdgeAlign(FrameNode* frameNode, const CalendarEdgeAlign& alignType, const DimensionOffset& offset); static void SetPadding(FrameNode* frameNode, const PaddingProperty& padding); static void ClearPadding(FrameNode* frameNode); static void ClearHeight(FrameNode* frameNode); diff --git a/frameworks/core/components_ng/pattern/counter/counter_pattern.h b/frameworks/core/components_ng/pattern/counter/counter_pattern.h index 583287f56c0..a19522f7193 100644 --- a/frameworks/core/components_ng/pattern/counter/counter_pattern.h +++ b/frameworks/core/components_ng/pattern/counter/counter_pattern.h @@ -112,27 +112,25 @@ public: { auto frameNode = GetHost(); CHECK_NULL_VOID(frameNode); - bool enableInc = false; auto addNode = AceType::DynamicCast( frameNode->GetChildAtIndex(frameNode->GetChildIndexById(addId_.value()))); if (addNode) { auto eventHub = addNode->GetEventHub(); if (eventHub) { - enableInc = eventHub->IsEnabled(); + auto enableInc = eventHub->GetStateEffect(); + json->Put("enableInc", enableInc ? "true" : "false"); } } - json->Put("enableInc", enableInc ? "true" : "false"); - bool enableDec = false; auto subNode = AceType::DynamicCast( frameNode->GetChildAtIndex(frameNode->GetChildIndexById(subId_.value()))); if (subNode) { auto eventHub = subNode->GetEventHub(); if (eventHub) { - enableDec = eventHub->IsEnabled(); + auto enableDec = eventHub->GetStateEffect(); + json->Put("enableDec", enableDec ? "true" : "false"); } } - json->Put("enableDec", enableDec ? "true" : "false"); } private: diff --git a/frameworks/core/components_ng/pattern/gauge/gauge_layout_algorithm.cpp b/frameworks/core/components_ng/pattern/gauge/gauge_layout_algorithm.cpp index 2fa0e7a7db9..9ae672b2b6d 100644 --- a/frameworks/core/components_ng/pattern/gauge/gauge_layout_algorithm.cpp +++ b/frameworks/core/components_ng/pattern/gauge/gauge_layout_algorithm.cpp @@ -97,7 +97,7 @@ std::optional GaugeLayoutAlgorithm::MeasureContent( auto height = contentConstraint.selfIdealSize.Height().value(); return SizeF(height, height); } - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_RETURN(pipeline, std::nullopt); auto gaugeTheme = pipeline->GetTheme(); CHECK_NULL_RETURN(gaugeTheme, std::nullopt); @@ -142,7 +142,7 @@ void GaugeLayoutAlgorithm::MeasureLimitValueTextWidth(LayoutWrapper* layoutWrapp auto startAngle = layoutProperty->GetStartAngleValue(DEFAULT_START_DEGREE); auto endAngle = layoutProperty->GetEndAngleValue(DEFAULT_END_DEGREE); - auto pipelineContext = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipelineContext = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipelineContext); auto theme = pipelineContext->GetTheme(); CHECK_NULL_VOID(theme); diff --git a/frameworks/core/components_ng/pattern/gauge/gauge_model_ng.cpp b/frameworks/core/components_ng/pattern/gauge/gauge_model_ng.cpp index b90620328e8..f616808be99 100644 --- a/frameworks/core/components_ng/pattern/gauge/gauge_model_ng.cpp +++ b/frameworks/core/components_ng/pattern/gauge/gauge_model_ng.cpp @@ -15,7 +15,6 @@ #include "core/components_ng/pattern/gauge/gauge_model_ng.h" -#include "core/components_ng/base/view_abstract.h" #include "core/components_ng/base/view_stack_processor.h" #include "core/components_ng/pattern/gauge/gauge_pattern.h" @@ -139,39 +138,9 @@ void GaugeModelNG::ResetIndicatorSpace() ACE_RESET_PAINT_PROPERTY_WITH_FLAG(GaugePaintProperty, IndicatorSpace, PROPERTY_UPDATE_RENDER); } -RefPtr GaugeModelNG::CreateFrameNode(int32_t nodeId) +void GaugeModelNG::SetValue(FrameNode* frameNode, float value) { - ACE_LAYOUT_SCOPED_TRACE("Create[%s][self:%d]", V2::GAUGE_ETS_TAG, nodeId); - return FrameNode::GetOrCreateFrameNode( - V2::GAUGE_ETS_TAG, nodeId, []() { return AceType::MakeRefPtr(); } - ); -} - -void GaugeModelNG::SetValue(FrameNode* frameNode, const std::optional& value) -{ - if (value) { - ACE_UPDATE_NODE_PAINT_PROPERTY(GaugePaintProperty, Value, *value, frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(GaugePaintProperty, Value, PROPERTY_UPDATE_RENDER, frameNode); - } -} - -void GaugeModelNG::SetMin(FrameNode* frameNode, const std::optional& min) -{ - if (min) { - ACE_UPDATE_NODE_PAINT_PROPERTY(GaugePaintProperty, Min, *min, frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(GaugePaintProperty, Min, PROPERTY_UPDATE_RENDER, frameNode); - } -} - -void GaugeModelNG::SetMax(FrameNode* frameNode, const std::optional& max) -{ - if (max) { - ACE_UPDATE_NODE_PAINT_PROPERTY(GaugePaintProperty, Max, *max, frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(GaugePaintProperty, Max, PROPERTY_UPDATE_RENDER, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(GaugePaintProperty, Value, value, frameNode); } void GaugeModelNG::SetStartAngle(FrameNode* frameNode, float value) @@ -186,29 +155,10 @@ void GaugeModelNG::SetEndAngle(FrameNode* frameNode, float value) ACE_UPDATE_NODE_LAYOUT_PROPERTY(GaugeLayoutProperty, EndAngle, value, frameNode); } -void GaugeModelNG::SetGaugeStrokeWidth(FrameNode* frameNode, const std::optional& strokeWidth) -{ - if (strokeWidth) { - ACE_UPDATE_NODE_PAINT_PROPERTY(GaugePaintProperty, StrokeWidth, *strokeWidth, frameNode); - ACE_UPDATE_NODE_LAYOUT_PROPERTY(GaugeLayoutProperty, StrokeWidth, *strokeWidth, frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(GaugePaintProperty, StrokeWidth, PROPERTY_UPDATE_RENDER, frameNode); - ACE_RESET_NODE_LAYOUT_PROPERTY_WITH_FLAG(GaugeLayoutProperty, StrokeWidth, PROPERTY_UPDATE_RENDER, frameNode); - } -} - -void GaugeModelNG::SetDescription(FrameNode* frameNode, const RefPtr& customNode) -{ - CHECK_NULL_VOID(frameNode); - auto gaugePattern = frameNode->GetPattern(); - CHECK_NULL_VOID(gaugePattern); - auto customDescriptionNode = AceType::DynamicCast(customNode); - gaugePattern->SetDescriptionNode(customDescriptionNode); -} - -void GaugeModelNG::SetIsShowLimitValue(FrameNode* frameNode, bool isShowLimitValue) +void GaugeModelNG::SetGaugeStrokeWidth(FrameNode* frameNode, const Dimension& strokeWidth) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(GaugeLayoutProperty, IsShowLimitValue, isShowLimitValue, frameNode); + ACE_UPDATE_NODE_PAINT_PROPERTY(GaugePaintProperty, StrokeWidth, strokeWidth, frameNode); + ACE_UPDATE_NODE_LAYOUT_PROPERTY(GaugeLayoutProperty, StrokeWidth, strokeWidth, frameNode); } void GaugeModelNG::SetShadowOptions(FrameNode* frameNode, const GaugeShadowOptions& shadowOptions) @@ -239,13 +189,9 @@ void GaugeModelNG::ResetIndicatorIconPath(FrameNode* frameNode) PROPERTY_UPDATE_RENDER, frameNode); } -void GaugeModelNG::SetIndicatorSpace(FrameNode* frameNode, const std::optional& space) +void GaugeModelNG::SetIndicatorSpace(FrameNode* frameNode, const Dimension& space) { - if (space) { - ACE_UPDATE_NODE_PAINT_PROPERTY(GaugePaintProperty, IndicatorSpace, *space, frameNode); - } else { - ResetIndicatorSpace(frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(GaugePaintProperty, IndicatorSpace, space, frameNode); } void GaugeModelNG::ResetIndicatorSpace(FrameNode* frameNode) @@ -281,6 +227,7 @@ void GaugeModelNG::SetBuilderFunc(FrameNode* frameNode, NG::GaugeMakeCallback&& CHECK_NULL_VOID(pattern); pattern->SetBuilderFunc(std::move(makeFunc)); } +<<<<<<< HEAD void GaugeModelNG::SetPrivacySensitive(FrameNode* frameNode, const std::optional& flag) { @@ -291,4 +238,6 @@ void GaugeModelNG::SetPrivacySensitive(FrameNode* frameNode, const std::optional // } // ViewAbstract::SetPrivacySensitive(frameNode, flag); } +======= +>>>>>>> parent of ddf89871937 (Merge model changes for upstream) } // namespace OHOS::Ace::NG diff --git a/frameworks/core/components_ng/pattern/gauge/gauge_model_ng.h b/frameworks/core/components_ng/pattern/gauge/gauge_model_ng.h index 600ec1a575e..935f437f28d 100644 --- a/frameworks/core/components_ng/pattern/gauge/gauge_model_ng.h +++ b/frameworks/core/components_ng/pattern/gauge/gauge_model_ng.h @@ -56,29 +56,23 @@ public: void ResetIndicatorIconPath() override; void ResetIndicatorSpace() override; - static RefPtr CreateFrameNode(int32_t nodeId); - static void SetValue(FrameNode* frameNode, const std::optional& value); - static void SetMin(FrameNode* frameNode, const std::optional& min); - static void SetMax(FrameNode* frameNode, const std::optional& max); + static void SetValue(FrameNode* frameNode, float value); static void SetStartAngle(FrameNode* frameNode, float value); static void SetEndAngle(FrameNode* frameNode, float value); - static void SetGaugeStrokeWidth(FrameNode* frameNode, const std::optional& strokeWidth); - static void SetDescription(FrameNode* frameNode, const RefPtr& customNode); - static void SetIsShowLimitValue(FrameNode* frameNode, bool isShowLimitValue); + static void SetGaugeStrokeWidth(FrameNode* frameNode, const Dimension& strokeWidth); static void SetShadowOptions(FrameNode* frameNode, const GaugeShadowOptions& shadowOptions); static void ResetShadowOptions(FrameNode* frameNode); static void SetIsShowIndicator(FrameNode* frameNode, bool isShowIndicator); static void SetIndicatorIconPath(FrameNode* frameNode, const std::string& iconPath, const std::string& bundleName, const std::string& moduleName); static void ResetIndicatorIconPath(FrameNode* frameNode); - static void SetIndicatorSpace(FrameNode* frameNode, const std::optional& space); + static void SetIndicatorSpace(FrameNode* frameNode, const Dimension& space); static void ResetIndicatorSpace(FrameNode* frameNode); static void SetColors(FrameNode* frameNode, const std::vector& colors, const std::vector& values); static void SetGradientColors(FrameNode* frameNode, const std::vector& colors, const std::vector& values, const GaugeType& type); static void ResetGradientColors(FrameNode* frameNode); static void SetBuilderFunc(FrameNode* frameNode, NG::GaugeMakeCallback&& jsMake); - static void SetPrivacySensitive(FrameNode* frameNode, const std::optional& flag); }; } // namespace OHOS::Ace::NG diff --git a/frameworks/core/components_ng/pattern/gauge/gauge_modifier.cpp b/frameworks/core/components_ng/pattern/gauge/gauge_modifier.cpp index f8b5e80c1cd..53781ee1b06 100644 --- a/frameworks/core/components_ng/pattern/gauge/gauge_modifier.cpp +++ b/frameworks/core/components_ng/pattern/gauge/gauge_modifier.cpp @@ -50,12 +50,12 @@ void GaugeModifier::UpdateValue() auto paintProperty = pattern->GetPaintProperty(); CHECK_NULL_VOID(paintProperty); UpdateProperty(paintProperty); - float value = paintProperty->GetValueValue(DEFAULT_MIN_VALUE); + float value = paintProperty->GetValueValue(); if (paintProperty->GetIsSensitiveValue(false)) { value = 0.0f; } - float max = paintProperty->GetMaxValue(DEFAULT_MAX_VALUE); - float min = paintProperty->GetMinValue(DEFAULT_MIN_VALUE); + float max = paintProperty->GetMaxValue(); + float min = paintProperty->GetMinValue(); value = std::clamp(value, min, max); float ratio = 0.0f; if (Positive(max - min)) { @@ -88,8 +88,8 @@ void GaugeModifier::InitProperty() float endAngle = paintProperty->GetEndAngleValue(DEFAULT_END_DEGREE); startAngle_ = AceType::MakeRefPtr(startAngle); endAngle_ = AceType::MakeRefPtr(endAngle); - max_ = AceType::MakeRefPtr(paintProperty->GetMaxValue(DEFAULT_MAX_VALUE)); - min_ = AceType::MakeRefPtr(paintProperty->GetMinValue(DEFAULT_MIN_VALUE)); + max_ = AceType::MakeRefPtr(paintProperty->GetMaxValue()); + min_ = AceType::MakeRefPtr(paintProperty->GetMinValue()); float strokeWidth = DEFAULT_VALUE; if (paintProperty->GetStrokeWidth().has_value()) { @@ -144,8 +144,8 @@ void GaugeModifier::UpdateProperty(RefPtr& paintProperty) { startAngle_->Set(paintProperty->GetStartAngleValue(DEFAULT_START_DEGREE)); endAngle_->Set(paintProperty->GetEndAngleValue(DEFAULT_END_DEGREE)); - max_->Set(paintProperty->GetMaxValue(DEFAULT_MAX_VALUE)); - min_->Set(paintProperty->GetMinValue(DEFAULT_MIN_VALUE)); + max_->Set(paintProperty->GetMaxValue()); + min_->Set(paintProperty->GetMinValue()); if (paintProperty->GetStrokeWidth().has_value()) { float strokeWidth = paintProperty->GetStrokeWidth()->ConvertToPx(); @@ -195,7 +195,7 @@ void GaugeModifier::PaintCircularAndIndicator(RSCanvas& canvas) CHECK_NULL_VOID(pattern); auto paintProperty = pattern->GetPaintProperty(); CHECK_NULL_VOID(paintProperty); - auto pipelineContext = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipelineContext = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipelineContext); auto host = pattern->GetHost(); auto geometryNode = host->GetGeometryNode(); @@ -359,7 +359,7 @@ void GaugeModifier::NewPaintCircularAndIndicator(RSCanvas& canvas) CHECK_NULL_VOID(paintProperty); auto host = pattern->GetHost(); auto geometryNode = host->GetGeometryNode(); - auto pipelineContext = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipelineContext = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipelineContext); auto offset = geometryNode->GetContentOffset(); @@ -914,7 +914,7 @@ void GaugeModifier::NewDrawIndicator( return; } - auto pipelineContext = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipelineContext = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipelineContext); auto theme = pipelineContext->GetTheme(); diff --git a/frameworks/core/components_ng/pattern/loading_progress/loading_progress_modifier.cpp b/frameworks/core/components_ng/pattern/loading_progress/loading_progress_modifier.cpp index 2729de02588..7283bffffba 100644 --- a/frameworks/core/components_ng/pattern/loading_progress/loading_progress_modifier.cpp +++ b/frameworks/core/components_ng/pattern/loading_progress/loading_progress_modifier.cpp @@ -265,7 +265,7 @@ void LoadingProgressModifier::AdjustMatrix(RSCamera3D& camera, RSMatrix& matrix) void LoadingProgressModifier::StartRecycleRingAnimation() { - auto context = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto context = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(context); auto previousStageCurve = AceType::MakeRefPtr(0.0f, 0.0f, 0.67f, 1.0f); AnimationOption option; @@ -302,7 +302,7 @@ void LoadingProgressModifier::StartRecycleRingAnimation() void LoadingProgressModifier::StartRecycleCometAnimation() { - auto context = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto context = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(context); auto curve = AceType::MakeRefPtr(); AnimationOption option; @@ -412,7 +412,7 @@ uint32_t LoadingProgressModifier::GetCometNumber() void LoadingProgressModifier::StartRecycle() { - auto context = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto context = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(context); if (isLoading_) { return; diff --git a/frameworks/core/components_ng/pattern/loading_progress/loading_progress_paint_method.h b/frameworks/core/components_ng/pattern/loading_progress/loading_progress_paint_method.h index 8cfe6d32697..23e26c0e0a9 100644 --- a/frameworks/core/components_ng/pattern/loading_progress/loading_progress_paint_method.h +++ b/frameworks/core/components_ng/pattern/loading_progress/loading_progress_paint_method.h @@ -43,7 +43,7 @@ public: void UpdateContentModifier(PaintWrapper* paintWrapper) override { CHECK_NULL_VOID(loadingProgressModifier_); - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto paintProperty = DynamicCast(paintWrapper->GetPaintProperty()); CHECK_NULL_VOID(paintProperty); diff --git a/frameworks/core/components_ng/pattern/patternlock/patternlock_model_ng.cpp b/frameworks/core/components_ng/pattern/patternlock/patternlock_model_ng.cpp index 87c41cf5309..4a685bfe62f 100644 --- a/frameworks/core/components_ng/pattern/patternlock/patternlock_model_ng.cpp +++ b/frameworks/core/components_ng/pattern/patternlock/patternlock_model_ng.cpp @@ -116,129 +116,59 @@ void PatternLockModelNG::SetSkipUnselectedPoint(bool isSkipUnselectedPoint) ACE_UPDATE_PAINT_PROPERTY(PatternLockPaintProperty, SkipUnselectedPoint, isSkipUnselectedPoint); } -RefPtr PatternLockModelNG::CreateFrameNode(int32_t nodeId) +void PatternLockModelNG::SetActiveColor(FrameNode* frameNode, const Color& activeColor) { - auto frameNode = FrameNode::GetOrCreateFrameNode( - V2::PATTERN_LOCK_ETS_TAG, nodeId, []() { return AceType::MakeRefPtr(); }); - CHECK_NULL_RETURN(frameNode, frameNode); - auto pattern = frameNode->GetPattern(); - pattern->SetPatternLockController(AceType::MakeRefPtr()); - return frameNode; -} - -const RefPtr PatternLockModelNG::GetController(FrameNode* frameNode) -{ - CHECK_NULL_RETURN(frameNode, nullptr); - auto pattern = frameNode->GetPattern(); - CHECK_NULL_RETURN(pattern, nullptr); - return pattern->GetPatternLockController(); -} - -void PatternLockModelNG::SetActiveColor(FrameNode* frameNode, const std::optional& activeColor) -{ - if (activeColor.has_value()) { - ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, ActiveColor, - activeColor.value(), frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(PatternLockPaintProperty, ActiveColor, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, ActiveColor, activeColor, frameNode); } -void PatternLockModelNG::SetCircleRadius(FrameNode* frameNode, const std::optional& radius) +void PatternLockModelNG::SetCircleRadius(FrameNode* frameNode, const Dimension& radius) { - if (radius.has_value()) { - ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, CircleRadius, radius.value(), frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(PatternLockPaintProperty, CircleRadius, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, CircleRadius, radius, frameNode); } -void PatternLockModelNG::SetSelectedColor(FrameNode* frameNode, const std::optional& selectedColor) +void PatternLockModelNG::SetSelectedColor(FrameNode* frameNode, const Color& selectedColor) { - if (selectedColor.has_value()) { - ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, SelectedColor, - selectedColor.value(), frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(PatternLockPaintProperty, SelectedColor, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, SelectedColor, selectedColor, frameNode); } -void PatternLockModelNG::SetSideLength(FrameNode* frameNode, const std::optional& sideLength) +void PatternLockModelNG::SetSideLength(FrameNode* frameNode, const Dimension& sideLength) { - if (sideLength.has_value()) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(PatternLockLayoutProperty, SideLength, sideLength.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(PatternLockLayoutProperty, SideLength, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(PatternLockLayoutProperty, SideLength, sideLength, frameNode); } -void PatternLockModelNG::SetAutoReset(FrameNode* frameNode, const std::optional& isAutoReset) +void PatternLockModelNG::SetAutoReset(FrameNode* frameNode, bool isAutoReset) { - if (isAutoReset.has_value()) { - ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, AutoReset, isAutoReset.value(), frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(PatternLockPaintProperty, AutoReset, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, AutoReset, isAutoReset, frameNode); } -void PatternLockModelNG::SetStrokeWidth(FrameNode* frameNode, const std::optional& lineWidth) +void PatternLockModelNG::SetStrokeWidth(FrameNode* frameNode, const Dimension& lineWidth) { - if (lineWidth.has_value()) { - ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, PathStrokeWidth, - lineWidth.value(), frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(PatternLockPaintProperty, PathStrokeWidth, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, PathStrokeWidth, lineWidth, frameNode); } -void PatternLockModelNG::SetRegularColor(FrameNode* frameNode, const std::optional& regularColor) +void PatternLockModelNG::SetRegularColor(FrameNode* frameNode, const Color& regularColor) { - if (regularColor.has_value()) { - ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, RegularColor, - regularColor.value(), frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(PatternLockPaintProperty, RegularColor, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, RegularColor, regularColor, frameNode); } -void PatternLockModelNG::SetPathColor(FrameNode* frameNode, const std::optional& pathColor) +void PatternLockModelNG::SetPathColor(FrameNode* frameNode, const Color& pathColor) { - if (pathColor.has_value()) { - ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, PathColor, - pathColor.value(), frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(PatternLockPaintProperty, PathColor, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, PathColor, pathColor, frameNode); } -void PatternLockModelNG::SetActiveCircleColor(FrameNode* frameNode, const std::optional& activeCircleColor) +void PatternLockModelNG::SetActiveCircleColor(FrameNode* frameNode, const Color& activeCircleColor) { - if (activeCircleColor.has_value()) { - ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, ActiveCircleColor, - activeCircleColor.value(), frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(PatternLockPaintProperty, ActiveCircleColor, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, ActiveCircleColor, activeCircleColor, frameNode); } -void PatternLockModelNG::SetActiveCircleRadius(FrameNode* frameNode, const std::optional& activeCircleRadius) +void PatternLockModelNG::SetActiveCircleRadius(FrameNode* frameNode, const Dimension& activeCircleRadius) { - if (activeCircleRadius.has_value()) { - ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, ActiveCircleRadius, - activeCircleRadius.value(), frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(PatternLockPaintProperty, ActiveCircleRadius, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, ActiveCircleRadius, activeCircleRadius, frameNode); } -void PatternLockModelNG::SetEnableWaveEffect(FrameNode* frameNode, const std::optional& enableWaveEffect) +void PatternLockModelNG::SetEnableWaveEffect(FrameNode* frameNode, bool enableWaveEffect) { - if (enableWaveEffect.has_value()) { - ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, EnableWaveEffect, - enableWaveEffect.value(), frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(PatternLockPaintProperty, EnableWaveEffect, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(PatternLockPaintProperty, EnableWaveEffect, enableWaveEffect, frameNode); } void PatternLockModelNG::SetEnableForeground(FrameNode* frameNode, bool enableForeground) diff --git a/frameworks/core/components_ng/pattern/patternlock/patternlock_model_ng.h b/frameworks/core/components_ng/pattern/patternlock/patternlock_model_ng.h index 628439fe8e7..ca4a6720275 100644 --- a/frameworks/core/components_ng/pattern/patternlock/patternlock_model_ng.h +++ b/frameworks/core/components_ng/pattern/patternlock/patternlock_model_ng.h @@ -39,24 +39,21 @@ public: void SetEnableForeground(bool enableForeground) override; void SetSkipUnselectedPoint(bool isSkipUnselectedPoint) override; - static RefPtr CreateFrameNode(int32_t nodeId); - static void SetActiveColor(FrameNode* frameNode, const std::optional& activeColor); - static void SetCircleRadius(FrameNode* frameNode, const std::optional& radius); - static void SetSelectedColor(FrameNode* frameNode, const std::optional& selectedColor); - static void SetSideLength(FrameNode* frameNode, const std::optional& sideLength); - static void SetAutoReset(FrameNode* frameNode, const std::optional& isAutoReset); - static void SetStrokeWidth(FrameNode* frameNode, const std::optional& lineWidth); - static void SetRegularColor(FrameNode* frameNode, const std::optional& color); - static void SetPathColor(FrameNode* frameNode, const std::optional& color); - static void SetActiveCircleColor(FrameNode* frameNode, const std::optional& activeCircleColor); - static void SetActiveCircleRadius(FrameNode* frameNode, const std::optional& activeCircleRadius); - static void SetEnableWaveEffect(FrameNode* frameNode, const std::optional& enableWaveEffect); + static void SetActiveColor(FrameNode* frameNode, const Color& activeColor); + static void SetCircleRadius(FrameNode* frameNode, const Dimension& radius); + static void SetSelectedColor(FrameNode* frameNode, const Color& selectedColor); + static void SetSideLength(FrameNode* frameNode, const Dimension& sideLength); + static void SetAutoReset(FrameNode* frameNode, bool isAutoReset); + static void SetStrokeWidth(FrameNode* frameNode, const Dimension& lineWidth); + static void SetRegularColor(FrameNode* frameNode, const Color& color); + static void SetPathColor(FrameNode* frameNode, const Color& color); + static void SetActiveCircleColor(FrameNode* frameNode, const Color& activeCircleColor); + static void SetActiveCircleRadius(FrameNode* frameNode, const Dimension& activeCircleRadius); + static void SetEnableWaveEffect(FrameNode* frameNode, bool enableWaveEffect); static void SetEnableForeground(FrameNode* frameNode, bool enableForeground); static void SetSkipUnselectedPoint(FrameNode* frameNode, bool isSkipUnselectedPoint); static void SetPatternComplete(FrameNode* frameNode, NG::PatternLockCompleteEvent&& onComplete); static void SetDotConnect(FrameNode* frameNode, std::function&& onDotConnect); - - static const RefPtr GetController(FrameNode* frameNode); }; } // namespace OHOS::Ace::NG diff --git a/frameworks/core/components_ng/pattern/picker/datepicker_model_ng.cpp b/frameworks/core/components_ng/pattern/picker/datepicker_model_ng.cpp index 2c610bfbe4b..882a36b8608 100644 --- a/frameworks/core/components_ng/pattern/picker/datepicker_model_ng.cpp +++ b/frameworks/core/components_ng/pattern/picker/datepicker_model_ng.cpp @@ -413,14 +413,6 @@ void DatePickerModelNG::SetOnDateChange(FrameNode* frameNode, DateChangeEvent&& eventHub->SetOnDateChange(std::move(onChange)); } -void DatePickerModelNG::SetChangeEvent(FrameNode* frameNode, DateChangeEvent&& onChange) -{ - CHECK_NULL_VOID(frameNode); - auto eventHub = frameNode->GetEventHub(); - CHECK_NULL_VOID(eventHub); - eventHub->SetChangeEvent(std::move(onChange)); -} - PickerTextStyle DatePickerModelNG::getDisappearTextStyle(FrameNode* frameNode) { PickerTextStyle pickerTextStyle; @@ -732,7 +724,7 @@ void DatePickerDialogModelNG::SetDatePickerDialogShow(PickerDialogInfo& pickerDi if (!executor) { return; } - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto theme = pipeline->GetTheme(); CHECK_NULL_VOID(theme); @@ -954,7 +946,7 @@ uint32_t DatePickerModelNG::getBackgroundColor(FrameNode* frameNode) const Dimension DatePickerModelNG::ConvertFontScaleValue(const Dimension& fontSizeValue) { - auto pipeline = PipelineContext::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineContext::GetCurrentContext(); CHECK_NULL_RETURN(pipeline, fontSizeValue); auto maxAppFontScale = pipeline->GetMaxAppFontScale(); auto follow = pipeline->IsFollowSystem(); diff --git a/frameworks/core/components_ng/pattern/picker/datepicker_model_ng.h b/frameworks/core/components_ng/pattern/picker/datepicker_model_ng.h index 364dea37305..ca95f6072c3 100644 --- a/frameworks/core/components_ng/pattern/picker/datepicker_model_ng.h +++ b/frameworks/core/components_ng/pattern/picker/datepicker_model_ng.h @@ -53,7 +53,6 @@ public: static void SetSelectedDate(FrameNode* frameNode, const PickerDate& value); static void SetMode(FrameNode* frameNode, const DatePickerMode& value); static void SetOnDateChange(FrameNode* frameNode, DateChangeEvent&& onChange); - static void SetChangeEvent(FrameNode* frameNode, DateChangeEvent&& onChange); static void SetOnChange(FrameNode* frameNode, DateChangeEvent&& onChange); static RefPtr CreateFrameNode(int32_t nodeId); void SetChangeEvent(DateChangeEvent&& onChange) override; diff --git a/frameworks/core/components_ng/pattern/picker/datepicker_paint_method.cpp b/frameworks/core/components_ng/pattern/picker/datepicker_paint_method.cpp index fa478e55ec2..fcdf8a82cc5 100644 --- a/frameworks/core/components_ng/pattern/picker/datepicker_paint_method.cpp +++ b/frameworks/core/components_ng/pattern/picker/datepicker_paint_method.cpp @@ -56,7 +56,7 @@ CanvasDrawFunction DatePickerPaintMethod::GetContentDrawFunction(PaintWrapper* p CanvasDrawFunction DatePickerPaintMethod::GetForegroundDrawFunction(PaintWrapper* paintWrapper) { - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_RETURN(pipeline, nullptr); auto theme = pipeline->GetTheme(); CHECK_NULL_RETURN(theme, nullptr); diff --git a/frameworks/core/components_ng/pattern/picker/datepicker_pattern.h b/frameworks/core/components_ng/pattern/picker/datepicker_pattern.h index e37c845e3f5..73ae70e9efa 100644 --- a/frameworks/core/components_ng/pattern/picker/datepicker_pattern.h +++ b/frameworks/core/components_ng/pattern/picker/datepicker_pattern.h @@ -34,9 +34,6 @@ #include "core/components_ng/pattern/picker/datepicker_row_layout_property.h" #include "core/components_ng/pattern/text/text_pattern.h" #include "core/components_ng/pattern/picker/datepicker_dialog_view.h" -#ifdef SUPPORT_DIGITAL_CROWN -#include "core/event/crown_event.h" -#endif namespace OHOS::Ace::NG { class InspectorFilter; @@ -600,7 +597,7 @@ public: FocusPattern GetFocusPattern() const override { - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_RETURN(pipeline, FocusPattern()); auto pickerTheme = pipeline->GetTheme(); CHECK_NULL_RETURN(pickerTheme, FocusPattern()); diff --git a/frameworks/core/components_ng/pattern/picker/datepicker_row_layout_property.h b/frameworks/core/components_ng/pattern/picker/datepicker_row_layout_property.h index c5863a44630..872b1cfc1fd 100644 --- a/frameworks/core/components_ng/pattern/picker/datepicker_row_layout_property.h +++ b/frameworks/core/components_ng/pattern/picker/datepicker_row_layout_property.h @@ -92,9 +92,6 @@ public: disappearFont->Put("size", GetDisappearFontSizeValue(Dimension(0)).ToString().c_str()); disappearFont->Put("weight", V2::ConvertWrapFontWeightToStirng( GetDisappearWeight().value_or(FontWeight::NORMAL)).c_str()); - disappearFont->Put("family", V2::ConvertFontFamily(GetDisappearFontFamilyValue({})).c_str()); - disappearFont->Put("style", GetDisappearFontStyleValue(Ace::FontStyle::NORMAL) == Ace::FontStyle::NORMAL - ? "FontStyle.Normal" : "FontStyle.Italic"); auto disappearTextStyle = JsonUtil::Create(true); disappearTextStyle->Put("color", GetDisappearColor().value_or(defaultDisappearColor).ColorToString().c_str()); disappearTextStyle->Put("font", disappearFont); @@ -103,9 +100,6 @@ public: auto normalFont = JsonUtil::Create(true); normalFont->Put("size", GetFontSizeValue(Dimension(0)).ToString().c_str()); normalFont->Put("weight", V2::ConvertWrapFontWeightToStirng(GetWeight().value_or(FontWeight::NORMAL)).c_str()); - normalFont->Put("family", V2::ConvertFontFamily(GetFontFamilyValue({})).c_str()); - normalFont->Put("style", GetFontStyleValue(Ace::FontStyle::NORMAL) == Ace::FontStyle::NORMAL - ? "FontStyle.Normal" : "FontStyle.Italic"); auto normalTextStyle = JsonUtil::Create(true); normalTextStyle->Put("color", GetColor().value_or(defaultNormalColor).ColorToString().c_str()); normalTextStyle->Put("font", normalFont); @@ -115,9 +109,6 @@ public: selectedFont->Put("size", GetSelectedFontSizeValue(Dimension(0)).ToString().c_str()); selectedFont->Put("weight", V2::ConvertWrapFontWeightToStirng( GetSelectedWeight().value_or(FontWeight::NORMAL)).c_str()); - selectedFont->Put("family", V2::ConvertFontFamily(GetSelectedFontFamilyValue({})).c_str()); - selectedFont->Put("style", GetSelectedFontStyleValue(Ace::FontStyle::NORMAL) == Ace::FontStyle::NORMAL - ? "FontStyle.Normal" : "FontStyle.Italic"); auto selectedTextStyle = JsonUtil::Create(true); selectedTextStyle->Put("color", GetSelectedColor().value_or(defaultSelectColor).ColorToString().c_str()); selectedTextStyle->Put("font", selectedFont); diff --git a/frameworks/core/components_ng/pattern/progress/progress_modifier.cpp b/frameworks/core/components_ng/pattern/progress/progress_modifier.cpp index 2dbfeabb816..83f7497de9e 100644 --- a/frameworks/core/components_ng/pattern/progress/progress_modifier.cpp +++ b/frameworks/core/components_ng/pattern/progress/progress_modifier.cpp @@ -106,7 +106,7 @@ ProgressModifier::ProgressModifier(const WeakPtr& host, AttachProperty(progressUpdate_); AttachProperty(capsuleBorderRadius_); - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto theme = pipeline->GetTheme(GetThemeScopeId()); CHECK_NULL_VOID(theme); @@ -238,7 +238,7 @@ void ProgressModifier::StartCapsuleSweepingAnimationImpl(float value, float spee modifier->dateUpdated_ = false; modifier->StopSweepingAnimation(currentDate); modifier->StartContinuousSweepingAnimation(currentDate, modifier->sweepingDateBackup_, speed); - auto context = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto context = PipelineBase::GetCurrentContext(); context->RequestFrame(); } }); @@ -305,7 +305,7 @@ void ProgressModifier::StartRingLoadingAnimation() void ProgressModifier::StartRingLoadingHeadAnimation() { - auto context = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto context = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(context); bool isFormRender = context->IsFormRender() && !IsDynamicComponent(); AnimationOption optionHead = AnimationOption(); @@ -327,7 +327,7 @@ void ProgressModifier::StartRingLoadingHeadAnimation() void ProgressModifier::StartRingLoadingTailAnimation() { - auto context = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto context = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(context); bool isFormRender = context->IsFormRender() && !IsDynamicComponent(); AnimationOption optionTail = AnimationOption(); @@ -414,7 +414,7 @@ void ProgressModifier::StartRingSweepingAnimationImpl(float date, float speed) return; } - auto context = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto context = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(context); bool isFormRender = context->IsFormRender() && !IsDynamicComponent(); isSweeping_ = true; @@ -438,7 +438,7 @@ void ProgressModifier::StartRingSweepingAnimationImpl(float date, float speed) float currentDate = modifier->sweepingDate_->Get(); modifier->StopSweepingAnimation(currentDate); modifier->StartContinuousSweepingAnimation(currentDate, modifier->sweepingDateBackup_, speed); - auto context = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto context = PipelineBase::GetCurrentContext(); context->RequestFrame(); } }); @@ -485,13 +485,13 @@ void ProgressModifier::StartContinuousSweepingAnimation(float currentDate, float default: return; } - auto context = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto context = PipelineBase::GetCurrentContext(); context->RequestFrame(); } else { modifier->dateUpdated_ = false; float currentDate = modifier->sweepingDate_->Get(); modifier->StartContinuousSweepingAnimation(currentDate, modifier->sweepingDateBackup_, speed); - auto context = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto context = PipelineBase::GetCurrentContext(); context->RequestFrame(); } }); @@ -582,7 +582,7 @@ void ProgressModifier::StartLinearSweepingAnimationImpl(float date, float speed) return; } - auto context = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto context = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(context); bool isFormRender = context->IsFormRender() && !IsDynamicComponent(); isSweeping_ = true; @@ -607,7 +607,7 @@ void ProgressModifier::StartLinearSweepingAnimationImpl(float date, float speed) float currentDate = modifier->sweepingDate_->Get(); modifier->StopSweepingAnimation(currentDate); modifier->StartContinuousSweepingAnimation(currentDate, modifier->sweepingDateBackup_, speed); - auto context = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto context = PipelineBase::GetCurrentContext(); context->RequestFrame(); } }); @@ -969,7 +969,7 @@ std::vector ProgressModifier::GetRingProgressGradientColors() con // Fault protection processing, if gradientColors is empty, set to default colors. if (gradientColors.empty()) { - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_RETURN(pipeline, gradientColors); auto theme = pipeline->GetTheme(GetThemeScopeId()); CHECK_NULL_RETURN(theme, gradientColors); @@ -1846,7 +1846,7 @@ Gradient ProgressModifier::CreateCapsuleGradient() const bool ProgressModifier::PostTask(const TaskExecutor::Task& task, const std::string& name) { - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_RETURN(pipeline, false); auto taskExecutor = pipeline->GetTaskExecutor(); CHECK_NULL_RETURN(taskExecutor, false); diff --git a/frameworks/core/components_ng/pattern/progress/progress_paint_property.cpp b/frameworks/core/components_ng/pattern/progress/progress_paint_property.cpp index 2db9e44042c..63af58dd9d4 100644 --- a/frameworks/core/components_ng/pattern/progress/progress_paint_property.cpp +++ b/frameworks/core/components_ng/pattern/progress/progress_paint_property.cpp @@ -25,7 +25,7 @@ constexpr float PROGRSS_MAX_VALUE = 100.f; void ProgressPaintProperty::ToJsonValue(std::unique_ptr& json, const InspectorFilter& filter) const { PaintProperty::ToJsonValue(json, filter); - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto progressTheme = pipeline->GetTheme(GetThemeScopeId()); CHECK_NULL_VOID(progressTheme); @@ -55,7 +55,6 @@ void ProgressPaintProperty::ToJsonValue(std::unique_ptr& json, const json->PutExtAttr("capsuleBorderColor", (GetBorderColor().value_or(progressTheme->GetBorderColor())).ColorToString().c_str(), filter); json->PutExtAttr("progressGradientColor", ToJsonGradientColor().c_str(), filter); - json->PutExtAttr("privacySensitive", GetIsSensitive().value_or(false), filter); } std::string ProgressPaintProperty::ProgressOptions() const @@ -74,7 +73,7 @@ std::string ProgressPaintProperty::ToJsonGradientColor() const if (propGradientColor_.has_value()) { colors = propGradientColor_.value(); } else { - auto pipelineContext = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipelineContext = PipelineBase::GetCurrentContext(); CHECK_NULL_RETURN(pipelineContext, ""); auto theme = pipelineContext->GetTheme(GetThemeScopeId()); auto endColor = theme->GetRingProgressEndSideColor(); diff --git a/frameworks/core/components_ng/pattern/qrcode/qrcode_layout_algorithm.cpp b/frameworks/core/components_ng/pattern/qrcode/qrcode_layout_algorithm.cpp index b31b2de4ba3..1aa06de1f4f 100644 --- a/frameworks/core/components_ng/pattern/qrcode/qrcode_layout_algorithm.cpp +++ b/frameworks/core/components_ng/pattern/qrcode/qrcode_layout_algorithm.cpp @@ -31,7 +31,7 @@ std::optional QRCodeLayoutAlgorithm::MeasureContent( auto layoutProperty = AceType::DynamicCast(layoutWrapper->GetLayoutProperty()); CHECK_NULL_RETURN(layoutProperty, std::nullopt); - auto pipeline = PipelineContext::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineContext::GetCurrentContext(); CHECK_NULL_RETURN(pipeline, std::nullopt); auto qrcodeTheme = pipeline->GetTheme(); CHECK_NULL_RETURN(qrcodeTheme, std::nullopt); diff --git a/frameworks/core/components_ng/pattern/qrcode/qrcode_model_ng.cpp b/frameworks/core/components_ng/pattern/qrcode/qrcode_model_ng.cpp index 9f0d67edda2..111462537cb 100644 --- a/frameworks/core/components_ng/pattern/qrcode/qrcode_model_ng.cpp +++ b/frameworks/core/components_ng/pattern/qrcode/qrcode_model_ng.cpp @@ -34,7 +34,7 @@ void QRCodeModelNG::Create(const std::string& value) V2::QRCODE_ETS_TAG, nodeId, []() { return AceType::MakeRefPtr(); }); ViewStackProcessor::GetInstance()->Push(frameNode); - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); RefPtr qrCodeTheme = pipeline->GetTheme(); CHECK_NULL_VOID(qrCodeTheme); @@ -92,36 +92,22 @@ void QRCodeModelNG::SetQRCodeValue(FrameNode* frameNode, const std::string& valu ACE_UPDATE_NODE_PAINT_PROPERTY(QRCodePaintProperty, Value, value, frameNode); } -void QRCodeModelNG::SetQRCodeColor(FrameNode* frameNode, const std::optional& color) +void QRCodeModelNG::SetQRCodeColor(FrameNode* frameNode, const Color& color) { - if (color) { - ACE_UPDATE_NODE_PAINT_PROPERTY(QRCodePaintProperty, Color, *color, frameNode); - ACE_UPDATE_NODE_RENDER_CONTEXT(ForegroundColor, *color, frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(QRCodePaintProperty, Color, frameNode); - ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, ForegroundColor, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(QRCodePaintProperty, Color, color, frameNode); + ACE_UPDATE_NODE_RENDER_CONTEXT(ForegroundColor, color, frameNode); ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, ForegroundColorStrategy, frameNode); ACE_UPDATE_NODE_RENDER_CONTEXT(ForegroundColorFlag, true, frameNode); } -void QRCodeModelNG::SetQRBackgroundColor(FrameNode* frameNode, const std::optional& color) +void QRCodeModelNG::SetQRBackgroundColor(FrameNode* frameNode, const Color& color) { - if (color) { - ACE_UPDATE_NODE_PAINT_PROPERTY(QRCodePaintProperty, BackgroundColor, *color, frameNode); - ACE_UPDATE_NODE_RENDER_CONTEXT(BackgroundColor, *color, frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(QRCodePaintProperty, BackgroundColor, frameNode); - ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, BackgroundColor, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(QRCodePaintProperty, BackgroundColor, color, frameNode); + ACE_UPDATE_NODE_RENDER_CONTEXT(BackgroundColor, color, frameNode); } -void QRCodeModelNG::SetContentOpacity(FrameNode* frameNode, const std::optional& opacity) +void QRCodeModelNG::SetContentOpacity(FrameNode* frameNode, const double opacity) { - if (opacity) { - ACE_UPDATE_NODE_PAINT_PROPERTY(QRCodePaintProperty, Opacity, *opacity, frameNode); - } else { - ACE_RESET_NODE_PAINT_PROPERTY(QRCodePaintProperty, Opacity, frameNode); - } + ACE_UPDATE_NODE_PAINT_PROPERTY(QRCodePaintProperty, Opacity, opacity, frameNode); } } // namespace OHOS::Ace::NG diff --git a/frameworks/core/components_ng/pattern/qrcode/qrcode_model_ng.h b/frameworks/core/components_ng/pattern/qrcode/qrcode_model_ng.h index a4bb2c9441d..117c116bc9c 100644 --- a/frameworks/core/components_ng/pattern/qrcode/qrcode_model_ng.h +++ b/frameworks/core/components_ng/pattern/qrcode/qrcode_model_ng.h @@ -29,9 +29,9 @@ public: static RefPtr CreateFrameNode(int32_t nodeId); static void SetQRCodeValue(FrameNode* frameNode, const std::string& value); - static void SetQRCodeColor(FrameNode* frameNode, const std::optional& color); - static void SetQRBackgroundColor(FrameNode* frameNode, const std::optional& color); - static void SetContentOpacity(FrameNode* frameNode, const std::optional& opacity); + static void SetQRCodeColor(FrameNode* frameNode, const Color& color); + static void SetQRBackgroundColor(FrameNode* frameNode, const Color& color); + static void SetContentOpacity(FrameNode* frameNode, const double opacity); }; } // namespace OHOS::Ace::NG #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERNS_QRCODE_QRCODE_MODEL_NG_H diff --git a/frameworks/core/components_ng/pattern/qrcode/qrcode_paint_method.cpp b/frameworks/core/components_ng/pattern/qrcode/qrcode_paint_method.cpp index 2a4b8981d1e..1787a316f5d 100644 --- a/frameworks/core/components_ng/pattern/qrcode/qrcode_paint_method.cpp +++ b/frameworks/core/components_ng/pattern/qrcode/qrcode_paint_method.cpp @@ -40,13 +40,9 @@ void QRCodePaintMethod::UpdateContentModifier(PaintWrapper* paintWrapper) } else if (renderContext->HasForegroundColorStrategy()) { paintProperty->UpdateColor(Color::FOREGROUND); } - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); - CHECK_NULL_VOID(pipeline); - RefPtr qrCodeTheme = pipeline->GetTheme(); - CHECK_NULL_VOID(qrCodeTheme); - auto color = paintProperty->GetColorValue(qrCodeTheme->GetQrcodeColor()); - auto backgroundColor = paintProperty->GetBackgroundColorValue(qrCodeTheme->GetBackgroundColor()); - auto opacity = paintProperty->GetOpacityValue(1.0f); + auto color = paintProperty->GetColorValue(); + auto backgroundColor = paintProperty->GetBackgroundColorValue(); + auto opacity = paintProperty->GetOpacityValue(); // For the long string, just show the length as 256. if (value.size() > QRCODE_VALUE_MAX_LENGTH) { diff --git a/frameworks/core/components_ng/pattern/text_clock/text_clock_model_ng.cpp b/frameworks/core/components_ng/pattern/text_clock/text_clock_model_ng.cpp index 19fb4f1f622..68333fbdee6 100644 --- a/frameworks/core/components_ng/pattern/text_clock/text_clock_model_ng.cpp +++ b/frameworks/core/components_ng/pattern/text_clock/text_clock_model_ng.cpp @@ -175,55 +175,36 @@ RefPtr TextClockModelNG::InitTextController(FrameNode* fram return pattern->GetTextClockController(); } -void TextClockModelNG::SetFormat(FrameNode* frameNode, const std::optional& format) +void TextClockModelNG::SetFormat(FrameNode* frameNode, const std::string& format) { - if (!format.has_value() || format.value().empty()) { + if (format.empty()) { ACE_RESET_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, Format, frameNode); } else { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, Format, format.value(), frameNode); + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, Format, format, frameNode); } } -void TextClockModelNG::SetHoursWest(FrameNode* frameNode, const std::optional& hoursWest) +void TextClockModelNG::SetHoursWest(FrameNode* frameNode, float hoursWest) { - if (hoursWest.has_value()) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, HoursWest, hoursWest.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, HoursWest, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, HoursWest, hoursWest, frameNode); } void TextClockModelNG::SetTextShadow(FrameNode* frameNode, const std::vector& value) { - if (value.empty() == false) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, TextShadow, value, frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, TextShadow, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, TextShadow, value, frameNode); } void TextClockModelNG::SetFontFeature(FrameNode* frameNode, const FONT_FEATURES_LIST& value) { - if (value.empty() == false) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, FontFeature, value, frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, FontFeature, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, FontFeature, value, frameNode); } -void TextClockModelNG::SetFontColor(FrameNode* frameNode, const std::optional& color) +void TextClockModelNG::SetFontColor(FrameNode* frameNode, const Color& value) { - if (color.has_value()) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, TextColor, color.value(), frameNode); - ACE_UPDATE_NODE_RENDER_CONTEXT(ForegroundColor, color.value(), frameNode); - ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, ForegroundColorStrategy, frameNode); - ACE_UPDATE_NODE_RENDER_CONTEXT(ForegroundColorFlag, true, frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, TextColor, frameNode); - ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, ForegroundColor, frameNode); - ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, ForegroundColorStrategy, frameNode); - ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, ForegroundColorFlag, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, TextColor, value, frameNode); + ACE_UPDATE_NODE_RENDER_CONTEXT(ForegroundColor, value, frameNode); + ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, ForegroundColorStrategy, frameNode); + ACE_UPDATE_NODE_RENDER_CONTEXT(ForegroundColorFlag, true, frameNode); } void TextClockModelNG::ResetFontColor(FrameNode* frameNode) @@ -239,40 +220,24 @@ void TextClockModelNG::ResetFontColor(FrameNode* frameNode) TextModelNG::ResetTextColor(Referenced::RawPtr(textNode)); } -void TextClockModelNG::SetFontSize(FrameNode* frameNode, const std::optional& size) +void TextClockModelNG::SetFontSize(FrameNode* frameNode, const Dimension& value) { - if (size.has_value()) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, FontSize, size.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, FontSize, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, FontSize, value, frameNode); } -void TextClockModelNG::SetFontStyle(FrameNode* frameNode, const std::optional& value) +void TextClockModelNG::SetFontStyle(FrameNode* frameNode, Ace::FontStyle value) { - if (value.has_value()) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, ItalicFontStyle, value.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, ItalicFontStyle, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, ItalicFontStyle, value, frameNode); } -void TextClockModelNG::SetFontWeight(FrameNode* frameNode, const std::optional& value) +void TextClockModelNG::SetFontWeight(FrameNode* frameNode, FontWeight value) { - if (value.has_value()) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, FontWeight, value.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, FontWeight, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, FontWeight, value, frameNode); } void TextClockModelNG::SetFontFamily(FrameNode* frameNode, const std::vector& value) { - if (!value.empty()) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, FontFamily, value, frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, FontFamily, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, FontFamily, value, frameNode); } void TextClockModelNG::SetBuilderFunc(FrameNode* frameNode, TextClockMakeCallback&& makeFunc) @@ -305,14 +270,10 @@ void TextClockModelNG::InitFontDefault(FrameNode* frameNode, const TextStyle& te } } -void TextClockModelNG::SetDateTimeOptions(FrameNode* frameNode, const std::optional& hourType) +void TextClockModelNG::SetDateTimeOptions(FrameNode* frameNode, const ZeroPrefixType& hourType) { CHECK_NULL_VOID(frameNode); - if (hourType.has_value()) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, PrefixHour, hourType.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, PrefixHour, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextClockLayoutProperty, PrefixHour, hourType, frameNode); } void TextClockModelNG::SetJSTextClockController(FrameNode* frameNode, const RefPtr& controller) diff --git a/frameworks/core/components_ng/pattern/text_clock/text_clock_model_ng.h b/frameworks/core/components_ng/pattern/text_clock/text_clock_model_ng.h index 0471e85489a..4d76074fe83 100644 --- a/frameworks/core/components_ng/pattern/text_clock/text_clock_model_ng.h +++ b/frameworks/core/components_ng/pattern/text_clock/text_clock_model_ng.h @@ -50,19 +50,19 @@ public: static RefPtr CreateFrameNode(int32_t nodeId); static RefPtr InitTextController(FrameNode* frameNode); - static void SetFormat(FrameNode* frameNode, const std::optional& format); - static void SetHoursWest(FrameNode* frameNode, const std::optional& hoursWest); - static void SetFontColor(FrameNode* frameNode, const std::optional& color); + static void SetFormat(FrameNode* frameNode, const std::string& format); + static void SetHoursWest(FrameNode* frameNode, float hoursWest); + static void SetFontColor(FrameNode* frameNode, const Color& value); static void ResetFontColor(FrameNode* frameNode); - static void SetFontSize(FrameNode* frameNode, const std::optional& size); - static void SetFontStyle(FrameNode* frameNode, const std::optional& value); - static void SetFontWeight(FrameNode* frameNode, const std::optional& value); + static void SetFontSize(FrameNode* frameNode, const Dimension& value); + static void SetFontStyle(FrameNode* frameNode, Ace::FontStyle value); + static void SetFontWeight(FrameNode* frameNode, FontWeight value); static void SetFontFamily(FrameNode* frameNode, const std::vector& value); static void SetTextShadow(FrameNode* frameNode, const std::vector& value); static void SetFontFeature(FrameNode* frameNode, const FONT_FEATURES_LIST& value); static void SetBuilderFunc(FrameNode* frameNode, TextClockMakeCallback&& jsMake); static void InitFontDefault(FrameNode* frameNode, const TextStyle& textStyle); - static void SetDateTimeOptions(FrameNode* frameNode, const std::optional& hourType); + static void SetDateTimeOptions(FrameNode* frameNode, const ZeroPrefixType& hourType); static void SetJSTextClockController(FrameNode* frameNode, const RefPtr& controller); static RefPtr GetJSTextClockController(FrameNode* frameNode); static void SetOnDateChange(FrameNode* frameNode, std::function&& onChange); diff --git a/frameworks/core/components_ng/pattern/text_picker/textpicker_layout_algorithm.cpp b/frameworks/core/components_ng/pattern/text_picker/textpicker_layout_algorithm.cpp index 5eced499ec3..f6015487b44 100644 --- a/frameworks/core/components_ng/pattern/text_picker/textpicker_layout_algorithm.cpp +++ b/frameworks/core/components_ng/pattern/text_picker/textpicker_layout_algorithm.cpp @@ -38,7 +38,7 @@ GradientColor CreatePercentGradientColor(float percent, Color color) } // namespace void TextPickerLayoutAlgorithm::Measure(LayoutWrapper* layoutWrapper) { - auto pipeline = PipelineContext::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineContext::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto pickerTheme = pipeline->GetTheme(); CHECK_NULL_VOID(pickerTheme); @@ -208,7 +208,7 @@ void TextPickerLayoutAlgorithm::ChangeTextStyle(uint32_t index, uint32_t showOpt const RefPtr& childLayoutWrapper, LayoutWrapper* layoutWrapper) { SizeF frameSize = { -1.0f, -1.0f }; - auto pipeline = PipelineContext::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineContext::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto pickerTheme = pipeline->GetTheme(); CHECK_NULL_VOID(pickerTheme); @@ -261,7 +261,7 @@ void TextPickerLayoutAlgorithm::UpdateContentSize(const SizeF& size, const RefPt void TextPickerLayoutAlgorithm::Layout(LayoutWrapper* layoutWrapper) { CHECK_NULL_VOID(layoutWrapper); - auto pipeline = PipelineContext::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineContext::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto pickerTheme = pipeline->GetTheme(); CHECK_NULL_VOID(pickerTheme); diff --git a/frameworks/core/components_ng/pattern/text_picker/textpicker_layout_property.h b/frameworks/core/components_ng/pattern/text_picker/textpicker_layout_property.h index c7b4599f5e0..a87bc4ab08a 100644 --- a/frameworks/core/components_ng/pattern/text_picker/textpicker_layout_property.h +++ b/frameworks/core/components_ng/pattern/text_picker/textpicker_layout_property.h @@ -89,6 +89,19 @@ public: json->PutExtAttr("gradientHeight", GetGradientHeightValue(Dimension(0)).ToString().c_str(), filter); json->PutExtAttr("selected", std::to_string(GetSelectedValue(0)).c_str(), filter); json->PutExtAttr("value", GetValueValue("").c_str(), filter); + Color defaultDisappearColor = Color::BLACK; + Color defaultNormalColor = Color::BLACK; + Color defaultSelectColor = Color::BLACK; + auto pipeline = PipelineBase::GetCurrentContext(); + auto frameNode = GetHost(); + if (pipeline && frameNode) { + auto pickerTheme = pipeline->GetTheme(frameNode->GetThemeScopeId()); + if (pickerTheme) { + defaultDisappearColor = pickerTheme->GetDisappearOptionStyle().GetTextColor(); + defaultNormalColor = pickerTheme->GetOptionStyle(false, false).GetTextColor(); + defaultSelectColor = pickerTheme->GetOptionStyle(true, false).GetTextColor(); + } + } if (propDivider_.has_value()) { auto divider = JsonUtil::Create(true); divider->Put("strokeWidth", propDivider_.value().strokeWidth.ToString().c_str()); @@ -125,34 +138,10 @@ public: } json->PutExtAttr("values", jsonArrayValue, filter); - SetFonts(json, filter); - - auto canLoop = GetCanLoopValue(true); - json->PutExtAttr("canLoop", canLoop ? "true" : "false", filter); - } - - void SetFonts(std::unique_ptr& json, const InspectorFilter& filter) const - { - Color defaultDisappearColor = Color::BLACK; - Color defaultNormalColor = Color::BLACK; - Color defaultSelectColor = Color::BLACK; - auto pipeline = PipelineBase::GetCurrentContext(); - auto frameNode = GetHost(); - if (pipeline && frameNode) { - auto pickerTheme = pipeline->GetTheme(frameNode->GetThemeScopeId()); - if (pickerTheme) { - defaultDisappearColor = pickerTheme->GetDisappearOptionStyle().GetTextColor(); - defaultNormalColor = pickerTheme->GetOptionStyle(false, false).GetTextColor(); - defaultSelectColor = pickerTheme->GetOptionStyle(true, false).GetTextColor(); - } - } auto disappearFont = JsonUtil::Create(true); disappearFont->Put("size", GetDisappearFontSizeValue(Dimension(0)).ToString().c_str()); disappearFont->Put("weight", V2::ConvertWrapFontWeightToStirng( GetDisappearWeight().value_or(FontWeight::NORMAL)).c_str()); - disappearFont->Put("family", V2::ConvertFontFamily(GetDisappearFontFamilyValue({})).c_str()); - disappearFont->Put("style", GetDisappearFontStyleValue(Ace::FontStyle::NORMAL) == Ace::FontStyle::NORMAL - ? "FontStyle.Normal" : "FontStyle.Italic"); auto disappearTextStyle = JsonUtil::Create(true); disappearTextStyle->Put("color", GetDisappearColor().value_or(defaultDisappearColor).ColorToString().c_str()); disappearTextStyle->Put("font", disappearFont); @@ -161,9 +150,6 @@ public: auto normalFont = JsonUtil::Create(true); normalFont->Put("size", GetFontSizeValue(Dimension(0)).ToString().c_str()); normalFont->Put("weight", V2::ConvertWrapFontWeightToStirng(GetWeight().value_or(FontWeight::NORMAL)).c_str()); - normalFont->Put("family", V2::ConvertFontFamily(GetFontFamilyValue({})).c_str()); - normalFont->Put("style", GetFontStyleValue(Ace::FontStyle::NORMAL) == Ace::FontStyle::NORMAL - ? "FontStyle.Normal" : "FontStyle.Italic"); auto normalTextStyle = JsonUtil::Create(true); normalTextStyle->Put("color", GetColor().value_or(defaultNormalColor).ColorToString().c_str()); normalTextStyle->Put("font", normalFont); @@ -173,13 +159,12 @@ public: selectedFont->Put("size", GetSelectedFontSizeValue(Dimension(0)).ToString().c_str()); selectedFont->Put("weight", V2::ConvertWrapFontWeightToStirng( GetSelectedWeight().value_or(FontWeight::NORMAL)).c_str()); - selectedFont->Put("family", V2::ConvertFontFamily(GetSelectedFontFamilyValue({})).c_str()); - selectedFont->Put("style", GetSelectedFontStyleValue(Ace::FontStyle::NORMAL) == Ace::FontStyle::NORMAL - ? "FontStyle.Normal" : "FontStyle.Italic"); auto selectedTextStyle = JsonUtil::Create(true); selectedTextStyle->Put("color", GetSelectedColor().value_or(defaultSelectColor).ColorToString().c_str()); selectedTextStyle->Put("font", selectedFont); json->PutExtAttr("selectedTextStyle", selectedTextStyle, filter); + auto canLoop = GetCanLoopValue(); + json->PutExtAttr("canLoop", canLoop ? "true" : "false", filter); auto isDisableTextStyleAnimation = GetDisableTextStyleAnimation().value_or(false); json->PutExtAttr("disableTextStyleAnimation", isDisableTextStyleAnimation ? "true" : "false", filter); @@ -188,8 +173,6 @@ public: defaultFont->Put("size", GetDefaultFontSizeValue(Dimension(0)).ToString().c_str()); defaultFont->Put("weight", V2::ConvertWrapFontWeightToStirng( GetDefaultWeight().value_or(FontWeight::NORMAL)).c_str()); - defaultFont->Put("style", GetDefaultFontStyleValue(Ace::FontStyle::NORMAL) == Ace::FontStyle::NORMAL - ? "FontStyle.Normal" : "FontStyle.Italic"); auto defaultTextStyle = JsonUtil::Create(true); defaultTextStyle->Put("color", GetDefaultColor().value_or(Color::BLACK).ColorToString().c_str()); defaultTextStyle->Put("minFontSize", GetDefaultMinFontSize().value_or(Dimension()).ToString().c_str()); diff --git a/frameworks/core/components_ng/pattern/text_picker/textpicker_model_ng.cpp b/frameworks/core/components_ng/pattern/text_picker/textpicker_model_ng.cpp index a7d04934133..5bcbb5804de 100644 --- a/frameworks/core/components_ng/pattern/text_picker/textpicker_model_ng.cpp +++ b/frameworks/core/components_ng/pattern/text_picker/textpicker_model_ng.cpp @@ -104,7 +104,7 @@ void TextPickerModelNG::Create(RefPtr pickerTheme, uint32_t columnK auto textPickerPattern = textPickerNode->GetPattern(); CHECK_NULL_VOID(textPickerPattern); textPickerPattern->SetColumnsKind(columnKind); - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto dialogTheme = pipeline->GetTheme(); CHECK_NULL_VOID(dialogTheme); @@ -133,30 +133,6 @@ void TextPickerModelNG::Create(RefPtr pickerTheme, uint32_t columnK } } -void TextPickerModelNG::InitialSetupSinglePicker(FrameNode* frameNode, uint32_t columnKind) -{ - CHECK_NULL_VOID(frameNode); - auto textPickerPattern = frameNode->GetPattern(); - CHECK_NULL_VOID(textPickerPattern); - textPickerPattern->SetColumnsKind(columnKind); - - if (frameNode->GetChildren().empty()) { - auto columnNode = CreateColumnNode(columnKind, showCount_); - auto stackNode = CreateStackNode(); - auto buttonNode = CreateButtonNode(); - auto columnBlendNode = CreateColumnNode(); - buttonNode->MountToParent(stackNode); - columnNode->MountToParent(columnBlendNode); - columnBlendNode->MountToParent(stackNode); - columnNode->MarkModifyDone(); - columnNode->MarkDirtyNode(PROPERTY_UPDATE_MEASURE); - auto layoutProperty = stackNode->GetLayoutProperty(); - layoutProperty->UpdateAlignment(Alignment::CENTER); - stackNode->MountToParent(AceType::Claim(frameNode)); - } - textPickerPattern->ClearOption(); -} - void TextPickerModelNG::SetDefaultAttributes(const RefPtr& pickerTheme) { auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); @@ -536,14 +512,6 @@ void TextPickerModelNG::SetOnEnterSelectedArea(TextCascadeChangeEvent&& onEnterS eventHub->SetOnEnterSelectedArea(std::move(onEnterSelectedArea)); } -void TextPickerModelNG::SetOnEnterSelectedArea(FrameNode* frameNode, TextCascadeChangeEvent&& onEnterSelectedArea) -{ - CHECK_NULL_VOID(frameNode); - auto eventHub = frameNode->GetEventHub(); - CHECK_NULL_VOID(eventHub); - eventHub->SetOnEnterSelectedArea(std::move(onEnterSelectedArea)); -} - void TextPickerModelNG::SetValue(const std::string& value) { ACE_UPDATE_LAYOUT_PROPERTY(TextPickerLayoutProperty, Value, value); @@ -878,7 +846,7 @@ void TextPickerDialogModelNG::SetTextPickerDialogShow(RefPtr& PickerTex if (!executor) { return; } - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto theme = pipeline->GetTheme(); CHECK_NULL_VOID(theme); @@ -953,22 +921,6 @@ void TextPickerModelNG::SetDigitalCrownSensitivity(FrameNode* frameNode, int32_t ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextPickerLayoutProperty, DigitalCrownSensitivity, crownSensitivity, frameNode); } -void TextPickerModelNG::SetDigitalCrownSensitivity(FrameNode* frameNode, std::optional& valueOpt) -{ - if (valueOpt) { - if (valueOpt.value() < CROWN_SENSITIVITY_MIN || valueOpt.value() > CROWN_SENSITIVITY_MAX) { - return; - } - CHECK_NULL_VOID(frameNode); - auto textPickerPattern = frameNode->GetPattern(); - CHECK_NULL_VOID(textPickerPattern); - textPickerPattern->SetDigitalCrownSensitivity(valueOpt.value()); - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextPickerLayoutProperty, DigitalCrownSensitivity, valueOpt.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextPickerLayoutProperty, DigitalCrownSensitivity, frameNode); - } -} - void TextPickerModelNG::SetSelecteds(FrameNode* frameNode, const std::vector& values) { CHECK_NULL_VOID(frameNode); @@ -1093,14 +1045,10 @@ void TextPickerModelNG::SetDisappearTextStyle( value.fontStyle.value_or(disappearStyle.GetFontStyle()), frameNode); } -void TextPickerModelNG::SetDefaultPickerItemHeight(FrameNode* frameNode, std::optional valueOpt) +void TextPickerModelNG::SetDefaultPickerItemHeight(FrameNode* frameNode, const Dimension& value) { CHECK_NULL_VOID(frameNode); - if (valueOpt) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextPickerLayoutProperty, DefaultPickerItemHeight, valueOpt.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextPickerLayoutProperty, DefaultPickerItemHeight, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextPickerLayoutProperty, DefaultPickerItemHeight, value, frameNode); } Dimension TextPickerModelNG::GetDefaultPickerItemHeight(FrameNode* frameNode) @@ -1244,30 +1192,6 @@ void TextPickerModelNG::SetValue(FrameNode* frameNode, const std::string& value) } } -void TextPickerModelNG::ValidateData( - NG::TextCascadePickerOptions& options, const std::vector& values, uint32_t index, - std::vector& selectedValues, std::vector& valuesIndex) -{ - if (values.size() < index + 1) { - if (options.rangeResult.size() > 0) { - selectedValues.emplace_back(options.rangeResult[0]); - } else { - selectedValues.emplace_back(""); - } - valuesIndex.emplace_back(0); - } else { - auto valueIterator = - std::find(options.rangeResult.begin(), options.rangeResult.end(), values[index]); - if (valueIterator == options.rangeResult.end()) { - selectedValues.emplace_back(options.rangeResult.front()); - valuesIndex.emplace_back(0); - } else { - selectedValues.emplace_back(values[index]); - valuesIndex.emplace_back(std::distance(options.rangeResult.begin(), valueIterator)); - } - } -} - void TextPickerModelNG::SetValues(FrameNode* frameNode, const std::vector& values) { CHECK_NULL_VOID(frameNode); @@ -1276,16 +1200,26 @@ void TextPickerModelNG::SetValues(FrameNode* frameNode, const std::vector selectedValues; std::vector valuesIndex; auto options = textPickerPattern->GetMultiOptions(); - if (!IsCascade(frameNode)) { - for (uint32_t i = 0; i < options.size(); i++) { - ValidateData(options[i], values, i, selectedValues, valuesIndex); - } - TextPickerModelNG::SetSelecteds(frameNode, valuesIndex); - } else { - for (uint32_t i = 0; i < values.size(); i++) { - selectedValues.emplace_back(values[i]); + for (uint32_t i = 0; i < options.size(); i++) { + if (values.size() > 0 && values.size() < i + 1) { + if (options[i].rangeResult.size() > 0) { + selectedValues.emplace_back(options[i].rangeResult[0]); + } else { + selectedValues.emplace_back(""); + } + valuesIndex.emplace_back(0); + } else { + auto valueIterator = std::find(options[i].rangeResult.begin(), options[i].rangeResult.end(), values[i]); + if (valueIterator == options[i].rangeResult.end()) { + selectedValues[i] = options[i].rangeResult.front(); + valuesIndex.emplace_back(0); + } else { + selectedValues.emplace_back(values[i]); + valuesIndex.emplace_back(std::distance(options[i].rangeResult.begin(), valueIterator)); + } } } + TextPickerModelNG::SetSelecteds(frameNode, valuesIndex); textPickerPattern->SetValues(selectedValues); ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextPickerLayoutProperty, Values, selectedValues, frameNode); } @@ -1364,16 +1298,6 @@ void TextPickerModelNG::SetDefaultTextStyle( value.textOverflow.value_or(textStyle.GetTextOverflow()), frameNode); } -void TextPickerModelNG::SetDefaultTextStyle(FrameNode* frameNode, const NG::PickerTextStyle& value) -{ - CHECK_NULL_VOID(frameNode); - auto context = frameNode->GetContext(); - CHECK_NULL_VOID(context); - auto textTheme = context->GetTheme(); - CHECK_NULL_VOID(textTheme); - SetDefaultTextStyle(frameNode, textTheme, value); -} - std::string TextPickerModelNG::getTextPickerValue(FrameNode* frameNode) { CHECK_NULL_RETURN(frameNode, ""); @@ -1409,16 +1333,11 @@ void TextPickerModelNG::SetDivider(FrameNode* frameNode, const ItemDivider& divi ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextPickerLayoutProperty, Divider, divider, frameNode); } -void TextPickerModelNG::SetGradientHeight(FrameNode* frameNode, std::optional valueOpt) +void TextPickerModelNG::SetGradientHeight(FrameNode* frameNode, const Dimension& value) { CHECK_NULL_VOID(frameNode); auto textPickerPattern = frameNode->GetPattern(); CHECK_NULL_VOID(textPickerPattern); - auto context = frameNode->GetContext(); - CHECK_NULL_VOID(context); - auto theme = context->GetTheme(); - CHECK_NULL_VOID(theme); - auto value = valueOpt.value_or(theme->GetGradientHeight()); textPickerPattern->SetGradientHeight(value); ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextPickerLayoutProperty, GradientHeight, value, frameNode); } @@ -1506,7 +1425,7 @@ int32_t TextPickerModelNG::GetTextPickerRangeType(FrameNode* frameNode) const Dimension TextPickerModelNG::ConvertFontScaleValue(const Dimension& fontSizeValue) { - auto pipeline = PipelineContext::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineContext::GetCurrentContext(); CHECK_NULL_RETURN(pipeline, fontSizeValue); auto maxAppFontScale = pipeline->GetMaxAppFontScale(); auto follow = pipeline->IsFollowSystem(); @@ -1523,15 +1442,6 @@ const Dimension TextPickerModelNG::ConvertFontScaleValue(const Dimension& fontSi return fontSizeValue; } -const std::string TextPickerModelNG::GetSelectedObjectStr(FrameNode* frameNode, - const std::string value, const uint32_t index) -{ - CHECK_NULL_RETURN(frameNode, "framenode null"); - auto textPickerPattern = frameNode->GetPattern(); - CHECK_NULL_RETURN(textPickerPattern, "pattern null"); - return textPickerPattern->GetSelectedObjectStr(value, index); -} - void TextPickerModelNG::HasUserDefinedOpacity() { auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); @@ -1543,38 +1453,17 @@ void TextPickerModelNG::HasUserDefinedOpacity() textPickerPattern->SetUserDefinedOpacity(renderContext->GetOpacityValue(1.0)); } -void TextPickerModelNG::SetOnValueChangeEvent(FrameNode* frameNode, TextCascadeValueChangeEvent&& onValueChangeEvent) -{ - CHECK_NULL_VOID(frameNode); - auto eventHub = frameNode->GetEventHub(); - CHECK_NULL_VOID(eventHub); - eventHub->SetOnValueChangeEvent(std::move(onValueChangeEvent)); -} - -void TextPickerModelNG::SetOnSelectedChangeEvent(FrameNode* frameNode, - TextCascadeSelectedChangeEvent&& onSelectedChangeEvent) -{ - CHECK_NULL_VOID(frameNode); - auto eventHub = frameNode->GetEventHub(); - CHECK_NULL_VOID(eventHub); - eventHub->SetOnSelectedChangeEvent(std::move(onSelectedChangeEvent)); -} - void TextPickerModelNG::SetEnableHapticFeedback(bool isEnableHapticFeedback) { auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); SetEnableHapticFeedback(frameNode, isEnableHapticFeedback); } -void TextPickerModelNG::SetEnableHapticFeedback(FrameNode* frameNode, const std::optional& valueOpt) +void TextPickerModelNG::SetEnableHapticFeedback(FrameNode* frameNode, bool isEnableHapticFeedback) { CHECK_NULL_VOID(frameNode); auto textPickerPattern = frameNode->GetPattern(); CHECK_NULL_VOID(textPickerPattern); - bool isEnableHapticFeedback = DEFAULT_ENABLE_HAPTIC_FEEDBACK; - if (valueOpt) { - isEnableHapticFeedback = valueOpt.value(); - } textPickerPattern->SetIsEnableHaptic(isEnableHapticFeedback); } diff --git a/frameworks/core/components_ng/pattern/text_picker/textpicker_model_ng.h b/frameworks/core/components_ng/pattern/text_picker/textpicker_model_ng.h index 61a187d1fb9..10f91ded3f0 100644 --- a/frameworks/core/components_ng/pattern/text_picker/textpicker_model_ng.h +++ b/frameworks/core/components_ng/pattern/text_picker/textpicker_model_ng.h @@ -91,7 +91,6 @@ public: void HasUserDefinedOpacity() override; void SetColumnWidths(const std::vector& widths) override; - static void InitialSetupSinglePicker(FrameNode* frameNode, uint32_t columnKind); void SetDisableTextStyleAnimation(const bool value) override; void SetDefaultTextStyle(const RefPtr& textTheme, const NG::PickerTextStyle& value) override; void SetEnableHapticFeedback(bool isEnableHapticFeedback) override; @@ -99,7 +98,6 @@ public: static void SetCanLoop(FrameNode* frameNode, const bool value); static void SetDigitalCrownSensitivity(FrameNode* frameNode, int32_t crownSensitivity); - static void SetDigitalCrownSensitivity(FrameNode* frameNode, std::optional& crownSensitivity); static void SetSelected(FrameNode* frameNode, uint32_t value); static void SetSelecteds(FrameNode* frameNode, const std::vector& values); static void SetHasSelectAttr(FrameNode* frameNode, bool value); @@ -113,8 +111,7 @@ public: FrameNode* frameNode, const RefPtr& pickerTheme, const NG::PickerTextStyle& value); static void SetDefaultTextStyle( FrameNode* frameNode, const RefPtr& textTheme, const NG::PickerTextStyle& value); - static void SetDefaultTextStyle(FrameNode* frameNode, const NG::PickerTextStyle& value); - static void SetDefaultPickerItemHeight(FrameNode* frameNode, std::optional valueOpt); + static void SetDefaultPickerItemHeight(FrameNode* frameNode, const Dimension& value); static void SetBackgroundColor(FrameNode* frameNode, const Color& color); static bool IsSingle(FrameNode* frameNode); static bool GetSingleRange(FrameNode* frameNode, std::vector& rangeValue); @@ -134,11 +131,10 @@ public: static int32_t getTextPickerSelectedIndex(FrameNode* frameNode); static std::string getTextPickerValue(FrameNode* frameNode); static std::string getTextPickerRange(FrameNode* frameNode); - static void SetGradientHeight(FrameNode* frameNode, std::optional valueOpt); + static void SetGradientHeight(FrameNode* frameNode, const Dimension& value); static void SetDisableTextStyleAnimation(FrameNode* frameNode, const bool value); static void SetOnCascadeChange(FrameNode* frameNode, TextCascadeChangeEvent&& onChange); static void SetOnScrollStop(FrameNode* frameNode, TextCascadeChangeEvent&& onScrollStop); - static void SetOnEnterSelectedArea(FrameNode* frameNode, TextCascadeChangeEvent&& onEnterSelectedArea); static int32_t GetSelectedSize(FrameNode* frameNode); static int32_t GetColumnWidthsSize(FrameNode* frameNode); static std::string getTextPickerValues(FrameNode* frameNode); @@ -148,13 +144,9 @@ public: static void SetTextPickerRangeType(FrameNode* frameNode, int32_t rangeType); static int32_t GetTextPickerRangeType(FrameNode* frameNode); static const Dimension ConvertFontScaleValue(const Dimension& fontSizeValue); - static const std::string GetSelectedObjectStr(FrameNode* frameNode, - const std::string value, const uint32_t index); - static void SetOnValueChangeEvent(FrameNode* frameNode, TextCascadeValueChangeEvent&& onChange); - static void SetOnSelectedChangeEvent(FrameNode* frameNode, TextCascadeSelectedChangeEvent&& onChange); static void SetColumnWidths(FrameNode* frameNode, const std::vector& widths); static std::vector GetColumnWidths(FrameNode* frameNode); - static void SetEnableHapticFeedback(FrameNode* frameNode, const std::optional& isEnableHapticFeedback); + static void SetEnableHapticFeedback(FrameNode* frameNode, bool isEnableHapticFeedback); static bool GetEnableHapticFeedback(FrameNode* frameNode); private: @@ -167,9 +159,6 @@ private: static RefPtr CreateColumnNode(uint32_t columnKind, uint32_t showCount); static void SetUnCascadeColumnsNode(FrameNode* frameNode, const std::vector& options); static void SetCascadeColumnsNode(FrameNode* frameNode, const std::vector& options); - static void ValidateData( - NG::TextCascadePickerOptions& options, const std::vector& values, uint32_t index, - std::vector& selectedValues, std::vector& valuesIndex); uint32_t maxCount_ = 0; std::vector kinds_; diff --git a/frameworks/core/components_ng/pattern/text_picker/textpicker_pattern.cpp b/frameworks/core/components_ng/pattern/text_picker/textpicker_pattern.cpp index 69aa007aa81..2e3d6ee56b8 100644 --- a/frameworks/core/components_ng/pattern/text_picker/textpicker_pattern.cpp +++ b/frameworks/core/components_ng/pattern/text_picker/textpicker_pattern.cpp @@ -1121,7 +1121,7 @@ void TextPickerPattern::GetInnerFocusPaintRect(RoundRect& paintRect) } auto columnNode = GetColumnNode(); CHECK_NULL_VOID(columnNode); - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto pickerTheme = pipeline->GetTheme(); CHECK_NULL_VOID(pickerTheme); @@ -1421,7 +1421,7 @@ bool TextPickerPattern::HandleDirectionKey(KeyCode code) } std::string TextPickerPattern::GetSelectedObjectMulti(const std::vector& values, - const std::vector& indexs, int32_t status) + const std::vector& indexs, int32_t status) const { std::string result = ""; result = std::string("{\"value\":") + "["; @@ -1484,7 +1484,8 @@ std::string TextPickerPattern::GetSelectedObject( CHECK_NULL_RETURN(context, ""); if (context->GetIsDeclarative()) { if (values.size() == 1) { - return GetSelectedObjectStr(values[0], indexs[0], status); + return std::string("{\"value\":") + "\"" + values[0] + "\"" + ",\"index\":" + std::to_string(indexs[0]) + + ",\"status\":" + std::to_string(status) + "}"; } else { return GetSelectedObjectMulti(values, indexs, status); } @@ -1513,7 +1514,6 @@ void TextPickerPattern::ToJsonValue(std::unique_ptr& json, const Insp } } json->PutExtAttr("enableHapticFeedback", isEnableHaptic_, filter); - json->PutExtAttr("disableTextStyleAnimation", isDisableTextStyleAnimation_, filter); if (!columnWidths_.empty()) { json->PutExtAttr("columnWidths", GetColumnWidthsStr().c_str(), filter); } diff --git a/frameworks/core/components_ng/pattern/text_picker/textpicker_pattern.h b/frameworks/core/components_ng/pattern/text_picker/textpicker_pattern.h index 0bd25c5b5e8..e28fee12a57 100644 --- a/frameworks/core/components_ng/pattern/text_picker/textpicker_pattern.h +++ b/frameworks/core/components_ng/pattern/text_picker/textpicker_pattern.h @@ -194,7 +194,7 @@ public: FocusPattern GetFocusPattern() const override { - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_RETURN(pipeline, FocusPattern()); auto pickerTheme = pipeline->GetTheme(); CHECK_NULL_RETURN(pickerTheme, FocusPattern()); @@ -499,16 +499,6 @@ public: curOpacity_ = opacity; } - static std::string GetSelectedObjectStr(const std::string value, - const uint32_t index, int32_t status = 0) - { - return std::string("{\"value\":") + "\"" + value + "\"" + ",\"index\":" + std::to_string(index) + - ",\"status\":" + std::to_string(status) + "}"; - } - - static std::string GetSelectedObjectMulti(const std::vector& values, - const std::vector& indexs, int32_t status); - void SetDisableTextStyleAnimation(bool isDisableTextStyleAnimation); bool GetDisableTextStyleAnimation() const @@ -583,6 +573,8 @@ private: uint32_t value, uint32_t curColumn, uint32_t replaceColumn); void OnColumnsBuildingUnCascade(); void OnColumnsBuildingCascade(); + std::string GetSelectedObjectMulti(const std::vector& values, + const std::vector& indexs, int32_t status) const; void SupplementOption(const std::vector& reOptions, std::vector& rangeContents, uint32_t patterIndex); void ProcessCascadeOptionsValues(const std::vector& rangeResultValue, uint32_t index); diff --git a/frameworks/core/components_ng/pattern/texttimer/text_timer_layout_property.cpp b/frameworks/core/components_ng/pattern/texttimer/text_timer_layout_property.cpp index a5a0ca4c6e0..35eeadb7d38 100644 --- a/frameworks/core/components_ng/pattern/texttimer/text_timer_layout_property.cpp +++ b/frameworks/core/components_ng/pattern/texttimer/text_timer_layout_property.cpp @@ -51,7 +51,6 @@ inline std::unique_ptr ConvertShadowToJson(const Shadow& shadow) jsonShadow->Put("offsetX", std::to_string(shadow.GetOffset().GetX()).c_str()); jsonShadow->Put("offsetY", std::to_string(shadow.GetOffset().GetY()).c_str()); jsonShadow->Put("type", std::to_string(static_cast(shadow.GetShadowType())).c_str()); - jsonShadow->Put("fill", shadow.GetIsFilled() ? "true" : "false"); return jsonShadow; } diff --git a/frameworks/core/components_ng/pattern/texttimer/text_timer_model_ng.cpp b/frameworks/core/components_ng/pattern/texttimer/text_timer_model_ng.cpp index 8b07f8e0d7a..5ea1a31474a 100644 --- a/frameworks/core/components_ng/pattern/texttimer/text_timer_model_ng.cpp +++ b/frameworks/core/components_ng/pattern/texttimer/text_timer_model_ng.cpp @@ -21,7 +21,6 @@ #include "core/components_ng/pattern/texttimer/text_timer_pattern.h" namespace OHOS::Ace::NG { -constexpr double MAX_COUNT_DOWN = 86400000.0; RefPtr TextTimerModelNG::Create() { auto* stack = ViewStackProcessor::GetInstance(); @@ -134,87 +133,52 @@ RefPtr TextTimerModelNG::InitTextController(FrameNode* fram return pattern->GetTextTimerController(); } -void TextTimerModelNG::SetIsCountDown(FrameNode* frameNode, const std::optional& isCountDown) +void TextTimerModelNG::SetIsCountDown(FrameNode* frameNode, bool isCountDown) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, IsCountDown, isCountDown.value_or(false), frameNode); + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, IsCountDown, isCountDown, frameNode); } -void TextTimerModelNG::SetInputCount(FrameNode* frameNode, const std::optional& count) +void TextTimerModelNG::SetInputCount(FrameNode* frameNode, double count) { - if (count && count.value() > 0 && count.value() < MAX_COUNT_DOWN) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, InputCount, count.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, InputCount, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, InputCount, count, frameNode); } -void TextTimerModelNG::SetFontColor(FrameNode* frameNode, const std::optional& value) +void TextTimerModelNG::SetFontColor(FrameNode* frameNode, const Color& value) { - if (value) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, TextColor, value.value(), frameNode); - ACE_UPDATE_NODE_RENDER_CONTEXT(ForegroundColor, value.value(), frameNode); - ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, ForegroundColorStrategy, frameNode); - ACE_UPDATE_NODE_RENDER_CONTEXT(ForegroundColorFlag, true, frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, TextColor, frameNode); - ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, ForegroundColor, frameNode); - ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, ForegroundColorStrategy, frameNode); - ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, ForegroundColorFlag, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, TextColor, value, frameNode); + ACE_UPDATE_NODE_RENDER_CONTEXT(ForegroundColor, value, frameNode); + ACE_RESET_NODE_RENDER_CONTEXT(RenderContext, ForegroundColorStrategy, frameNode); + ACE_UPDATE_NODE_RENDER_CONTEXT(ForegroundColorFlag, true, frameNode); } -void TextTimerModelNG::SetFontSize(FrameNode* frameNode, const std::optional& value) +void TextTimerModelNG::SetFontSize(FrameNode* frameNode, const Dimension& value) { - if (value) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, FontSize, value.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, FontSize, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, FontSize, value, frameNode); } -void TextTimerModelNG::SetFontStyle(FrameNode* frameNode, const std::optional& value) +void TextTimerModelNG::SetFontStyle(FrameNode* frameNode, Ace::FontStyle value) { - if (value.has_value()) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, ItalicFontStyle, value.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, ItalicFontStyle, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, ItalicFontStyle, value, frameNode); } -void TextTimerModelNG::SetFontWeight(FrameNode* frameNode, const std::optional& value) +void TextTimerModelNG::SetFontWeight(FrameNode* frameNode, FontWeight value) { - if (value.has_value()) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, FontWeight, value.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, FontWeight, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, FontWeight, value, frameNode); } -void TextTimerModelNG::SetFontFamily(FrameNode* frameNode, const std::optional>& value) +void TextTimerModelNG::SetFontFamily(FrameNode* frameNode, const std::vector& value) { - if (value && value->size() > 0) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, FontFamily, value.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, FontFamily, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, FontFamily, value, frameNode); } -void TextTimerModelNG::SetFormat(FrameNode* frameNode, const std::optional& format) +void TextTimerModelNG::SetFormat(FrameNode* frameNode, const std::string& format) { - if (format) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, Format, format.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, Format, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, Format, format, frameNode); } -void TextTimerModelNG::SetTextShadow(FrameNode* frameNode, const std::optional>& value) +void TextTimerModelNG::SetTextShadow(FrameNode* frameNode, const std::vector& value) { - if (value) { - ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, TextShadow, value.value(), frameNode); - } else { - ACE_RESET_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, TextShadow, frameNode); - } + ACE_UPDATE_NODE_LAYOUT_PROPERTY(TextTimerLayoutProperty, TextShadow, value, frameNode); } void TextTimerModelNG::SetBuilderFunc(FrameNode* frameNode, TextTimerMakeCallback&& makeFunc) diff --git a/frameworks/core/components_ng/pattern/texttimer/text_timer_model_ng.h b/frameworks/core/components_ng/pattern/texttimer/text_timer_model_ng.h index 7ebfc5bc26f..6ea4b4160ba 100644 --- a/frameworks/core/components_ng/pattern/texttimer/text_timer_model_ng.h +++ b/frameworks/core/components_ng/pattern/texttimer/text_timer_model_ng.h @@ -52,15 +52,15 @@ public: void SetFontFamily(const std::vector& value) override; static RefPtr CreateFrameNode(int32_t nodeId); static RefPtr InitTextController(FrameNode* frameNode); - static void SetIsCountDown(FrameNode* frameNode, const std::optional& isCountDown); - static void SetInputCount(FrameNode* frameNode, const std::optional& count); - static void SetFontColor(FrameNode* frameNode, const std::optional& value); - static void SetFontSize(FrameNode* frameNode, const std::optional& value); - static void SetFontStyle(FrameNode* frameNode, const std::optional& value); - static void SetFontWeight(FrameNode* frameNode, const std::optional& value); - static void SetFontFamily(FrameNode* frameNode, const std::optional>& value); - static void SetFormat(FrameNode* frameNode, const std::optional& format); - static void SetTextShadow(FrameNode* frameNode, const std::optional>& value); + static void SetIsCountDown(FrameNode* frameNode, bool isCountDown); + static void SetInputCount(FrameNode* frameNode, double count); + static void SetFontColor(FrameNode* frameNode, const Color& value); + static void SetFontSize(FrameNode* frameNode, const Dimension& value); + static void SetFontStyle(FrameNode* frameNode, Ace::FontStyle value); + static void SetFontWeight(FrameNode* frameNode, FontWeight value); + static void SetFontFamily(FrameNode* frameNode, const std::vector& value); + static void SetFormat(FrameNode* frameNode, const std::string& format); + static void SetTextShadow(FrameNode* frameNode, const std::vector& value); static void SetBuilderFunc(FrameNode* frameNode, TextTimerMakeCallback&& jsMake); static void SetJSTextTimerController(FrameNode* frameNode, const RefPtr& controller); static void SetOnTimer(FrameNode* frameNode, std::function&& onChange); diff --git a/frameworks/core/components_ng/pattern/time_picker/timepicker_layout_property.h b/frameworks/core/components_ng/pattern/time_picker/timepicker_layout_property.h index 0d46a88e91f..2c445aab46d 100644 --- a/frameworks/core/components_ng/pattern/time_picker/timepicker_layout_property.h +++ b/frameworks/core/components_ng/pattern/time_picker/timepicker_layout_property.h @@ -77,9 +77,6 @@ public: disappearFont->Put("size", GetDisappearFontSizeValue(Dimension(0)).ToString().c_str()); disappearFont->Put( "weight", V2::ConvertWrapFontWeightToStirng(GetDisappearWeight().value_or(FontWeight::NORMAL)).c_str()); - disappearFont->Put("family", V2::ConvertFontFamily(GetDisappearFontFamilyValue({})).c_str()); - disappearFont->Put("style", GetDisappearFontStyleValue(Ace::FontStyle::NORMAL) == Ace::FontStyle::NORMAL - ? "FontStyle.Normal" : "FontStyle.Italic"); auto disappearTextStyle = JsonUtil::Create(true); disappearTextStyle->Put("color", GetDisappearColor().value_or(defaultDisappearColor).ColorToString().c_str()); @@ -89,10 +86,6 @@ public: auto normalFont = JsonUtil::Create(true); normalFont->Put("size", GetFontSizeValue(Dimension(0)).ToString().c_str()); normalFont->Put("weight", V2::ConvertWrapFontWeightToStirng(GetWeight().value_or(FontWeight::NORMAL)).c_str()); - normalFont->Put("family", V2::ConvertFontFamily(GetFontFamilyValue({})).c_str()); - normalFont->Put("style", GetFontStyleValue(Ace::FontStyle::NORMAL) == Ace::FontStyle::NORMAL - ? "FontStyle.Normal" : "FontStyle.Italic"); - auto normalTextStyle = JsonUtil::Create(true); normalTextStyle->Put("color", GetColor().value_or(defaultNormalColor).ColorToString().c_str()); normalTextStyle->Put("font", normalFont); @@ -102,10 +95,6 @@ public: selectedFont->Put("size", GetSelectedFontSizeValue(Dimension(0)).ToString().c_str()); selectedFont->Put( "weight", V2::ConvertWrapFontWeightToStirng(GetSelectedWeight().value_or(FontWeight::NORMAL)).c_str()); - selectedFont->Put("family", V2::ConvertFontFamily(GetSelectedFontFamilyValue({})).c_str()); - selectedFont->Put("style", GetSelectedFontStyleValue(Ace::FontStyle::NORMAL) == Ace::FontStyle::NORMAL - ? "FontStyle.Normal" : "FontStyle.Italic"); - auto selectedTextStyle = JsonUtil::Create(true); selectedTextStyle->Put("color", GetSelectedColor().value_or(defaultSelectColor).ColorToString().c_str()); selectedTextStyle->Put("font", selectedFont); diff --git a/frameworks/core/components_ng/pattern/time_picker/timepicker_model_ng.cpp b/frameworks/core/components_ng/pattern/time_picker/timepicker_model_ng.cpp index 1c501df83ad..78014344dec 100644 --- a/frameworks/core/components_ng/pattern/time_picker/timepicker_model_ng.cpp +++ b/frameworks/core/components_ng/pattern/time_picker/timepicker_model_ng.cpp @@ -474,7 +474,7 @@ void TimePickerDialogModelNG::SetTimePickerDialogShow(PickerDialogInfo& pickerDi if (!executor) { return; } - auto pipeline = PipelineBase::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineBase::GetCurrentContext(); CHECK_NULL_VOID(pipeline); auto theme = pipeline->GetTheme(); CHECK_NULL_VOID(theme); @@ -574,14 +574,6 @@ void TimePickerModelNG::SetSelectedTime(FrameNode* frameNode, const PickerTime& timePickerRowPattern->SetSelectedTime(value); } -void TimePickerModelNG::SetHasSecond(FrameNode* frameNode, bool hasSecond) -{ - CHECK_NULL_VOID(frameNode); - auto timePickerRowPattern = frameNode->GetPattern(); - CHECK_NULL_VOID(timePickerRowPattern); - timePickerRowPattern->SetHasSecond(hasSecond); -} - void TimePickerModelNG::SetDisappearTextStyle( FrameNode* frameNode, const RefPtr& theme, const PickerTextStyle& value) { @@ -865,7 +857,7 @@ int32_t TimePickerModelNG::getTimepickerEnableCascade(FrameNode* frameNode) const Dimension TimePickerModelNG::ConvertFontScaleValue(const Dimension& fontSizeValue) { - auto pipeline = PipelineContext::GetCurrentContextSafelyWithCheck(); + auto pipeline = PipelineContext::GetCurrentContext(); CHECK_NULL_RETURN(pipeline, fontSizeValue); auto maxAppFontScale = pipeline->GetMaxAppFontScale(); auto follow = pipeline->IsFollowSystem(); @@ -892,15 +884,6 @@ void TimePickerModelNG::HasUserDefinedOpacity() CHECK_NULL_VOID(renderContext); timePickerRowPattern->SetUserDefinedOpacity(renderContext->GetOpacityValue(1.0)); } - -void TimePickerModelNG::SetChangeEvent(FrameNode* frameNode, TimeChangeEvent&& onChange) -{ - CHECK_NULL_VOID(frameNode); - auto eventHub = frameNode->GetEventHub(); - CHECK_NULL_VOID(eventHub); - eventHub->SetChangeEvent(std::move(onChange)); -} - void TimePickerModelNG::SetDigitalCrownSensitivity(int32_t crownSensitivity) { auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode(); @@ -908,16 +891,12 @@ void TimePickerModelNG::SetDigitalCrownSensitivity(int32_t crownSensitivity) SetDigitalCrownSensitivity(frameNode, crownSensitivity); } -void TimePickerModelNG::SetDigitalCrownSensitivity(FrameNode* frameNode, const std::optional& valueOpt) +void TimePickerModelNG::SetDigitalCrownSensitivity(FrameNode* frameNode, int32_t crownSensitivity) { - if (!valueOpt) { - ACE_RESET_NODE_LAYOUT_PROPERTY(TimePickerLayoutProperty, DigitalCrownSensitivity, frameNode); - return; - } - auto crownSensitivity = *valueOpt; if (crownSensitivity < CROWN_SENSITIVITY_MIN || crownSensitivity > CROWN_SENSITIVITY_MAX) { return; } + CHECK_NULL_VOID(frameNode); auto timePickerPattern = frameNode->GetPattern(); CHECK_NULL_VOID(timePickerPattern); diff --git a/frameworks/core/components_ng/pattern/time_picker/timepicker_model_ng.h b/frameworks/core/components_ng/pattern/time_picker/timepicker_model_ng.h index 7d803fd079d..81b695a4a09 100644 --- a/frameworks/core/components_ng/pattern/time_picker/timepicker_model_ng.h +++ b/frameworks/core/components_ng/pattern/time_picker/timepicker_model_ng.h @@ -54,7 +54,6 @@ public: static void SetEndTime(FrameNode* frameNode, const PickerTime& value); void SetDigitalCrownSensitivity(int32_t crownSensitivity) override; static void SetSelectedTime(FrameNode* frameNode, const PickerTime& value); - static void SetHasSecond(FrameNode* frameNode, bool hasSecond); static void SetDisappearTextStyle( FrameNode* frameNode, const RefPtr& theme, const PickerTextStyle& value); static void SetNormalTextStyle( @@ -79,9 +78,8 @@ public: static void SetDefaultAttributes(RefPtr& frameNode, const RefPtr& pickerTheme); static void SetWheelModeEnabled(FrameNode* frameNode, bool wheelModeEnabled); static void SetEnableCascade(FrameNode* frameNode, bool isEnableCascade); - static void SetChangeEvent(FrameNode* frameNode, TimeChangeEvent&& onChange); static const Dimension ConvertFontScaleValue(const Dimension& fontSizeValue); - static void SetDigitalCrownSensitivity(FrameNode* frameNode, const std::optional& crownSensitivity); + static void SetDigitalCrownSensitivity(FrameNode* frameNode, int32_t crownSensitivity); private: static RefPtr CreateStackNode(); -- Gitee