From 591ee8fea559ae5adee4bc2b562618abdcba287c Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 27 Apr 2022 12:06:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9inspector=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: peter Change-Id: I4529148961f4c03fb60b9ed853377e92d2e08bf9 --- .../render_navigation_container.cpp | 1 + .../render_navigation_container.h | 6 +++ .../core/components/swiper/render_swiper.cpp | 2 +- .../core/components/swiper/render_swiper.h | 6 +++ .../inspector/column_composed_element.cpp | 40 +++++++++++++++++ .../inspector/column_composed_element.h | 2 + .../inspector/inspector_composed_element.cpp | 13 +++++- .../inspector/inspector_composed_element.h | 3 +- .../components_v2/inspector/inspector_node.h | 3 +- .../inspector/navigation_composed_element.cpp | 32 ++++++++++++++ .../inspector/navigation_composed_element.h | 1 + .../inspector/row_composed_element.cpp | 44 +++++++++++++++++++ .../inspector/row_composed_element.h | 2 + .../inspector/swiper_composed_element.cpp | 10 ++++- .../inspector/swiper_composed_element.h | 1 + 15 files changed, 161 insertions(+), 5 deletions(-) diff --git a/frameworks/core/components/navigation_bar/render_navigation_container.cpp b/frameworks/core/components/navigation_bar/render_navigation_container.cpp index a9ead84b..9d753952 100644 --- a/frameworks/core/components/navigation_bar/render_navigation_container.cpp +++ b/frameworks/core/components/navigation_bar/render_navigation_container.cpp @@ -84,6 +84,7 @@ void RenderNavigationContainer::Update(const RefPtr& component) hideNavigationToolBar_ = declaration->hideToolbar; titleMode_ = declaration->titleMode; toolBarItems_ = declaration->toolbarItems; + menuItems_ = declaration->menuItems; } } // namespace OHOS::Ace diff --git a/frameworks/core/components/navigation_bar/render_navigation_container.h b/frameworks/core/components/navigation_bar/render_navigation_container.h index eedb1598..15a66b64 100644 --- a/frameworks/core/components/navigation_bar/render_navigation_container.h +++ b/frameworks/core/components/navigation_bar/render_navigation_container.h @@ -73,6 +73,11 @@ public: return toolBarItems_; } + const std::list>& GetMenuItems() + { + return menuItems_; + } + private: RefPtr collapsingNavigationBar_; std::string title_; @@ -82,6 +87,7 @@ private: bool hideNavigationToolBar_ = false; NavigationTitleMode titleMode_ = NavigationTitleMode::MINI; std::list> toolBarItems_; + std::list> menuItems_; }; } // namespace OHOS::Ace diff --git a/frameworks/core/components/swiper/render_swiper.cpp b/frameworks/core/components/swiper/render_swiper.cpp index b48cad8f..3b69bb5a 100644 --- a/frameworks/core/components/swiper/render_swiper.cpp +++ b/frameworks/core/components/swiper/render_swiper.cpp @@ -244,7 +244,7 @@ void RenderSwiper::Update(const RefPtr& component) animationOpacity_ = swiper->IsAnimationOpacity(); duration_ = swiper->GetDuration(); showIndicator_ = swiper->IsShowIndicator(); - + cachedCount_ = swiper->GetCachedSize(); lazyLoadCacheSize_ = swiper->GetCachedSize() * 2 + swiper->GetDisplayCount(); auto lazyComponent = swiper->GetLazyForEachComponent(); UpdateItemCount(lazyComponent ? static_cast(lazyComponent->TotalCount()) : itemCount_); diff --git a/frameworks/core/components/swiper/render_swiper.h b/frameworks/core/components/swiper/render_swiper.h index 616388fa..14715a3c 100644 --- a/frameworks/core/components/swiper/render_swiper.h +++ b/frameworks/core/components/swiper/render_swiper.h @@ -299,6 +299,11 @@ public: return axis_ == Axis::VERTICAL; } + int32_t GetCachedCount() const + { + return cachedCount_; + } + bool RefuseUpdatePosition(int32_t index); void OnPaintFinish() override; protected: @@ -540,6 +545,7 @@ private: MainSwiperSize mainSwiperSize_ = MainSwiperSize::MAX; double prevMargin_ = 0.0; double nextMargin_ = 0.0; + int32_t cachedCount_ = -1; // need timer for auto play RefPtr scheduler_; diff --git a/frameworks/core/components_v2/inspector/column_composed_element.cpp b/frameworks/core/components_v2/inspector/column_composed_element.cpp index 4d862a1a..1a8b57f0 100644 --- a/frameworks/core/components_v2/inspector/column_composed_element.cpp +++ b/frameworks/core/components_v2/inspector/column_composed_element.cpp @@ -27,6 +27,7 @@ const std::unordered_mapGetJustifyContent(); + return ConvertFlexAlignToString(flexAlign); +} + +std::string ColumnComposedElement::ConvertFlexAlignToString(FlexAlign flexAlign) const +{ + std::string result = ""; + switch (flexAlign) { + case FlexAlign::FLEX_START: + result = "FlexAlign.Start"; + break; + case FlexAlign::FLEX_END: + result = "FlexAlign.End"; + break; + case FlexAlign::CENTER: + result = "FlexAlign.Center"; + break; + case FlexAlign::SPACE_BETWEEN: + result = "FlexAlign.SpaceBetween"; + break; + case FlexAlign::SPACE_AROUND: + result = "FlexAlign.SpaceAround"; + break; + case FlexAlign::SPACE_EVENLY: + result = "FlexAlign.SpaceEvenly"; + break; + default: + result = "FlexAlign.Start"; + break; + } + return result; +} + RefPtr ColumnComposedElement::GetRenderColumn() const { auto node = GetInspectorNode(ColumnElement::TypeId()); diff --git a/frameworks/core/components_v2/inspector/column_composed_element.h b/frameworks/core/components_v2/inspector/column_composed_element.h index cbd9f6f3..9f5246cd 100644 --- a/frameworks/core/components_v2/inspector/column_composed_element.h +++ b/frameworks/core/components_v2/inspector/column_composed_element.h @@ -37,6 +37,8 @@ public: std::string GetSpace() const; std::string GetHorizontalAlign() const; std::unique_ptr ToJsonObject() const override; + std::string GetJustifyContent() const; + std::string ConvertFlexAlignToString(FlexAlign flexAlign) const; RefPtr GetRenderColumn() const; void AddChildWithSlot(int32_t slot, const RefPtr& newComponent) override; void UpdateChildWithSlot(int32_t slot, const RefPtr& newComponent) override; diff --git a/frameworks/core/components_v2/inspector/inspector_composed_element.cpp b/frameworks/core/components_v2/inspector/inspector_composed_element.cpp index 8f736e65..304dc2cd 100644 --- a/frameworks/core/components_v2/inspector/inspector_composed_element.cpp +++ b/frameworks/core/components_v2/inspector/inspector_composed_element.cpp @@ -111,7 +111,8 @@ const std::unordered_map CREATE_JSON_STRING_MAP { { "align", [](const InspectorNode& inspector) { return inspector.GetAlign(); } }, { "direction", [](const InspectorNode& inspector) { return inspector.GetDirectionStr(); } }, { "bindPopup", [](const InspectorNode& inspector) { return inspector.GetBindPopup(); } }, - { "bindContextMenu", [](const InspectorNode& inspector) { return inspector.GetBindContextMenu(); } } + { "bindContextMenu", [](const InspectorNode& inspector) { return inspector.GetBindContextMenu(); } }, + { "colorBlend", [](const InspectorNode& inspector) { return inspector.GetColorBlend(); } }, }; const std::unordered_map CREATE_JSON_BOOL_MAP { @@ -1376,6 +1377,16 @@ std::string InspectorComposedElement::GetBindContextMenu() const return "-"; } +std::string InspectorComposedElement::GetColorBlend() const +{ + auto node = GetRenderBox(); + if (!node) { + return ""; + } + auto colorBlend = node->GetColorBlend(); + return colorBlend.ColorToString(); +} + void InspectorComposedElement::UpdateEventTarget(BaseEventInfo& info) const { auto area = GetCurrentRectAndOrigin(); diff --git a/frameworks/core/components_v2/inspector/inspector_composed_element.h b/frameworks/core/components_v2/inspector/inspector_composed_element.h index c4c4be51..4ac7fd9b 100644 --- a/frameworks/core/components_v2/inspector/inspector_composed_element.h +++ b/frameworks/core/components_v2/inspector/inspector_composed_element.h @@ -186,7 +186,8 @@ public: double GetSepia() const override; double GetGrayScale() const override; double GetHueRotate() const override; - + std::string GetColorBlend() const override; + // shape clip std::string GetClip() const override; bool GetClipFlag() const; diff --git a/frameworks/core/components_v2/inspector/inspector_node.h b/frameworks/core/components_v2/inspector/inspector_node.h index 2fbe7554..d5c23477 100644 --- a/frameworks/core/components_v2/inspector/inspector_node.h +++ b/frameworks/core/components_v2/inspector/inspector_node.h @@ -161,7 +161,8 @@ public: virtual double GetSepia() const = 0; virtual double GetGrayScale() const = 0; virtual double GetHueRotate() const = 0; - + virtual std::string GetColorBlend() const = 0; + // shape clip virtual std::string GetClip() const = 0; virtual std::unique_ptr GetMask() const = 0; diff --git a/frameworks/core/components_v2/inspector/navigation_composed_element.cpp b/frameworks/core/components_v2/inspector/navigation_composed_element.cpp index c86ec259..c9db4551 100644 --- a/frameworks/core/components_v2/inspector/navigation_composed_element.cpp +++ b/frameworks/core/components_v2/inspector/navigation_composed_element.cpp @@ -46,6 +46,11 @@ const std::unordered_map(const NavigationComposedElement&)>; +const std::unordered_map CREATE_JSON_VALUE_MAP { + { "menus", [](const NavigationComposedElement& inspector) { return inspector.GetMenus(); } } +}; + } void NavigationComposedElement::Dump() @@ -77,6 +82,9 @@ std::unique_ptr NavigationComposedElement::ToJsonObject() const for (const auto& value : CREATE_JSON_BOOL_MAP) { resultJson->Put(value.first.c_str(), value.second(*this)); } + for (const auto& value : CREATE_JSON_VALUE_MAP) { + resultJson->Put(value.first.c_str(), value.second(*this)); + } return resultJson; } @@ -170,6 +178,30 @@ bool NavigationComposedElement::GetNavigationHideToolBar() const return render->GetHideNavigationToolBar(); } +std::unique_ptr NavigationComposedElement::GetMenus() const +{ + auto render = GetRenderNavigation(); + auto menusArray = JsonUtil::CreateArray(false); + if (!render) { + return menusArray; + } + auto menuItems = render->GetMenuItems(); + if (!menuItems.empty()) { + std::list>::iterator iter; + int32_t i = 0; + for (iter = menuItems.begin(); iter != menuItems.end(); ++iter, i++) { + auto jsonMenusItem = JsonUtil::CreateArray(false); + auto menus = *iter; + jsonMenusItem->Put("value", menus->value.c_str()); + jsonMenusItem->Put("icon", menus->icon.c_str()); + auto index = std::to_string(i); + menusArray->Put(index.c_str(), jsonMenusItem); + } + return menusArray; + } + return menusArray; +} + RefPtr NavigationComposedElement::GetRenderNavigation() const { auto node = GetInspectorNode(NavigationContainerElement::TypeId()); diff --git a/frameworks/core/components_v2/inspector/navigation_composed_element.h b/frameworks/core/components_v2/inspector/navigation_composed_element.h index 53d02a75..225fcfc4 100644 --- a/frameworks/core/components_v2/inspector/navigation_composed_element.h +++ b/frameworks/core/components_v2/inspector/navigation_composed_element.h @@ -40,6 +40,7 @@ public: bool GetNavigationHideToolBar() const; bool GetHideNavigationBackButton() const; bool GetHideNavigationBar() const; + std::unique_ptr GetMenus() const; AceType::IdType GetTargetTypeId() const override { diff --git a/frameworks/core/components_v2/inspector/row_composed_element.cpp b/frameworks/core/components_v2/inspector/row_composed_element.cpp index 66c3a86c..08bd1c99 100644 --- a/frameworks/core/components_v2/inspector/row_composed_element.cpp +++ b/frameworks/core/components_v2/inspector/row_composed_element.cpp @@ -27,6 +27,7 @@ const std::unordered_map(node); + if (!renderRow) { + return "FlexAlign.Start"; + } + auto flexAlign = renderRow->GetJustifyContent(); + return ConvertFlexAlignToString(flexAlign); +} + +std::string RowComposedElement::ConvertFlexAlignToString(FlexAlign flexAlign) const +{ + std::string result = ""; + switch (flexAlign) { + case FlexAlign::FLEX_START: + result = "FlexAlign.Start"; + break; + case FlexAlign::FLEX_END: + result = "FlexAlign.End"; + break; + case FlexAlign::CENTER: + result = "FlexAlign.Center"; + break; + case FlexAlign::SPACE_BETWEEN: + result = "FlexAlign.SpaceBetween"; + break; + case FlexAlign::SPACE_AROUND: + result = "FlexAlign.SpaceAround"; + break; + case FlexAlign::SPACE_EVENLY: + result = "FlexAlign.SpaceEvenly"; + break; + default: + result = "FlexAlign.Start"; + break; + } + return result; +} + void RowComposedElement::AddChildWithSlot(int32_t slot, const RefPtr& newComponent) { auto rowElement = GetContentElement(RowElement::TypeId()); diff --git a/frameworks/core/components_v2/inspector/row_composed_element.h b/frameworks/core/components_v2/inspector/row_composed_element.h index c69829c6..ae4489de 100644 --- a/frameworks/core/components_v2/inspector/row_composed_element.h +++ b/frameworks/core/components_v2/inspector/row_composed_element.h @@ -34,6 +34,8 @@ public: std::string GetAlignItems() const; std::string GetSpace() const; std::string GetVerticalAlign() const; + std::string GetJustifyContent() const; + std::string ConvertFlexAlignToString(FlexAlign flexAlign) const; void AddChildWithSlot(int32_t slot, const RefPtr& newComponent) override; void UpdateChildWithSlot(int32_t slot, const RefPtr& newComponent) override; void DeleteChildWithSlot(int32_t slot) override; diff --git a/frameworks/core/components_v2/inspector/swiper_composed_element.cpp b/frameworks/core/components_v2/inspector/swiper_composed_element.cpp index 72fb71bc..e611cf6a 100644 --- a/frameworks/core/components_v2/inspector/swiper_composed_element.cpp +++ b/frameworks/core/components_v2/inspector/swiper_composed_element.cpp @@ -35,7 +35,8 @@ const std::unordered_map SwiperComposedElement::GetRenderSwiper() const return nullptr; } +std::string SwiperComposedElement::GetCachedCount() const +{ + auto renderSwiper = GetRenderSwiper(); + auto cachedCount = renderSwiper ? renderSwiper->GetCachedCount() : 1; + return std::to_string(cachedCount); +} + void SwiperComposedElement::AddChildWithSlot(int32_t slot, const RefPtr& newComponent) { auto swiperElement = GetContentElement(SwiperElement::TypeId()); diff --git a/frameworks/core/components_v2/inspector/swiper_composed_element.h b/frameworks/core/components_v2/inspector/swiper_composed_element.h index 7025fa2b..1e2059d8 100644 --- a/frameworks/core/components_v2/inspector/swiper_composed_element.h +++ b/frameworks/core/components_v2/inspector/swiper_composed_element.h @@ -51,6 +51,7 @@ public: std::string GetSwiperRight() const; std::string GetSwiperBottom() const; std::string GetSwiperSize() const; + std::string GetCachedCount() const; AceType::IdType GetTargetTypeId() const override {