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:
parent
a50cfc5f1f
commit
7aaad27778
Notes:
sideshowbarker
2024-07-19 12:01:48 +09:00
Author: https://github.com/awesomekling
Commit: 7aaad27778
4 changed files with 11 additions and 9 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue