// XABPriorityCtrl.h - XABPriorityCtrl widget header // // (c) 2017 Xestia Software Development. // // This file is part of Xestia Address Book. // // Xestia Address Book is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by the // Free Software Foundation, version 3 of the license. // // Xestia Address Book is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with Xestia Address Book. If not, see #ifndef __WIDGETS_XABPRIORITYCTRL_H__ #define __WIDGETS_XABPRIORITYCTRL_H__ #include class XABPriorityCtrl : public wxPanel { private: wxWindow *parentControl = nullptr; wxFlexGridSizer *mainSizer = nullptr; wxFlexGridSizer *sliderSizer = nullptr; wxBoxSizer *sliderLabelSizer = nullptr; wxCheckBox *chkPriority = nullptr; wxTextCtrl *txtPriority = nullptr; wxSlider *sliPriority = nullptr; wxStaticText *lowLabel = nullptr; wxStaticText *highLabel = nullptr; protected: void UpdateTextValue(); void UpdateSlider(int value); void SliderEvent(wxCommandEvent &event); void TextEvent(wxCommandEvent &event); void EnableControls(wxCommandEvent &event); public: XABPriorityCtrl(wxWindow *parent); ~XABPriorityCtrl(); void EnablePriority(bool enable); bool IsPriorityChecked(); int GetValue(); void SetValue(int value); }; #endif