1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-19 04:05:07 +00:00

LibGUI: Use ControlBoxButtons in SpinBox and ComboBox

Converts the buttons of these widgets into ControlBoxButtons.
This commit is contained in:
thankyouverycool 2020-07-19 10:23:12 -04:00 committed by Andreas Kling
parent bf59cd7ca5
commit c90fe7ce93
4 changed files with 12 additions and 11 deletions

View file

@ -24,8 +24,8 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#include <LibGUI/Button.h>
#include <LibGUI/ComboBox.h> #include <LibGUI/ComboBox.h>
#include <LibGUI/ControlBoxButton.h>
#include <LibGUI/Desktop.h> #include <LibGUI/Desktop.h>
#include <LibGUI/ListView.h> #include <LibGUI/ListView.h>
#include <LibGUI/Model.h> #include <LibGUI/Model.h>
@ -89,9 +89,8 @@ ComboBox::ComboBox()
m_open_button->click(); m_open_button->click();
}; };
m_open_button = add<Button>(); m_open_button = add<ControlBoxButton>(ControlBoxButton::DownArrow);
m_open_button->set_focusable(false); m_open_button->set_focusable(false);
m_open_button->set_text("\xE2\xAC\x87"); // DOWNWARDS BLACK ARROW
m_open_button->on_click = [this](auto) { m_open_button->on_click = [this](auto) {
if (m_list_window->is_visible()) if (m_list_window->is_visible())
close(); close();

View file

@ -31,6 +31,7 @@
namespace GUI { namespace GUI {
class ComboBoxEditor; class ComboBoxEditor;
class ControlBoxButton;
class ComboBox : public Widget { class ComboBox : public Widget {
C_OBJECT(ComboBox) C_OBJECT(ComboBox)
@ -65,7 +66,7 @@ protected:
private: private:
RefPtr<ComboBoxEditor> m_editor; RefPtr<ComboBoxEditor> m_editor;
RefPtr<Button> m_open_button; RefPtr<ControlBoxButton> m_open_button;
RefPtr<Window> m_list_window; RefPtr<Window> m_list_window;
RefPtr<ListView> m_list_view; RefPtr<ListView> m_list_view;
bool m_only_allow_values_from_model { false }; bool m_only_allow_values_from_model { false };

View file

@ -24,7 +24,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#include <LibGUI/Button.h> #include <LibGUI/ControlBoxButton.h>
#include <LibGUI/SpinBox.h> #include <LibGUI/SpinBox.h>
#include <LibGUI/TextBox.h> #include <LibGUI/TextBox.h>
@ -41,14 +41,13 @@ SpinBox::SpinBox()
else else
m_editor->set_text(String::number(m_value)); m_editor->set_text(String::number(m_value));
}; };
m_increment_button = add<Button>();
m_increment_button = add<ControlBoxButton>(ControlBoxButton::UpArrow);
m_increment_button->set_focusable(false); m_increment_button->set_focusable(false);
m_increment_button->set_text("\xE2\xAC\x86"); // UPWARDS BLACK ARROW
m_increment_button->on_click = [this](auto) { set_value(m_value + 1); }; m_increment_button->on_click = [this](auto) { set_value(m_value + 1); };
m_increment_button->set_auto_repeat_interval(150); m_increment_button->set_auto_repeat_interval(150);
m_decrement_button = add<Button>(); m_decrement_button = add<ControlBoxButton>(ControlBoxButton::DownArrow);
m_decrement_button->set_focusable(false); m_decrement_button->set_focusable(false);
m_decrement_button->set_text("\xE2\xAC\x87"); // DOWNWARDS BLACK ARROW
m_decrement_button->on_click = [this](auto) { set_value(m_value - 1); }; m_decrement_button->on_click = [this](auto) { set_value(m_value - 1); };
m_decrement_button->set_auto_repeat_interval(150); m_decrement_button->set_auto_repeat_interval(150);
} }

View file

@ -30,6 +30,8 @@
namespace GUI { namespace GUI {
class ControlBoxButton;
class SpinBox : public Widget { class SpinBox : public Widget {
C_OBJECT(SpinBox) C_OBJECT(SpinBox)
public: public:
@ -55,8 +57,8 @@ protected:
private: private:
RefPtr<TextEditor> m_editor; RefPtr<TextEditor> m_editor;
RefPtr<Button> m_increment_button; RefPtr<ControlBoxButton> m_increment_button;
RefPtr<Button> m_decrement_button; RefPtr<ControlBoxButton> m_decrement_button;
int m_min { 0 }; int m_min { 0 };
int m_max { 100 }; int m_max { 100 };