From 21e15c00392c79a7df54ffe2659e68ba33052869 Mon Sep 17 00:00:00 2001 From: waker Date: Wed, 5 Oct 2011 21:09:34 +0200 Subject: few minor fixes to compile using vala 0.14; converted supereq drawing code from gdk to cairo --- plugins/gtkui/ddbcellrenderertextmultiline.c | 252 +++++++++++++++++++++------ 1 file changed, 195 insertions(+), 57 deletions(-) (limited to 'plugins/gtkui/ddbcellrenderertextmultiline.c') diff --git a/plugins/gtkui/ddbcellrenderertextmultiline.c b/plugins/gtkui/ddbcellrenderertextmultiline.c index a6e95853..cb139ca3 100644 --- a/plugins/gtkui/ddbcellrenderertextmultiline.c +++ b/plugins/gtkui/ddbcellrenderertextmultiline.c @@ -1,4 +1,4 @@ -/* ddbcellrenderertextmultiline.c generated by valac 0.10.2, the Vala compiler +/* ddbcellrenderertextmultiline.c generated by valac 0.14.0, the Vala compiler * generated from ddbcellrenderertextmultiline.vala, do not modify */ /* @@ -58,7 +58,7 @@ struct _DdbCellEditableTextView { GtkTextView parent_instance; DdbCellEditableTextViewPrivate * priv; gboolean editing_canceled; - char* tree_path; + gchar* tree_path; }; struct _DdbCellEditableTextViewClass { @@ -100,22 +100,34 @@ enum { }; static void ddb_cell_renderer_text_multiline_gtk_cell_renderer_text_editing_done (DdbCellEditableTextView* entry, DdbCellRendererTextMultiline* _self_); static gboolean ddb_cell_renderer_text_multiline_gtk_cell_renderer_focus_out_event (DdbCellEditableTextView* entry, GdkEvent* event, DdbCellRendererTextMultiline* _self_); -static GtkCellEditable* ddb_cell_renderer_text_multiline_real_start_editing (GtkCellRenderer* base, GdkEvent* event, GtkWidget* widget, const char* path, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags); +static GtkCellEditable* ddb_cell_renderer_text_multiline_real_start_editing (GtkCellRenderer* base, GdkEvent* event, GtkWidget* widget, const gchar* path, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags); DdbCellRendererTextMultiline* ddb_cell_renderer_text_multiline_new (void); DdbCellRendererTextMultiline* ddb_cell_renderer_text_multiline_construct (GType object_type); static void ddb_cell_renderer_text_multiline_finalize (GObject* obj); - static gboolean ddb_cell_editable_text_view_real_key_press_event (GtkWidget* base, GdkEventKey* event) { DdbCellEditableTextView * self; gboolean result = FALSE; gboolean res; + GdkEventKey _tmp0_; + guint _tmp1_; self = (DdbCellEditableTextView*) base; + g_return_val_if_fail (event != NULL, FALSE); res = TRUE; - if ((*event).keyval == GDK_Return) { - if (((*event).state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) != 0) { - res = GTK_WIDGET_CLASS (ddb_cell_editable_text_view_parent_class)->key_press_event ((GtkWidget*) GTK_TEXT_VIEW (self), event); + _tmp0_ = *event; + _tmp1_ = _tmp0_.keyval; + if (_tmp1_ == ((guint) GDK_Return)) { + GdkEventKey _tmp2_; + GdkModifierType _tmp3_; + _tmp2_ = *event; + _tmp3_ = _tmp2_.state; + if ((_tmp3_ & (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) != 0) { + GdkEventKey _tmp4_; + gboolean _tmp5_ = FALSE; + _tmp4_ = *event; + _tmp5_ = GTK_WIDGET_CLASS (ddb_cell_editable_text_view_parent_class)->key_press_event ((GtkWidget*) GTK_TEXT_VIEW (self), &_tmp4_); + res = _tmp5_; } else { gtk_cell_editable_editing_done ((GtkCellEditable*) self); gtk_cell_editable_remove_widget ((GtkCellEditable*) self); @@ -123,14 +135,22 @@ static gboolean ddb_cell_editable_text_view_real_key_press_event (GtkWidget* bas return result; } } else { - if ((*event).keyval == GDK_Escape) { + GdkEventKey _tmp6_; + guint _tmp7_; + _tmp6_ = *event; + _tmp7_ = _tmp6_.keyval; + if (_tmp7_ == ((guint) GDK_Escape)) { self->editing_canceled = TRUE; gtk_cell_editable_editing_done ((GtkCellEditable*) self); gtk_cell_editable_remove_widget ((GtkCellEditable*) self); result = TRUE; return result; } else { - res = GTK_WIDGET_CLASS (ddb_cell_editable_text_view_parent_class)->key_press_event ((GtkWidget*) GTK_TEXT_VIEW (self), event); + GdkEventKey _tmp8_; + gboolean _tmp9_ = FALSE; + _tmp8_ = *event; + _tmp9_ = GTK_WIDGET_CLASS (ddb_cell_editable_text_view_parent_class)->key_press_event ((GtkWidget*) GTK_TEXT_VIEW (self), &_tmp8_); + res = _tmp9_; } } result = res; @@ -146,8 +166,8 @@ static void ddb_cell_editable_text_view_real_start_editing (GtkCellEditable* bas DdbCellEditableTextView* ddb_cell_editable_text_view_construct (GType object_type) { - DdbCellEditableTextView * self; - self = g_object_newv (object_type, 0, NULL); + DdbCellEditableTextView * self = NULL; + self = (DdbCellEditableTextView*) g_object_new (object_type, NULL); return self; } @@ -166,7 +186,7 @@ static void ddb_cell_editable_text_view_class_init (DdbCellEditableTextViewClass static void ddb_cell_editable_text_view_gtk_cell_editable_interface_init (GtkCellEditableIface * iface) { ddb_cell_editable_text_view_gtk_cell_editable_parent_iface = g_type_interface_peek_parent (iface); - iface->start_editing = ddb_cell_editable_text_view_real_start_editing; + iface->start_editing = (void (*)(GtkCellEditable*, GdkEvent*)) ddb_cell_editable_text_view_real_start_editing; } @@ -203,19 +223,53 @@ static gpointer _g_object_ref0 (gpointer self) { static void ddb_cell_renderer_text_multiline_gtk_cell_renderer_text_editing_done (DdbCellEditableTextView* entry, DdbCellRendererTextMultiline* _self_) { + DdbCellEditableTextView* _tmp0_; + DdbCellRendererTextMultiline* _tmp1_; + gulong _tmp2_; + DdbCellRendererTextMultiline* _tmp3_; + DdbCellEditableTextView* _tmp4_; + gboolean _tmp5_; + DdbCellEditableTextView* _tmp6_; + GtkTextBuffer* _tmp7_ = NULL; + GtkTextBuffer* _tmp8_; GtkTextBuffer* buf; GtkTextIter begin = {0}; GtkTextIter end = {0}; - char* new_text; + GtkTextIter _tmp9_ = {0}; + GtkTextIter _tmp10_ = {0}; + GtkTextIter _tmp11_; + GtkTextIter _tmp12_; + gchar* _tmp13_ = NULL; + gchar* new_text; + DdbCellRendererTextMultiline* _tmp14_; + DdbCellEditableTextView* _tmp15_; + const gchar* _tmp16_; g_return_if_fail (entry != NULL); g_return_if_fail (_self_ != NULL); - g_signal_handler_disconnect ((GObject*) entry, _self_->priv->focus_out_id); - gtk_cell_renderer_stop_editing ((GtkCellRenderer*) _self_, entry->editing_canceled); - buf = _g_object_ref0 (gtk_text_view_get_buffer ((GtkTextView*) entry)); - gtk_text_buffer_get_iter_at_offset (buf, &begin, 0); - gtk_text_buffer_get_iter_at_offset (buf, &end, -1); - new_text = gtk_text_buffer_get_text (buf, &begin, &end, TRUE); - g_signal_emit_by_name ((GtkCellRendererText*) _self_, "edited", entry->tree_path, new_text); + _tmp0_ = entry; + _tmp1_ = _self_; + _tmp2_ = _tmp1_->priv->focus_out_id; + g_signal_handler_disconnect ((GObject*) _tmp0_, _tmp2_); + _tmp3_ = _self_; + _tmp4_ = entry; + _tmp5_ = _tmp4_->editing_canceled; + gtk_cell_renderer_stop_editing ((GtkCellRenderer*) _tmp3_, _tmp5_); + _tmp6_ = entry; + _tmp7_ = gtk_text_view_get_buffer ((GtkTextView*) _tmp6_); + _tmp8_ = _g_object_ref0 (_tmp7_); + buf = _tmp8_; + gtk_text_buffer_get_iter_at_offset (buf, &_tmp9_, 0); + begin = _tmp9_; + gtk_text_buffer_get_iter_at_offset (buf, &_tmp10_, -1); + end = _tmp10_; + _tmp11_ = begin; + _tmp12_ = end; + _tmp13_ = gtk_text_buffer_get_text (buf, &_tmp11_, &_tmp12_, TRUE); + new_text = _tmp13_; + _tmp14_ = _self_; + _tmp15_ = entry; + _tmp16_ = _tmp15_->tree_path; + g_signal_emit_by_name ((GtkCellRendererText*) _tmp14_, "edited", _tmp16_, new_text); _g_free0 (new_text); _g_object_unref0 (buf); } @@ -223,67 +277,152 @@ static void ddb_cell_renderer_text_multiline_gtk_cell_renderer_text_editing_done static gboolean ddb_cell_renderer_text_multiline_gtk_cell_renderer_focus_out_event (DdbCellEditableTextView* entry, GdkEvent* event, DdbCellRendererTextMultiline* _self_) { gboolean result = FALSE; + DdbCellEditableTextView* _tmp0_; + DdbCellEditableTextView* _tmp1_; g_return_val_if_fail (entry != NULL, FALSE); g_return_val_if_fail (event != NULL, FALSE); g_return_val_if_fail (_self_ != NULL, FALSE); - entry->editing_canceled = TRUE; - gtk_cell_editable_remove_widget ((GtkCellEditable*) entry); + _tmp0_ = entry; + _tmp0_->editing_canceled = TRUE; + _tmp1_ = entry; + gtk_cell_editable_remove_widget ((GtkCellEditable*) _tmp1_); result = FALSE; return result; } -static GtkCellEditable* ddb_cell_renderer_text_multiline_real_start_editing (GtkCellRenderer* base, GdkEvent* event, GtkWidget* widget, const char* path, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags) { +static GtkCellEditable* ddb_cell_renderer_text_multiline_real_start_editing (GtkCellRenderer* base, GdkEvent* event, GtkWidget* widget, const gchar* path, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags) { DdbCellRendererTextMultiline * self; GtkCellEditable* result = NULL; - gboolean _tmp0_; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_; + const gchar* _tmp2_; + GtkTreePath* _tmp3_; GtkTreePath* p; + GtkWidget* _tmp4_; + GtkTreeView* _tmp5_; GtkTreeView* tv; + GtkTreeView* _tmp6_; + GtkTreeModel* _tmp7_ = NULL; + GtkListStore* _tmp8_; GtkListStore* store; GtkTreeIter iter = {0}; + GtkListStore* _tmp9_; + GtkTreePath* _tmp10_; + GtkTreeIter _tmp11_ = {0}; GValue v = {0}; - GValue _tmp1_ = {0}; - GValue _tmp2_; + GtkListStore* _tmp12_; + GtkTreeIter _tmp13_; + GValue _tmp14_ = {0}; + gint _tmp15_ = 0; gint mult; - DdbCellEditableTextView* _tmp3_; - char* _tmp4_; + DdbCellEditableTextView* _tmp16_; + DdbCellEditableTextView* _tmp17_; + gint _tmp18_; + DdbCellEditableTextView* _tmp19_; + const gchar* _tmp20_; + gchar* _tmp21_; + GtkTextBuffer* _tmp22_; GtkTextBuffer* buf; - char* _tmp5_ = NULL; - char* _tmp6_; - gboolean _tmp7_; + gchar* _tmp23_ = NULL; + gchar* _tmp24_; + gchar* _tmp25_; + gboolean _tmp26_; + DdbCellEditableTextView* _tmp31_; + GtkTextBuffer* _tmp32_; + DdbCellEditableTextView* _tmp33_; + DdbCellEditableTextView* _tmp34_; + gulong _tmp35_ = 0UL; + DdbCellEditableTextView* _tmp36_; + GdkRectangle _tmp37_; + gint _tmp38_; + GdkRectangle _tmp39_; + gint _tmp40_; + DdbCellEditableTextView* _tmp41_; + DdbCellEditableTextView* _tmp42_; self = (DdbCellRendererTextMultiline*) base; g_return_val_if_fail (event != NULL, NULL); g_return_val_if_fail (widget != NULL, NULL); g_return_val_if_fail (path != NULL, NULL); - if (!(g_object_get ((GtkCellRendererText*) self, "editable", &_tmp0_, NULL), _tmp0_)) { + g_return_val_if_fail (background_area != NULL, NULL); + g_return_val_if_fail (cell_area != NULL, NULL); + g_object_get ((GtkCellRendererText*) self, "editable", &_tmp0_, NULL); + _tmp1_ = _tmp0_; + if (!_tmp1_) { result = GTK_CELL_EDITABLE (NULL); return result; } - p = gtk_tree_path_new_from_string (path); - tv = _g_object_ref0 (GTK_TREE_VIEW (widget)); - store = _g_object_ref0 (GTK_LIST_STORE (gtk_tree_view_get_model (tv))); - gtk_tree_model_get_iter ((GtkTreeModel*) store, &iter, p); - gtk_tree_model_get_value ((GtkTreeModel*) store, &iter, 3, &_tmp1_); - v = (_tmp2_ = _tmp1_, G_IS_VALUE (&v) ? (g_value_unset (&v), NULL) : NULL, _tmp2_); - mult = g_value_get_int (&v); - self->priv->entry = (_tmp3_ = g_object_ref_sink (ddb_cell_editable_text_view_new ()), _g_object_unref0 (self->priv->entry), _tmp3_); - if (mult != 0) { + _tmp2_ = path; + _tmp3_ = gtk_tree_path_new_from_string (_tmp2_); + p = _tmp3_; + _tmp4_ = widget; + _tmp5_ = _g_object_ref0 (GTK_TREE_VIEW (_tmp4_)); + tv = _tmp5_; + _tmp6_ = tv; + _tmp7_ = gtk_tree_view_get_model (_tmp6_); + _tmp8_ = _g_object_ref0 (GTK_LIST_STORE (_tmp7_)); + store = _tmp8_; + _tmp9_ = store; + _tmp10_ = p; + gtk_tree_model_get_iter ((GtkTreeModel*) _tmp9_, &_tmp11_, _tmp10_); + iter = _tmp11_; + _tmp12_ = store; + _tmp13_ = iter; + gtk_tree_model_get_value ((GtkTreeModel*) _tmp12_, &_tmp13_, 3, &_tmp14_); + G_IS_VALUE (&v) ? (g_value_unset (&v), NULL) : NULL; + v = _tmp14_; + _tmp15_ = g_value_get_int (&v); + mult = _tmp15_; + _tmp16_ = ddb_cell_editable_text_view_new (); + _tmp17_ = g_object_ref_sink (_tmp16_); + _g_object_unref0 (self->priv->entry); + self->priv->entry = _tmp17_; + _tmp18_ = mult; + if (_tmp18_ != 0) { g_object_set ((GtkCellRendererText*) self, "text", "", NULL); } - self->priv->entry->tree_path = (_tmp4_ = g_strdup (path), _g_free0 (self->priv->entry->tree_path), _tmp4_); - buf = gtk_text_buffer_new (NULL); - if ((_tmp7_ = (_tmp6_ = (g_object_get ((GtkCellRendererText*) self, "text", &_tmp5_, NULL), _tmp5_)) != NULL, _g_free0 (_tmp6_), _tmp7_)) { - char* _tmp8_ = NULL; - char* _tmp9_; - gtk_text_buffer_set_text (buf, _tmp9_ = (g_object_get ((GtkCellRendererText*) self, "text", &_tmp8_, NULL), _tmp8_), -1); - _g_free0 (_tmp9_); + _tmp19_ = self->priv->entry; + _tmp20_ = path; + _tmp21_ = g_strdup (_tmp20_); + _g_free0 (_tmp19_->tree_path); + _tmp19_->tree_path = _tmp21_; + _tmp22_ = gtk_text_buffer_new (NULL); + buf = _tmp22_; + g_object_get ((GtkCellRendererText*) self, "text", &_tmp23_, NULL); + _tmp24_ = _tmp23_; + _tmp25_ = _tmp24_; + _tmp26_ = _tmp25_ != NULL; + _g_free0 (_tmp25_); + if (_tmp26_) { + GtkTextBuffer* _tmp27_; + gchar* _tmp28_ = NULL; + gchar* _tmp29_; + gchar* _tmp30_; + _tmp27_ = buf; + g_object_get ((GtkCellRendererText*) self, "text", &_tmp28_, NULL); + _tmp29_ = _tmp28_; + _tmp30_ = _tmp29_; + gtk_text_buffer_set_text (_tmp27_, _tmp30_, -1); + _g_free0 (_tmp30_); } - gtk_text_view_set_buffer ((GtkTextView*) self->priv->entry, buf); - g_signal_connect (self->priv->entry, "editing-done", (GCallback) ddb_cell_renderer_text_multiline_gtk_cell_renderer_text_editing_done, self); - self->priv->focus_out_id = g_signal_connect_after (self->priv->entry, "focus-out-event", (GCallback) ddb_cell_renderer_text_multiline_gtk_cell_renderer_focus_out_event, self); - gtk_widget_set_size_request ((GtkWidget*) self->priv->entry, (*cell_area).width, (*cell_area).height); - gtk_widget_show ((GtkWidget*) self->priv->entry); - result = GTK_CELL_EDITABLE (self->priv->entry); + _tmp31_ = self->priv->entry; + _tmp32_ = buf; + gtk_text_view_set_buffer ((GtkTextView*) _tmp31_, _tmp32_); + _tmp33_ = self->priv->entry; + g_signal_connect (_tmp33_, "editing-done", (GCallback) ddb_cell_renderer_text_multiline_gtk_cell_renderer_text_editing_done, self); + _tmp34_ = self->priv->entry; + _tmp35_ = g_signal_connect_after (_tmp34_, "focus-out-event", (GCallback) ddb_cell_renderer_text_multiline_gtk_cell_renderer_focus_out_event, self); + self->priv->focus_out_id = _tmp35_; + _tmp36_ = self->priv->entry; + _tmp37_ = *cell_area; + _tmp38_ = _tmp37_.width; + _tmp39_ = *cell_area; + _tmp40_ = _tmp39_.height; + gtk_widget_set_size_request ((GtkWidget*) _tmp36_, _tmp38_, _tmp40_); + _tmp41_ = self->priv->entry; + gtk_widget_show ((GtkWidget*) _tmp41_); + _tmp42_ = self->priv->entry; + result = GTK_CELL_EDITABLE (_tmp42_); _g_object_unref0 (buf); G_IS_VALUE (&v) ? (g_value_unset (&v), NULL) : NULL; _g_object_unref0 (store); @@ -294,8 +433,8 @@ static GtkCellEditable* ddb_cell_renderer_text_multiline_real_start_editing (Gtk DdbCellRendererTextMultiline* ddb_cell_renderer_text_multiline_construct (GType object_type) { - DdbCellRendererTextMultiline * self; - self = g_object_newv (object_type, 0, NULL); + DdbCellRendererTextMultiline * self = NULL; + self = (DdbCellRendererTextMultiline*) g_object_new (object_type, NULL); return self; } @@ -339,4 +478,3 @@ GType ddb_cell_renderer_text_multiline_get_type (void) { - -- cgit v1.2.3