X-Git-Url: http://nitlanguage.org diff --git a/lib/gtk/v3_4/gtk_core.nit b/lib/gtk/v3_4/gtk_core.nit index f7d2c78..c3617f1 100644 --- a/lib/gtk/v3_4/gtk_core.nit +++ b/lib/gtk/v3_4/gtk_core.nit @@ -92,7 +92,8 @@ extern class GtkWidget `{GtkWidget *`} return self == o; `} - fun request_size(width, height: Int) `{ + # Set the minimum dimension of this widget + fun set_size_request(width, height: Int) `{ gtk_widget_set_size_request(self, width, height); `} @@ -137,6 +138,21 @@ extern class GtkWidget `{GtkWidget *`} # Hide the widget (reverse the effects of `show`) fun hide `{ gtk_widget_hide(self); `} + + # Vertical alignement of this widget + fun valign=(value: GtkAlign) `{ gtk_widget_set_valign(self, value); `} + + # Horizontal alignement of this widget + fun halign=(value: GtkAlign) `{ gtk_widget_set_halign(self, value); `} +end + +# How a widget deals with extra space +extern class GtkAlign `{ GtkAlign `} + new fill `{ return GTK_ALIGN_FILL; `} + new start `{ return GTK_ALIGN_START; `} + new align_end `{ return GTK_ALIGN_END; `} + new center `{ return GTK_ALIGN_CENTER; `} + new baseline `{ return GTK_ALIGN_BASELINE; `} end # Base class for widgets which contain other widgets @@ -199,6 +215,11 @@ extern class GtkWindow `{GtkWindow *`} signal_connect("destroy", to_call, user_data) end + # Resize the window as if the user had done so + fun resize(width, height: Int) `{ + return gtk_window_resize(self, width, height); + `} + fun resizable: Bool `{ return gtk_window_get_resizable(self); `} @@ -310,8 +331,8 @@ extern class GtkFrame `{GtkFrame *`} return (GtkFrame *)gtk_frame_new(String_to_cstring(lbl)); `} - fun frame_label: String `{ - return NativeString_to_s((char *)gtk_frame_get_label(self)); + fun frame_label: String import CString.to_s_with_copy `{ + return CString_to_s_with_copy((char *)gtk_frame_get_label(self)); `} fun frame_label=(lbl: String) import String.to_cstring `{ @@ -436,18 +457,13 @@ end extern class GtkMisc `{GtkMisc *`} super GtkWidget - fun alignment: GtkAlignment is abstract - - fun alignment=(x: Float, y: Float) `{ + fun set_alignment(x, y: Float) `{ gtk_misc_set_alignment(self, x, y); `} - fun padding: GtkAlignment is abstract - - fun padding=(x: Float, y: Float) `{ + fun set_padding(x, y: Float) `{ gtk_misc_set_padding(self, x, y); `} - end # A single line text entry field @@ -459,8 +475,8 @@ extern class GtkEntry `{GtkEntry *`} return (GtkEntry *)gtk_entry_new(); `} - fun text: String import NativeString.to_s_with_copy `{ - return NativeString_to_s_with_copy((char *)gtk_entry_get_text(self)); + fun text: String import CString.to_s_with_copy `{ + return CString_to_s_with_copy((char *)gtk_entry_get_text(self)); `} fun text=(value: String) import String.to_cstring `{ @@ -666,8 +682,8 @@ extern class GtkLabel `{GtkLabel *`} `} # Returns the text of the label - fun text: String import NativeString.to_s `{ - return NativeString_to_s((char*)gtk_label_get_text(self)); + fun text: String import CString.to_s_with_copy `{ + return CString_to_s_with_copy((char*)gtk_label_get_text(self)); `} # Sets the angle of rotation for the label. @@ -681,6 +697,24 @@ extern class GtkLabel `{GtkLabel *`} return gtk_label_get_angle(self); `} + # Set simple formatted text content from a `format` string and the `content` which is escaped + # + # ~~~nitish + # GtkLabel lbl = new GtkLabel("Non-formatted text") + # lbl.set_markup("\%s".to_cstring, + # "Italic content") + # ~~~ + fun set_markup(format, content: CString) `{ + char *formatted = g_markup_printf_escaped(format, content); + gtk_label_set_markup(self, formatted); + g_free(formatted); + `} + + # Set justification of the lines in the label relative to each other + fun justify=(value: GtkJustification) `{ gtk_label_set_justify(self, value); `} + + # Get justification of the lines in the label relative to each other + fun justify: GtkJustification `{ return gtk_label_get_justify(self); `} end # A widget displaying an image @@ -769,8 +803,8 @@ extern class GtkButton `{GtkButton *`} return (GtkButton *)gtk_button_new_from_stock(String_to_cstring(stock_id)); `} - fun text: String `{ - return NativeString_to_s((char *)gtk_button_get_label(self)); + fun text: String import CString.to_s_with_copy `{ + return CString_to_s_with_copy((char *)gtk_button_get_label(self)); `} fun text=(value: String) import String.to_cstring `{ @@ -842,8 +876,8 @@ extern class GtkExpander `{GtkExpander *`} gtk_expander_set_spacing(self, pixels); `} - fun label_text: String `{ - return NativeString_to_s((char *)gtk_expander_get_label(self)); + fun label_text: String import CString.to_s_with_copy `{ + return CString_to_s_with_copy((char *)gtk_expander_get_label(self)); `} fun label_text=(lbl: String) import String.to_cstring `{ @@ -961,8 +995,8 @@ extern class GtkComboBox `{GtkComboBox *`} gtk_combo_box_set_id_column(self, id_column); `} - fun active_id: String `{ - return NativeString_to_s((char *)gtk_combo_box_get_active_id(self)); + fun active_id: String import CString.to_s_with_copy `{ + return CString_to_s_with_copy((char *)gtk_combo_box_get_active_id(self)); `} fun active_id=(id_active: String) import String.to_cstring `{ @@ -985,8 +1019,8 @@ extern class GtkComboBox `{GtkComboBox *`} gtk_combo_box_popdown(self); `} - fun title: String `{ - return NativeString_to_s((char *)gtk_combo_box_get_title(self)); + fun title: String import CString.to_s_with_copy `{ + return CString_to_s_with_copy((char *)gtk_combo_box_get_title(self)); `} fun title=(t: String) import String.to_cstring `{