CEdit



Implements Edit control.

You can find more information in comments below. Overrided methods can be found in corresponding base classes and interfaces.

class CEdit :public virtual IEdit, public CControl
{
public:
    void(*OnChange)(IControl *sender); // Event called when text changed 

    CEdit();
    CEdit(IControl *parent);
    CEdit(IForm *parent);
    ~CEdit() override;

    // IControl getters 
    RectF getClientRect() override;
    RectF getRenderRect() override;
    CursorType getCursor() override;

    bool setDPI(const Point &value) override;

    // IControl methods 
    void Refresh(const bool refresh_children) override;
    
    // IEdit getters 
    String getText() override;
    // ITextInput getters 
    String getSelectedText();
    Point getSelection();
    int getCaretPosition();
    float getScroll();
    int getMaxLength();
    int getUndoLimitCount();
    int getUndoLimitSize();
    bool canUndo();
    bool canRedo();
    TextAlign getTextAlign();
    CBuiltInTextInput::State getState();
    // CTextInput getters(works only if assocciated ITextInput is instance of CTextInput) 
    String getPlaceholder();
    bool isReadOnly();
    bool isReplacing();
    float getScrollInterval();
    Color getTextColor(const CBuiltInTextInput::State state);
    Color getPlaceholderColor(const CBuiltInTextInput::State state);
    Color getTextShadowColor(const CBuiltInTextInput::State state);
    Color getSelectionBackgroundColor(const CBuiltInTextInput::State state);
    Color getSelectionTextColor(const CBuiltInTextInput::State state);
    Color getSelectionTextShadowColor(const CBuiltInTextInput::State state);
    PointF getTextShadowShift(const CBuiltInTextInput::State state);
    int getTextShadowRadius(const CBuiltInTextInput::State state);
    bool isCopyByMouseEnabled();
    bool isMoveByMouseEnabled();
    bool isSelectWordByDoubleClickEnabled();
    bool isKeyLeftEnabled();
    bool isKeyRightEnabled();
    bool isKeyHomeEnabled();
    bool isKeyEndEnabled();
    bool isKeyDeleteEnabled();
    bool isKeyBackspaceEnabled();
    bool isSelectAllByKeyEnabled();
    bool isPasteByKeyEnabled();
    bool isCopyByKeyEnabled();
    bool isCutByKeyEnabled();
    bool isHistoryByKeyEnabled();
    bool isInsertReplaceChangeByKeyEnabled();
    // Return layout properties 
    RectF getBorderWidth() const;
    float getLeftBorderWidth() const;
    float getTopBorderWidth() const;
    float getRightBorderWidth() const;
    float getBottomBorderWidth() const;
    RectF getBorderRadius() const;
    float getLeftBorderRadius() const;
    float getTopBorderRadius() const;
    float getRightBorderRadius() const;
    float getBottomBorderRadius() const;
    RectF getPadding() const;
    float getLeftPadding() const;
    float getTopPadding() const;
    float getRightPadding() const;
    float getBottomPadding() const;
    BorderColor getBorderColor(const CBuiltInTextInput::State state) const;
    Color getLeftBorderColor(const CBuiltInTextInput::State state) const;
    Color getTopBorderColor(const CBuiltInTextInput::State state) const;
    Color getRightBorderColor(const CBuiltInTextInput::State state) const;
    Color getBottomBorderColor(const CBuiltInTextInput::State state) const;
    Color getBackgroundColor(const CBuiltInTextInput::State state) const;
    Gradient *getBackgroundGradient(const CBuiltInTextInput::State state);
    int getShadowRadius(const CBuiltInTextInput::State state) const;
    PointF getShadowShift(const CBuiltInTextInput::State state) const;
    Color getShadowColor(const CBuiltInTextInput::State state) const;

