1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-10 18:10:56 +09:00

LibGUI: Convert GSlider to ObjectPtr

This commit is contained in:
Andreas Kling 2019-09-21 16:33:53 +02:00
parent a50cfc5f1f
commit 7aaad27778
Notes: sideshowbarker 2024-07-19 12:01:48 +09:00
4 changed files with 11 additions and 9 deletions

View file

@ -121,7 +121,7 @@ GWindow* create_settings_window(TerminalWidget& terminal, RefPtr<CConfigFile> co
slider_container->set_fill_with_background_color(true);
slider_container->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
slider_container->set_preferred_size(100, 50);
auto* slider = new GSlider(Orientation::Horizontal, slider_container);
auto slider = GSlider::construct(Orientation::Horizontal, slider_container);
slider->set_fill_with_background_color(true);
slider->set_background_color(Color::WarmGray);

View file

@ -70,19 +70,19 @@ int main(int argc, char** argv)
vertical_slider_container->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
vertical_slider_container->set_preferred_size(0, 100);
vertical_slider_container->set_layout(make<GBoxLayout>(Orientation::Horizontal));
auto* vslider1 = new GSlider(Orientation::Vertical, vertical_slider_container);
auto vslider1 = GSlider::construct(Orientation::Vertical, vertical_slider_container);
(void)vslider1;
auto* vslider2 = new GSlider(Orientation::Vertical, vertical_slider_container);
auto vslider2 = GSlider::construct(Orientation::Vertical, vertical_slider_container);
vslider2->set_enabled(false);
auto* vslider3 = new GSlider(Orientation::Vertical, vertical_slider_container);
auto vslider3 = GSlider::construct(Orientation::Vertical, vertical_slider_container);
vslider3->set_max(5);
vslider3->set_knob_size_mode(GSlider::KnobSizeMode::Proportional);
auto* slider1 = new GSlider(Orientation::Horizontal, main_widget);
auto slider1 = GSlider::construct(Orientation::Horizontal, main_widget);
(void)slider1;
auto* slider2 = new GSlider(Orientation::Horizontal, main_widget);
auto slider2 = GSlider::construct(Orientation::Horizontal, main_widget);
slider2->set_enabled(false);
auto* slider3 = new GSlider(Orientation::Horizontal, main_widget);
auto slider3 = GSlider::construct(Orientation::Horizontal, main_widget);
slider3->set_max(5);
slider3->set_knob_size_mode(GSlider::KnobSizeMode::Proportional);

View file

@ -107,7 +107,7 @@ static GWidget* build_gwidget(VBWidgetType type, GWidget* parent)
return bar;
}
case VBWidgetType::GSlider: {
auto* slider = new GSlider(Orientation::Horizontal, parent);
auto slider = GSlider::construct(Orientation::Horizontal, parent);
slider->set_range(0, 100);
slider->set_value(50);
return slider;

View file

@ -3,13 +3,13 @@
#include <LibGUI/GWidget.h>
class GSlider : public GWidget {
C_OBJECT(GSlider)
public:
enum class KnobSizeMode {
Fixed,
Proportional,
};
GSlider(Orientation, GWidget*);
virtual ~GSlider() override;
Orientation orientation() const { return m_orientation; }
@ -43,6 +43,8 @@ public:
Function<void(int)> on_value_changed;
protected:
GSlider(Orientation, GWidget*);
virtual void paint_event(GPaintEvent&) override;
virtual void mousedown_event(GMouseEvent&) override;
virtual void mousemove_event(GMouseEvent&) override;