• 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) 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 private:
61     void SetSliderValue(float value);
62 };
63 
64 } // namespace OHOS::Ace::NG
65 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERNS_SLIDER_SLIDER_MODEL_NG_H
66