• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022-2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERNS_SLIDER_SLIDER_MODEL_NG_H
17 #define FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERNS_SLIDER_SLIDER_MODEL_NG_H
18 
19 #include "core/components_ng/base/frame_node.h"
20 #include "core/components_ng/pattern/slider/slider_event_hub.h"
21 #include "core/components_ng/pattern/slider/slider_model.h"
22 
23 namespace OHOS::Ace::NG {
24 class ACE_EXPORT SliderModelNG : public SliderModel {
25 public:
26     void Create(float value, float step, float min, float max) override;
27     void SetSliderMode(const SliderMode& value) override;
28     void SetDirection(Axis value) override;
29     void SetReverse(bool value) override;
30     void SetBlockColor(const Color& value) override;
31     void SetTrackBackgroundColor(const Color& value) override;
32     void SetSelectColor(const Color& value) override;
33     void SetMinLabel(float value) override;
34     void SetMaxLabel(float value) override;
35     void SetShowSteps(bool value) override;
36     void SetShowTips(bool value, const std::optional<std::string>& content) override;
37     void SetThickness(const Dimension& value) override;
38     void SetBlockBorderColor(const Color& value) override;
39     void SetBlockBorderWidth(const Dimension& value) override;
40     void SetStepColor(const Color& value) override;
41     void SetTrackBorderRadius(const Dimension& value) override;
42     void SetBlockSize(const Dimension& width, const Dimension& height) override;
43     void SetBlockType(BlockStyleType value) override;
44     void SetBlockImage(const std::string& value, const std::string& bundleName, const std::string& moduleName) override;
45     void SetBlockShape(const RefPtr<BasicShape>& value) override;
46     void SetStepSize(const Dimension& value) override;
47     void SetOnChange(SliderOnChangeEvent&& eventOnChange) override;
48     void SetOnChangeEvent(SliderOnValueChangeEvent&& onChangeEvent) override;
49 
50     void ResetBlockBorderColor() override;
51     void ResetBlockBorderWidth() override;
52     void ResetStepColor() override;
53     void ResetTrackBorderRadius() override;
54     void ResetBlockSize() override;
55     void ResetBlockType() override;
56     void ResetBlockImage() override;
57     void ResetBlockShape() override;
58     void ResetStepSize() override;
59 
60     static void SetShowTips(FrameNode* frameNode, bool value, const std::optional<std::string>& content);
61     static void SetThickness(FrameNode* frameNode, const Dimension& value);
62     static void SetStepSize(FrameNode* frameNode, const Dimension& value);
63     static void SetBlockType(FrameNode* frameNode, BlockStyleType value);
64     static void SetBlockShape(FrameNode* frameNode, const RefPtr<BasicShape>& value);
65     static void SetBlockSize(FrameNode* frameNode, const Dimension& width, const Dimension& height);
66     static void SetTrackBorderRadius(FrameNode* frameNode, const Dimension& value);
67     static void SetStepColor(FrameNode* frameNode, const Color& value);
68     static void SetBlockBorderColor(FrameNode* frameNode, const Color& value);
69     static void SetBlockBorderWidth(FrameNode* frameNode, const Dimension& value);
70     static void SetBlockColor(FrameNode* frameNode, const Color& value);
71     static void SetTrackBackgroundColor(FrameNode* frameNode, const Color& value);
72     static void SetSelectColor(FrameNode* frameNode, const Color& value);
73     static void SetShowSteps(FrameNode* frameNode, bool value);
74     static void SetBlockImage(
75         FrameNode* frameNode, const std::string& value, const std::string& bundleName, const std::string& moduleName);
76 
77     static void ResetBlockBorderColor(FrameNode* frameNode);
78     static void ResetBlockBorderWidth(FrameNode* frameNode);
79     static void ResetStepColor(FrameNode* frameNode);
80     static void ResetTrackBorderRadius(FrameNode* frameNode);
81     static void ResetBlockSize(FrameNode* frameNode);
82     static void ResetBlockType(FrameNode* frameNode);
83     static void ResetBlockImage(FrameNode* frameNode);
84     static void ResetBlockShape(FrameNode* frameNode);
85     static void ResetStepSize(FrameNode* frameNode);
86     static void ResetBlockColor(FrameNode* frameNode);
87 
88 private:
89     void SetSliderValue(float value);
90 };
91 
92 } // namespace OHOS::Ace::NG
93 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERNS_SLIDER_SLIDER_MODEL_NG_H
94