Browse Source

LibGUI: Use ControlBoxButtons in SpinBox and ComboBox

Converts the buttons of these widgets into ControlBoxButtons.
thankyouverycool 5 years ago
parent
commit
c90fe7ce93

+ 2 - 3
Libraries/LibGUI/ComboBox.cpp

@@ -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();

+ 2 - 1
Libraries/LibGUI/ComboBox.h

@@ -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 };

+ 4 - 5
Libraries/LibGUI/SpinBox.cpp

@@ -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);
 }
 }

+ 4 - 2
Libraries/LibGUI/SpinBox.h

@@ -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<Button> m_decrement_button;
+    RefPtr<ControlBoxButton> m_increment_button;
+    RefPtr<ControlBoxButton> m_decrement_button;
 
 
     int m_min { 0 };
     int m_min { 0 };
     int m_max { 100 };
     int m_max { 100 };