diff options
Diffstat (limited to 'scene/gui/link_button.cpp')
-rw-r--r-- | scene/gui/link_button.cpp | 73 |
1 files changed, 32 insertions, 41 deletions
diff --git a/scene/gui/link_button.cpp b/scene/gui/link_button.cpp index 7ea88f35f3..17e549c902 100644 --- a/scene/gui/link_button.cpp +++ b/scene/gui/link_button.cpp @@ -28,10 +28,9 @@ /*************************************************************************/ #include "link_button.h" +void LinkButton::set_text(const String &p_text) { -void LinkButton::set_text(const String& p_text) { - - text=p_text; + text = p_text; update(); minimum_size_changed(); } @@ -42,7 +41,7 @@ String LinkButton::get_text() const { void LinkButton::set_underline_mode(UnderlineMode p_underline_mode) { - underline_mode=p_underline_mode; + underline_mode = p_underline_mode; update(); } @@ -51,55 +50,51 @@ LinkButton::UnderlineMode LinkButton::get_underline_mode() const { return underline_mode; } - Size2 LinkButton::get_minimum_size() const { - return get_font("font")->get_string_size( text ); + return get_font("font")->get_string_size(text); } - - void LinkButton::_notification(int p_what) { - switch( p_what ) { + switch (p_what) { case NOTIFICATION_DRAW: { - RID ci = get_canvas_item(); - Size2 size=get_size(); + Size2 size = get_size(); Color color; - bool do_underline=false; + bool do_underline = false; //print_line(get_text()+": "+itos(is_flat())+" hover "+itos(get_draw_mode())); - switch( get_draw_mode() ) { + switch (get_draw_mode()) { case DRAW_NORMAL: { - color=get_color("font_color"); - do_underline=underline_mode==UNDERLINE_MODE_ALWAYS; + color = get_color("font_color"); + do_underline = underline_mode == UNDERLINE_MODE_ALWAYS; } break; case DRAW_PRESSED: { if (has_color("font_color_pressed")) - color=get_color("font_color_pressed"); + color = get_color("font_color_pressed"); else - color=get_color("font_color"); + color = get_color("font_color"); - do_underline=underline_mode!=UNDERLINE_MODE_NEVER; + do_underline = underline_mode != UNDERLINE_MODE_NEVER; } break; case DRAW_HOVER: { - color=get_color("font_color_hover"); - do_underline=underline_mode!=UNDERLINE_MODE_NEVER; + color = get_color("font_color_hover"); + do_underline = underline_mode != UNDERLINE_MODE_NEVER; } break; case DRAW_DISABLED: { - color=get_color("font_color_disabled"); - do_underline=underline_mode==UNDERLINE_MODE_ALWAYS; + color = get_color("font_color_disabled"); + do_underline = underline_mode == UNDERLINE_MODE_ALWAYS; } break; } @@ -107,21 +102,19 @@ void LinkButton::_notification(int p_what) { if (has_focus()) { Ref<StyleBox> style = get_stylebox("focus"); - style->draw(ci,Rect2(Point2(),size)); + style->draw(ci, Rect2(Point2(), size)); } - Ref<Font> font=get_font("font"); - - draw_string(font,Vector2(0,font->get_ascent()),text,color); - + Ref<Font> font = get_font("font"); + draw_string(font, Vector2(0, font->get_ascent()), text, color); if (do_underline) { int underline_spacing = get_constant("underline_spacing"); int width = font->get_string_size(text).width; - int y = font->get_ascent()+underline_spacing; + int y = font->get_ascent() + underline_spacing; - draw_line(Vector2(0,y),Vector2(width,y),color); + draw_line(Vector2(0, y), Vector2(width, y), color); } } break; @@ -130,24 +123,22 @@ void LinkButton::_notification(int p_what) { void LinkButton::_bind_methods() { - ClassDB::bind_method(D_METHOD("set_text","text"),&LinkButton::set_text); - ClassDB::bind_method(D_METHOD("get_text"),&LinkButton::get_text); - - ClassDB::bind_method(D_METHOD("set_underline_mode","underline_mode"),&LinkButton::set_underline_mode); - ClassDB::bind_method(D_METHOD("get_underline_mode"),&LinkButton::get_underline_mode); - + ClassDB::bind_method(D_METHOD("set_text", "text"), &LinkButton::set_text); + ClassDB::bind_method(D_METHOD("get_text"), &LinkButton::get_text); - BIND_CONSTANT( UNDERLINE_MODE_ALWAYS ); - BIND_CONSTANT( UNDERLINE_MODE_ON_HOVER ); - BIND_CONSTANT( UNDERLINE_MODE_NEVER ); + ClassDB::bind_method(D_METHOD("set_underline_mode", "underline_mode"), &LinkButton::set_underline_mode); + ClassDB::bind_method(D_METHOD("get_underline_mode"), &LinkButton::get_underline_mode); - ADD_PROPERTYNZ(PropertyInfo(Variant::STRING,"text"), "set_text", "get_text"); - ADD_PROPERTYNZ(PropertyInfo(Variant::INT,"underline",PROPERTY_HINT_ENUM,"Always,On Hover,Never"), "set_underline_mode", "get_underline_mode"); + BIND_CONSTANT(UNDERLINE_MODE_ALWAYS); + BIND_CONSTANT(UNDERLINE_MODE_ON_HOVER); + BIND_CONSTANT(UNDERLINE_MODE_NEVER); + ADD_PROPERTYNZ(PropertyInfo(Variant::STRING, "text"), "set_text", "get_text"); + ADD_PROPERTYNZ(PropertyInfo(Variant::INT, "underline", PROPERTY_HINT_ENUM, "Always,On Hover,Never"), "set_underline_mode", "get_underline_mode"); } LinkButton::LinkButton() { - underline_mode=UNDERLINE_MODE_ALWAYS; + underline_mode = UNDERLINE_MODE_ALWAYS; set_enabled_focus_mode(FOCUS_NONE); set_default_cursor_shape(CURSOR_POINTING_HAND); } |