    // IEdit setters 
    bool setText(const String &value) override;
    // ITextInput setters 
    bool setSelection(const Point &value);
    bool setCaretPosition(const int value);
    bool setScroll(const float value);
    bool setMaxLength(const int value);
    bool setUndoLimitCount(const int value);
    bool setUndoLimitSize(const int value);
    bool setTextAlign(const TextAlign value);
    // CTextInput setters(works only if assocciated ITextInput is instance of CTextInput) 
    bool setPlaceholder(const String &value);
    bool setReadOnly(const bool value);
    bool setReplacing(const bool value);
    bool setScrollInterval(const float value);
    bool setTextColor(const CBuiltInTextInput::State state, const Color &value);
    bool setPlaceholderColor(const CBuiltInTextInput::State state, const Color &value);
    bool setTextShadowColor(const CBuiltInTextInput::State state, const Color &value);
    bool setSelectionBackgroundColor(const CBuiltInTextInput::State state, const Color &value);
    bool setSelectionTextColor(const CBuiltInTextInput::State state, const Color &value);
    bool setSelectionTextShadowColor(const CBuiltInTextInput::State state, const Color &value);
    bool setTextShadowShift(const CBuiltInTextInput::State state, const PointF &value);
    bool setTextShadowRadius(const CBuiltInTextInput::State state, const int value);
    bool setCopyByMouseEnabled(const bool value);
    bool setMoveByMouseEnabled(const bool value);
    bool setSelectWordByDoubleClickEnabled(const bool value);
    bool setKeyLeftEnabled(const bool value);
    bool setKeyRightEnabled(const bool value);
    bool setKeyHomeEnabled(const bool value);
    bool setKeyEndEnabled(const bool value);
    bool setKeyDeleteEnabled(const bool value);
    bool setKeyBackspaceEnabled(const bool value);
    bool setSelectAllByKeyEnabled(const bool value);
    bool setPasteByKeyEnabled(const bool value);
    bool setCopyByKeyEnabled(const bool value);
    bool setCutByKeyEnabled(const bool value);
    bool setHistoryByKeyEnabled(const bool value);
    bool setInsertReplaceChangeByKeyEnabled(const bool value);
    // Set layout properties 
    bool setTextInput(IBuiltInTextInput *value);
    bool setBorderWidth(const RectF &value);
    bool setLeftBorderWidth(const float value);
    bool setTopBorderWidth(const float value);
    bool setRightBorderWidth(const float value);
    bool setBottomBorderWidth(const float value);
    bool setBorderRadius(const RectF &value);
    bool setLeftBorderRadius(const float value);
    bool setTopBorderRadius(const float value);
    bool setRightBorderRadius(const float value);
    bool setBottomBorderRadius(const float value);
    bool setPadding(const RectF &value);
    bool setLeftPadding(const float value);
    bool setTopPadding(const float value);
    bool setRightPadding(const float value);
    bool setBottomPadding(const float value);
    bool setBorderColor(const CBuiltInTextInput::State state, const BorderColor &value);
    bool setLeftBorderColor(const CBuiltInTextInput::State state, const Color &value);
    bool setTopBorderColor(const CBuiltInTextInput::State state, const Color &value);
    bool setRightBorderColor(const CBuiltInTextInput::State state, const Color &value);
    bool setBottomBorderColor(const CBuiltInTextInput::State state, const Color &value);
    bool setBackgroundColor(const CBuiltInTextInput::State state, const Color &value);
    bool setShadowRadius(const CBuiltInTextInput::State state, const int value);
    bool setShadowShift(const CBuiltInTextInput::State state, const PointF &value);
    bool setShadowColor(const CBuiltInTextInput::State state, const Color &value);

    // ITextInput actions 
    bool DeleteSelection();
    bool DeleteCharBeforeCaret();
    bool DeleteCharAfterCaret();
    bool DeleteWordBeforeCaret();
    bool DeleteWordAfterCaret();
    bool DeleteAllBeforeCaret();
    bool DeleteAllAfterCaret();
    bool MoveCaretLeft(const bool select);
    bool MoveCaretRight(const bool select);
    bool MoveCaretWordLeft(const bool select);
    bool MoveCaretWordRight(const bool select);
    bool MoveCaretStart(const bool select);
    bool MoveCaretEnd(const bool select);
    bool Undo();
    bool Redo();
    bool Insert(const wchar_t chr);
    bool Insert(const String &str);
    bool Replace(const wchar_t chr);
    bool Replace(const String &str);
    bool MoveSelection(const int dst_caret_pos);
    bool CopySelection(const int dst_caret_pos);
    bool Copy();
    bool Cut();
    bool Paste();
    bool SelectAll();
    bool DeselectAll();
};
Namespace: nitisa::standard
Include: Standard/Controls/Edit/Edit.h