123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- #pragma once
- #include "CoreMinimal.h"
- #include "Input/Reply.h"
- #include "Styling/SlateWidgetStyleAsset.h"
- #include "Widgets/DeclarativeSyntaxSupport.h"
- #include "Styling/SlateTypes.h"
- #include "Styling/CoreStyle.h"
- #include "Framework/SlateDelegates.h"
- #include "Widgets/SCompoundWidget.h"
- class SSlider;
- class AKAUDIO_API AkSSlider
- : public SCompoundWidget
- {
- public:
-
- SLATE_BEGIN_ARGS(AkSSlider)
- : _Style(&FCoreStyle::Get().GetWidgetStyle<FSliderStyle>("Slider"))
- , _IsFocusable(true)
- , _OnValueChanged()
- , _OnDrop()
- {}
-
- SLATE_STYLE_ARGUMENT(FSliderStyle, Style)
-
- SLATE_ARGUMENT(bool, IsFocusable)
-
- SLATE_EVENT(FOnFloatValueChanged, OnValueChanged)
-
- SLATE_EVENT(FOnDrop, OnDrop)
-
- SLATE_DEFAULT_SLOT(FArguments, Content)
- SLATE_END_ARGS()
-
- void Construct( const AkSSlider::FArguments& InDeclaration );
- TSharedPtr<SSlider> GetAkSlider() const;
-
- TOptional<double> GetAkSliderValue() const;
-
-
- FText GetAkSliderProperty() const;
-
- FText GetAkSliderItemControlled() const;
- void SetAkSliderItemProperty(const FString& ItemProperty);
- const FString& GetAkSliderItemProperty() const;
- void SetAkSliderItemId(const FString& ItemId);
- const FString& GetAkSliderItemId() const;
-
- void SetAkSliderRangeMin(const double in_NewValue);
- void SetAkSliderRangeMax(const double in_NewValue);
-
- TOptional<double> GetAkSliderRangeMin() const;
- TOptional<double> GetAkSliderRangeMax() const;
-
- FReply OnDrop(const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent) override;
-
- void OnValueCommitted(double newValue, ETextCommit::Type Commit);
- private:
-
- TSharedPtr<SSlider> AkScrubberSSlider;
-
- FText AkSliderValue;
-
- FString AkSliderItemProperty;
-
- FString AkSliderItemId;
-
-
- FString ItemControlled;
-
- FOnDrop OnDropDelegate;
-
- double UIMaxValue;
-
-
- double UIMinValue;
- private:
-
- void HandleAkSliderValueChanged(float NewValue);
- protected:
- inline void UpdateRange();
- };
|