CDriveDropDown



Implements DriveDropDown control.

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

class CDriveDropDown :public virtual IDriveDropDown, public CControl
{
public:
    void(*OnSelect)(IControl *sender, const int index); // Event called when drive selected 

    // IControl methods 
    void Refresh(const bool refresh_children) override;

    IControl *getControl(const PointF &position) override;
    RectF getClientRect() override;
    RectF getRenderRect() override;
    CURSOR_TYPE getCursor() override;
    int getDriveCount() override;
    String getDrive(const int index) override;
    int getSelectedDriveIndex() override;
    String getSelectedDrive() override;
    IDirectoryTree *getDirectoryTree() override;

    bool setDPI(const Point &value) override;
    bool setSelectedDriveIndex(const int value) override;
    bool setSelectedDrive(const String &value) override;
    bool setDirectoryTree(IDirectoryTree *value) override;

    bool Rescan() override;

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

    CBuiltInDropDown::STATE getState(); // Return state of control 
    bool isOpened(); // Return whether is opened 
    // Layout getters 
    CBuiltInDropDown::OPEN_DIRECTION getOpenDirection();
    CBuiltInDropDown::ARROW_AREA getArrowArea();
    float getListWidth();
    float getListMaxHeight();
    float getArrowAreaSize();
    float getArrowSize();
    RectF getBorderWidth();
    RectF getBorderRadius();
    RectF getPadding();
    RectF getArrowBorderWidth();
    RectF getArrowBorderRadius();
    RectF getListBorderWidth();
    RectF getListBorderRadius();
    RectF getListPadding();
    Color getShadowColor(const CBuiltInDropDown::STATE state);
    PointF getShadowShift(const CBuiltInDropDown::STATE state);
    int getShadowRadius(const CBuiltInDropDown::STATE state);
    RectC getBorderColor(const CBuiltInDropDown::STATE state);
    Color getBackgroundColor(const CBuiltInDropDown::STATE state);
    Gradient *getBackgroundGradient(const CBuiltInDropDown::STATE state);
    RectC getArrowBorderColor(const CBuiltInDropDown::STATE state);
    Color getArrowBackgroundColor(const CBuiltInDropDown::STATE state);
    Gradient *getArrowBackgroundGradient(const CBuiltInDropDown::STATE state);
    Color getArrowColor(const CBuiltInDropDown::STATE state);
    RectC getListBorderColor();
    Color getListBackgroundColor();
    Gradient *getListBackgroundGradient();
    Color getListShadowColor();
    PointF getListShadowShift();
    int getListShadowRadius();

    bool setDropDown(IBuiltInDropDown *value); // Assign another built-in dropdown 
    // Set layout properties 
    bool setOpenDirection(const CBuiltInDropDown::OPEN_DIRECTION value);
    bool setListWidth(const float value);
    bool setListMaxHeight(const float value);
    bool setArrowArea(const CBuiltInDropDown::ARROW_AREA value);
    bool setArrowAreaSize(const float value);
    bool setArrowSize(const float value);
    bool setBorderWidth(const RectF &value);
    bool setBorderRadius(const RectF &value);
    bool setPadding(const RectF &value);
    bool setArrowBorderWidth(const RectF &value);
    bool setArrowBorderRadius(const RectF &value);
    bool setListBorderWidth(const RectF &value);
    bool setListBorderRadius(const RectF &value);
    bool setListPadding(const RectF &value);
    bool setShadowColor(const CBuiltInDropDown::STATE state, const Color &value);
    bool setShadowShift(const CBuiltInDropDown::STATE state, const PointF &value);
    bool setShadowRadius(const CBuiltInDropDown::STATE state, const int value);
    bool setBorderColor(const CBuiltInDropDown::STATE state, const RectC &value);
    bool setLeftBorderColor(const CBuiltInDropDown::STATE state, const Color &value);
    bool setTopBorderColor(const CBuiltInDropDown::STATE state, const Color &value);
    bool setRightBorderColor(const CBuiltInDropDown::STATE state, const Color &value);
    bool setBottomBorderColor(const CBuiltInDropDown::STATE state, const Color &value);
    bool setBackgroundColor(const CBuiltInDropDown::STATE state, const Color &value);
    bool setArrowBorderColor(const CBuiltInDropDown::STATE state, const RectC &value);
    bool setArrowLeftBorderColor(const CBuiltInDropDown::STATE state, const Color &value);
    bool setArrowTopBorderColor(const CBuiltInDropDown::STATE state, const Color &value);
    bool setArrowRightBorderColor(const CBuiltInDropDown::STATE state, const Color &value);
    bool setArrowBottomBorderColor(const CBuiltInDropDown::STATE state, const Color &value);
    bool setArrowBackgroundColor(const CBuiltInDropDown::STATE state, const Color &value);
    bool setArrowColor(const CBuiltInDropDown::STATE state, const Color &value);
    bool setListBorderColor(const RectC &value);
    bool setListLeftBorderColor(const Color &value);
    bool setListTopBorderColor(const Color &value);
    bool setListRightBorderColor(const Color &value);
    bool setListBottomBorderColor(const Color &value);
    bool setListBackgroundColor(const Color &value);
    bool setListShadowColor(const Color &value);
    bool setListShadowShift(const PointF &value);
    bool setListShadowRadius(const int value);

    bool Open(); // Open list 
    bool Close(); // Close list 
};
Namespace: nitisa::standard
Include: Standard/Controls/DriveDropDown/DriveDropDown.h