Implements UpDownEx control.
You can find more information in comments below. Overrided methods can be found in corresponding base classes and interfaces.
class CUpDownEx :public virtual IUpDownEx, public CControl
{
public:
enum class State // Control and arrows states
{
Normal, // Normal
Hovered, // Hovered
Active, // Mouse button was down over arrow and not released yet
Disabled // Control is disabled
};
public:
// IControl methods
void Refresh(const bool refresh_children) override;
float getMin() override;
float getMax() override;
float getValue() override;
float getStep() override;
IEdit *getAssignedTo() override;
bool setDPI(const Point &value) override;
bool setAlign(const Align value) override;
bool setMin(const float value) override;
bool setMax(const float value) override;
bool setValue(const float value) override;
bool setStep(const float value) override;
bool setAssignedTo(IEdit *value) override;
bool Up() override;
bool Down() override;
CUpDownEx(); // Constructor
CUpDownEx(IForm *parent); // Create and place on form
CUpDownEx(IControl *parent); // Create and place on another control
State getState(); // Return current state
int getSigns(); // Return displayable count of digits after point
float getTimerInterval(); // Return value change interval when holding mouse button down over up or down arrow
float getDistance(const State state); // Return distance between up and down arrows
// Up arrow style getters
RectF getUpArrowOuterBorderWidth(const State state);
BorderColor getUpArrowOuterBorderColor(const State state);
RectF getUpArrowMiddleBorderWidth(const State state);
BorderColor getUpArrowMiddleBorderColor(const State state);
RectF getUpArrowInnerBorderWidth(const State state);
BorderColor getUpArrowInnerBorderColor(const State state);
Color getUpArrowBackgroundColor(const State state);
Gradient *getUpArrowBackgroundGradient(const State state);
RectF getUpArrowPadding(const State state);
Color getUpArrowArrowColor(const State state);
// Down arrow style getters
RectF getDownArrowOuterBorderWidth(const State state);
BorderColor getDownArrowOuterBorderColor(const State state);
RectF getDownArrowMiddleBorderWidth(const State state);
BorderColor getDownArrowMiddleBorderColor(const State state);
RectF getDownArrowInnerBorderWidth(const State state);
BorderColor getDownArrowInnerBorderColor(const State state);
Color getDownArrowBackgroundColor(const State state);
Gradient *getDownArrowBackgroundGradient(const State state);
RectF getDownArrowPadding(const State state);
Color getDownArrowArrowColor(const State state);
// Change by drag getters
bool isChangeByDrag() const;
float getDragShift() const;
float getDragScale() const;
float getDragBase() const;
float getDragBaseShift() const;
float getDragBaseScale() const;
bool setSigns(const int value); // Set displayable count of digits after point. Should be in range 0..9
bool setTimerInterval(const float value); // Set value change interval when holding mouse button down over up or down arrow
bool setDistance(const State state, const float value); // Set distance between up and down arrows
// Up arrow style setters
bool setUpArrowOuterBorderWidth(const State state, const RectF &value);
bool setUpArrowOuterBorderColor(const State state, const BorderColor &value);
bool setUpArrowMiddleBorderWidth(const State state, const RectF &value);
bool setUpArrowMiddleBorderColor(const State state, const BorderColor &value);
bool setUpArrowInnerBorderWidth(const State state, const RectF &value);
bool setUpArrowInnerBorderColor(const State state, const BorderColor &value);
bool setUpArrowBackgroundColor(const State state, const Color &value);
bool setUpArrowPadding(const State state, const RectF &value);
bool setUpArrowArrowColor(const State state, const Color &value);
// Down arrow style setters
bool setDownArrowOuterBorderWidth(const State state, const RectF &value);
bool setDownArrowOuterBorderColor(const State state, const BorderColor &value);
bool setDownArrowMiddleBorderWidth(const State state, const RectF &value);
bool setDownArrowMiddleBorderColor(const State state, const BorderColor &value);
bool setDownArrowInnerBorderWidth(const State state, const RectF &value);
bool setDownArrowInnerBorderColor(const State state, const BorderColor &value);
bool setDownArrowBackgroundColor(const State state, const Color &value);
bool setDownArrowPadding(const State state, const RectF &value);
bool setDownArrowArrowColor(const State state, const Color &value);
// Change by drag setters
bool setChangeByDrag(const bool value);
bool setDragShift(const float value, const float tolerance = ntl::Tolerance<float>);
bool setDragScale(const float value, const float tolerance = ntl::Tolerance<float>);
bool setDragBase(const float value, const float tolerance = ntl::Tolerance<float>);
bool setDragBaseShift(const float value, const float tolerance = ntl::Tolerance<float>);
bool setDragBaseScale(const float value, const float tolerance = ntl::Tolerance<float>);
};
Namespace: | nitisa::standard |
Include: | Standard/Controls/UpDownEx/UpDownEx.h |