mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:07:47 +00:00
LibGUI: Convert GSlider to ObjectPtr
This commit is contained in:
parent
a50cfc5f1f
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_fill_with_background_color(true);
|
||||||
slider_container->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
|
slider_container->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
|
||||||
slider_container->set_preferred_size(100, 50);
|
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_fill_with_background_color(true);
|
||||||
slider->set_background_color(Color::WarmGray);
|
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_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
|
||||||
vertical_slider_container->set_preferred_size(0, 100);
|
vertical_slider_container->set_preferred_size(0, 100);
|
||||||
vertical_slider_container->set_layout(make<GBoxLayout>(Orientation::Horizontal));
|
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;
|
(void)vslider1;
|
||||||
auto* vslider2 = new GSlider(Orientation::Vertical, vertical_slider_container);
|
auto vslider2 = GSlider::construct(Orientation::Vertical, vertical_slider_container);
|
||||||
vslider2->set_enabled(false);
|
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_max(5);
|
||||||
vslider3->set_knob_size_mode(GSlider::KnobSizeMode::Proportional);
|
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;
|
(void)slider1;
|
||||||
auto* slider2 = new GSlider(Orientation::Horizontal, main_widget);
|
auto slider2 = GSlider::construct(Orientation::Horizontal, main_widget);
|
||||||
slider2->set_enabled(false);
|
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_max(5);
|
||||||
slider3->set_knob_size_mode(GSlider::KnobSizeMode::Proportional);
|
slider3->set_knob_size_mode(GSlider::KnobSizeMode::Proportional);
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,7 @@ static GWidget* build_gwidget(VBWidgetType type, GWidget* parent)
|
||||||
return bar;
|
return bar;
|
||||||
}
|
}
|
||||||
case VBWidgetType::GSlider: {
|
case VBWidgetType::GSlider: {
|
||||||
auto* slider = new GSlider(Orientation::Horizontal, parent);
|
auto slider = GSlider::construct(Orientation::Horizontal, parent);
|
||||||
slider->set_range(0, 100);
|
slider->set_range(0, 100);
|
||||||
slider->set_value(50);
|
slider->set_value(50);
|
||||||
return slider;
|
return slider;
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
#include <LibGUI/GWidget.h>
|
#include <LibGUI/GWidget.h>
|
||||||
|
|
||||||
class GSlider : public GWidget {
|
class GSlider : public GWidget {
|
||||||
|
C_OBJECT(GSlider)
|
||||||
public:
|
public:
|
||||||
enum class KnobSizeMode {
|
enum class KnobSizeMode {
|
||||||
Fixed,
|
Fixed,
|
||||||
Proportional,
|
Proportional,
|
||||||
};
|
};
|
||||||
|
|
||||||
GSlider(Orientation, GWidget*);
|
|
||||||
virtual ~GSlider() override;
|
virtual ~GSlider() override;
|
||||||
|
|
||||||
Orientation orientation() const { return m_orientation; }
|
Orientation orientation() const { return m_orientation; }
|
||||||
|
@ -43,6 +43,8 @@ public:
|
||||||
Function<void(int)> on_value_changed;
|
Function<void(int)> on_value_changed;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
GSlider(Orientation, GWidget*);
|
||||||
|
|
||||||
virtual void paint_event(GPaintEvent&) override;
|
virtual void paint_event(GPaintEvent&) override;
|
||||||
virtual void mousedown_event(GMouseEvent&) override;
|
virtual void mousedown_event(GMouseEvent&) override;
|
||||||
virtual void mousemove_event(GMouseEvent&) override;
|
virtual void mousemove_event(GMouseEvent&) override;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue