FLImaging 6.6.27.1
GUIPropertyItemSliderDualHandle.h
1#pragma once
2#include "GUIPropertyItemSliderBase.h"
3
11
13namespace FLImaging
14{
16 namespace GUI
17 {
18 class CGUISliderOwnerDrawnBase;
19
28 {
29 friend class CGUIPropertyGridPropertySliderDualHandle;
30
31 public:
42
50
66 virtual bool SetPropertyCallbackMin(CPropertyCallback* pFunc, bool bAutoDestroy = true);
67
79 virtual CPropertyCallback* GetPropertyCallbackMin() const;
80
96 virtual bool SetPropertyCallbackMax(CPropertyCallback* pFunc, bool bAutoDestroy = true);
97
109 virtual CPropertyCallback* GetPropertyCallbackMax() const;
110
124 virtual bool SetValueMin(Base::CFLString<wchar_t> strValue, bool bInvokeCallback = true);
125
139 virtual bool SetValueMax(Base::CFLString<wchar_t> strValue, bool bInvokeCallback = true);
140
156 virtual bool SetValue(Base::CFLString<wchar_t> strValueMin, Base::CFLString<wchar_t> strValueMax, bool bInvokeCallback = true);
157
169 virtual bool SetBufferValueMin(const Base::CFLString<wchar_t>& strValue);
170
182 virtual bool SetBufferValueMax(const Base::CFLString<wchar_t>& strValue);
183
197 virtual bool SetBufferValue(const Base::CFLString<wchar_t>& strValueMin, const Base::CFLString<wchar_t>& strValueMax);
198
209
220 virtual void GetValue(Base::CFLString<wchar_t>& strMin, Base::CFLString<wchar_t>& strMax) const;
221
232
243
254
265
277 virtual bool SetOrigValueMin(const Base::CFLString<wchar_t>& strValue);
278
290 virtual bool SetOrigValueMax(const Base::CFLString<wchar_t>& strValue);
291
301 virtual void SetDefaultValueMin(const Base::CFLString<wchar_t>& strDefaultValue);
302
312 virtual void SetDefaultValueMax(const Base::CFLString<wchar_t>& strDefaultValue);
313
325 virtual void SetDefaultValue(const Base::CFLString<wchar_t>& strDefaultValueMin, const Base::CFLString<wchar_t>& strDefaultValueMax);
326
337
348
358 virtual void ShowSlider(bool bShow);
359
369 virtual bool IsSliderVisible() const;
370
382 virtual void SetLabel(const Base::CFLString<wchar_t>& strMinLabel, const Base::CFLString<wchar_t>& strMaxLabel);
383
393 virtual void SetMinLabel(const Base::CFLString<wchar_t>& strLabel);
394
404 virtual void SetMaxLabel(const Base::CFLString<wchar_t>& strLabel);
405
416
427
439 virtual void SetLabelRatio(float f32MinRatio = 0.f, float f32MaxRatio = 0.f);
440
450 virtual void SetMinLabelRatio(float f32Ratio = 0.f);
451
461 virtual void SetMaxLabelRatio(float f32Ratio = 0.f);
462
472 virtual float GetMinLabelRatio() const;
473
483 virtual float GetMaxLabelRatio() const;
484
496 virtual const CResult SetHandleSlideTogether(bool bSet = true);
497
508 virtual bool IsHandleSlidingTogether() const;
509
519 virtual void ShowSpinControl(bool bShow = true);
520
530 virtual bool IsSpinControlVisible() const;
531
532 virtual void SetRange(int32_t i32Min, int32_t i32Max) override;
533 virtual void SetRange(uint32_t u32Min, uint32_t u32Max) override;
534 virtual void SetRange(int64_t i64Min, int64_t i64Max) override;
535 virtual void SetRange(uint64_t u64Min, uint64_t u64Max) override;
536 virtual void SetRange(double f64Min, double f64Max) override;
537 virtual void SetRange(double f64Min, double f64Max, double f64Unit) override;
538 virtual void SetRange(double f64Min, double f64Max, double f64Unit, uint8_t u8DecimalPlace) override;
539
540 virtual void Invalidate() override;
541
542 virtual CMFCPropertyGridProperty* CreateGridProperty() override;
543 virtual bool Save(const Base::CFLString<wchar_t>& strFilePath) const override;
544 virtual bool Save(Base::CFLArray<Base::CFLString<wchar_t>>& flaData) const override;
545 virtual bool Load(const Base::CFLString<wchar_t>& strFilePath) override;
546 virtual bool Load(const Base::CFLArray<Base::CFLString<wchar_t>>& flaData) override;
547
548 private:
549 virtual bool SetValue(Base::CFLString<wchar_t> strValue, bool bInvokeCallback = true) override;
550 virtual bool SetBufferValue(Base::CFLString<wchar_t> strValue) override;
551 virtual Base::CFLString<wchar_t> GetValue() const override;
552 virtual Base::CFLString<wchar_t> GetBufferValue() const override;
553 virtual Base::CFLString<wchar_t> GetPrevBufferValue() const override;
554 virtual bool SetOrigValue(const Base::CFLString<wchar_t>& strValue) override;
555 virtual void SetDefaultValue(const Base::CFLString<wchar_t>& strDefaultValue) override;
556 virtual Base::CFLString<wchar_t> GetDefaultValue() const override;
557 virtual bool SetPropertyCallback(CPropertyCallback* pFunc, bool bAutoDestroy = true)override;
558 virtual CPropertyCallback* GetPropertyCallback() const override;
559 virtual void InternalOnAfterSetRange();
560
561 protected:
562 SVariant m_varValueMin;
563 SVariant m_varValueMax;
564
565 Base::CFLString<wchar_t> m_strDefaultValueMin;
566 Base::CFLString<wchar_t> m_strDefaultValueMax;
567
568 Base::CFLString<wchar_t> m_strInitialValueMin;
569 Base::CFLString<wchar_t> m_strInitialValueMax;
570
571 Base::CFLString<wchar_t> m_strBufferValueMin;
572 Base::CFLString<wchar_t> m_strBufferValueMax;
573
574 Base::CFLString<wchar_t> m_strPrevBufferValueMin;
575 Base::CFLString<wchar_t> m_strPrevBufferValueMax;
576
577 Base::CFLString<wchar_t> m_strLabelMin;
578 Base::CFLString<wchar_t> m_strLabelMax;
579
580 bool m_bDrawSlider;
581 bool m_bShowSpinCtrl;
582 bool m_bHandleSlidingTogether;
583 float m_f32LabelMinRatio;
584 float m_f32LabelMaxRatio;
585
586 CPropertyCallback* m_pPropertyCallbackMin;
587 CPropertyCallback* m_pPropertyCallbackMax;
588 bool m_bPropertyCallbackMinAutoDestroy;
589 bool m_bPropertyCallbackMaxAutoDestroy;
590 };
591 }
592}
593
Template type 의 배열 클래스.
Definition FLArray.h:53
Template type 의 문자열 클래스
Definition FLString.h:34
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
CGUIPropertyItemSliderBase(ESliderTemplateType eTemplateType)
CGUIPropertyItemSliderBase 클래스의 생성자입니다.
virtual void ShowSlider(bool bShow)
슬라이더를 표시하는지 여부를 설정합니다.
virtual void SetRange(uint32_t u32Min, uint32_t u32Max) override
슬라이더의 범위를 지정합니다.
virtual void SetRange(double f64Min, double f64Max) override
슬라이더의 범위를 지정합니다.
virtual bool IsSpinControlVisible() const
Spin control 이 현재 표시되고 있는지를 확인합니다.
virtual bool SetPropertyCallbackMin(CPropertyCallback *pFunc, bool bAutoDestroy=true)
Min 값 설정 시 수행되는 콜백 함수를 설정합니다.
virtual bool SetPropertyCallbackMax(CPropertyCallback *pFunc, bool bAutoDestroy=true)
Max 값 설정 시 수행되는 콜백 함수를 설정합니다.
virtual bool SetOrigValueMax(const Base::CFLString< wchar_t > &strValue)
this의 원래 최대 값을 설정합니다.
virtual Base::CFLString< wchar_t > GetValueMin() const
this의 최소 값을 반환합니다.
virtual void Invalidate() override
this에 해당하는 영역을 화면상에서 무효화합니다.
virtual ~CGUIPropertyItemSliderDualHandle()
CGUIPropertyItemSliderDualHandle 클래스의 소멸자입니다.
virtual float GetMinLabelRatio() const
슬라이더의 최소값에 대한 레이블 비율을 반환합니다.
virtual bool SetValue(Base::CFLString< wchar_t > strValueMin, Base::CFLString< wchar_t > strValueMax, bool bInvokeCallback=true)
문자열로부터 슬라이더의 최솟값과 최댓값을 설정합니다.
virtual bool Save(Base::CFLArray< Base::CFLString< wchar_t > > &flaData) const override
INI 데이터 배열에 this의 값을 기록하는 함수
CGUIPropertyItemSliderDualHandle(ESliderTemplateType eTemplateType=ESliderTemplateType_Int32)
CGUIPropertyItemSliderDualHandle 클래스의 생성자입니다.
virtual CPropertyCallback * GetPropertyCallbackMin() const
Min 값 설정 시 수행되는 콜백 함수를 가져옵니다.
virtual void SetMinLabel(const Base::CFLString< wchar_t > &strLabel)
슬라이더의 최소값에 대한 레이블을 설정합니다.
virtual void SetMaxLabelRatio(float f32Ratio=0.f)
슬라이더의 최대값에 대한 레이블 비율을 설정합니다.
virtual void SetMaxLabel(const Base::CFLString< wchar_t > &strLabel)
슬라이더의 최대값에 대한 레이블을 설정합니다.
virtual void SetRange(double f64Min, double f64Max, double f64Unit) override
슬라이더의 범위와 한 칸 당 증감하는 값을 지정합니다.
virtual Base::CFLString< wchar_t > GetMinLabel() const
슬라이더의 최소값에 대한 레이블을 반환합니다.
virtual void SetDefaultValue(const Base::CFLString< wchar_t > &strDefaultValueMin, const Base::CFLString< wchar_t > &strDefaultValueMax)
this의 기본 최대 값을 설정합니다.
virtual Base::CFLString< wchar_t > GetMaxLabel() const
슬라이더의 최대값에 대한 레이블을 반환합니다.
virtual Base::CFLString< wchar_t > GetBufferValueMin() const
this의 최소 버퍼 값을 반환합니다.
virtual bool SetBufferValue(const Base::CFLString< wchar_t > &strValueMin, const Base::CFLString< wchar_t > &strValueMax)
this의 최솟값 및 최댓값 문자열을 설정합니다.
virtual bool Save(const Base::CFLString< wchar_t > &strFilePath) const override
ini 파일에 this의 값을 저장합니다.
virtual void SetLabelRatio(float f32MinRatio=0.f, float f32MaxRatio=0.f)
슬라이더의 최소값과 최대값에 대한 레이블 비율을 설정합니다.
virtual bool Load(const Base::CFLArray< Base::CFLString< wchar_t > > &flaData) override
문자열 배열로부터 this의 값을 로드합니다.
virtual Base::CFLString< wchar_t > GetValueMax() const
this의 최대 값을 반환합니다.
virtual Base::CFLString< wchar_t > GetPrevBufferValueMin() const
this의 이전 최소 버퍼 값을 반환합니다.
virtual bool SetBufferValueMin(const Base::CFLString< wchar_t > &strValue)
this의 최소 버퍼 값을 설정합니다.
virtual bool IsHandleSlidingTogether() const
핸들(thumb) 충돌 시 함께 이동하는지, 멈추는지 여부를 반환하는 함수.
virtual void SetMinLabelRatio(float f32Ratio=0.f)
슬라이더의 최소값에 대한 레이블 비율을 설정합니다.
virtual bool SetValueMin(Base::CFLString< wchar_t > strValue, bool bInvokeCallback=true)
문자열로부터 슬라이더의 최솟값을 설정합니다.
virtual bool IsSliderVisible() const
슬라이더를 표시하는지 여부를 얻어 옵니다.
virtual void SetLabel(const Base::CFLString< wchar_t > &strMinLabel, const Base::CFLString< wchar_t > &strMaxLabel)
슬라이더의 최소값과 최대값에 대한 레이블을 설정합니다.
virtual const CResult SetHandleSlideTogether(bool bSet=true)
핸들(thumb) 충돌 시 멈출 것인지, 함께 이동할 것인지를 설정하는 함수. 예를 들어 min 핸들을 max 핸들 위치까지 이동했을 때 max 핸들을 밀면서 계속 이동하거나,...
virtual bool SetValueMax(Base::CFLString< wchar_t > strValue, bool bInvokeCallback=true)
문자열로부터 슬라이더의 최댓값을 설정합니다.
virtual void SetRange(int64_t i64Min, int64_t i64Max) override
슬라이더의 범위를 지정합니다.
virtual Base::CFLString< wchar_t > GetDefaultValueMax() const
this의 기본 최대 값을 반환합니다.
virtual void SetDefaultValueMin(const Base::CFLString< wchar_t > &strDefaultValue)
this의 기본 최소 값을 설정합니다.
virtual CMFCPropertyGridProperty * CreateGridProperty() override
this와 연결된 새로운 그리드 프로퍼티를 생성하고 반환합니다.
virtual void SetDefaultValueMax(const Base::CFLString< wchar_t > &strDefaultValue)
this의 기본 최대 값을 설정합니다.
virtual void SetRange(double f64Min, double f64Max, double f64Unit, uint8_t u8DecimalPlace) override
슬라이더의 범위와 한 칸 당 증감하는 값, 소수점 표시 자릿수를 지정합니다.
virtual bool Load(const Base::CFLString< wchar_t > &strFilePath) override
ini 파일로부터 this의 값을 로드합니다.
virtual Base::CFLString< wchar_t > GetDefaultValueMin() const
this의 기본 최소 값을 반환합니다.
virtual void ShowSpinControl(bool bShow=true)
Edit control 옆에 위치한 Spin control 의 표시 여부를 설정합니다.
virtual void SetRange(int32_t i32Min, int32_t i32Max) override
슬라이더의 범위를 지정합니다.
virtual float GetMaxLabelRatio() const
슬라이더의 최대값에 대한 레이블 비율을 반환합니다.
virtual CPropertyCallback * GetPropertyCallbackMax() const
Max 값 설정 시 수행되는 콜백 함수를 가져옵니다.
virtual void SetRange(uint64_t u64Min, uint64_t u64Max) override
슬라이더의 범위를 지정합니다.
virtual bool SetOrigValueMin(const Base::CFLString< wchar_t > &strValue)
this의 원래 최소 값을 설정합니다.
virtual bool SetBufferValueMax(const Base::CFLString< wchar_t > &strValue)
this의 최대 버퍼 값을 설정합니다.
virtual Base::CFLString< wchar_t > GetBufferValueMax() const
this의 최대 버퍼 값을 반환합니다.
virtual Base::CFLString< wchar_t > GetPrevBufferValueMax() const
this의 이전 최대 버퍼 값을 반환합니다.
Definition D2DObject.h:12
ESliderTemplateType
슬라이더 자료형
Definition GUIDefinitions.h:10205
@ ESliderTemplateType_Int32
Definition GUIDefinitions.h:10210