static VALUE tvc_cell_get_size(VALUE self) { GdkRectangle cell_area; gint x_offset, y_offset, width, height; VALUE cell; /* Is this collect implement for cell_area ? */ cell_area.x = -1; cell_area.y = -1; cell_area.width = -1; cell_area.height = -1; gtk_tree_view_column_cell_get_size(_SELF(self), &cell_area, &x_offset, &y_offset, &width, &height); if (cell_area.x == -1 || cell_area.y == -1 || cell_area.width == -1 || cell_area.height == -1){ cell = Qnil; } else { cell = BOXED2RVAL(&cell_area, GDK_TYPE_RECTANGLE); } return rb_ary_new3(5, cell, x_offset ? INT2NUM(x_offset) : Qnil, y_offset ? INT2NUM(y_offset) : Qnil, width ? INT2NUM(width) : Qnil, height ? INT2NUM(height) : Qnil); }
/* Widget style set */ static void tilem_disasm_view_style_set(GtkWidget *w, GtkStyle *oldstyle) { TilemDisasmView *dv; GtkTreeModel *model; GtkTreeIter iter; GList *cols, *cp; GtkTreeViewColumn *col; int width; g_return_if_fail(TILEM_IS_DISASM_VIEW(w)); dv = TILEM_DISASM_VIEW(w); (*GTK_WIDGET_CLASS(parent_class)->style_set)(w, oldstyle); /* line height must be recalculated */ dv->line_height = 0; /* set column widths based on a dummy model */ model = new_dasm_model(); append_dummy_line(dv, model, &iter); cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(dv)); for (cp = cols; cp; cp = cp->next) { col = cp->data; gtk_tree_view_column_cell_set_cell_data(col, model, &iter, FALSE, FALSE); gtk_tree_view_column_cell_get_size(col, NULL, NULL, NULL, &width, NULL); gtk_tree_view_column_set_fixed_width(col, width + 2); } g_list_free(cols); g_object_unref(model); }
static void usage_view_update_row_and_header_height (PlannerView *view) { GtkTreeView *tv; PlannerUsageChart *chart; gint row_height; gint header_height; gint height; GList *cols, *l; GtkTreeViewColumn *col; GtkRequisition req; GtkTreePath *path; GdkRectangle rect; tv = GTK_TREE_VIEW (PLANNER_USAGE_VIEW (view)->priv->tree); chart = PLANNER_USAGE_VIEW (view)->priv->chart; /* Get the row and header heights. */ cols = gtk_tree_view_get_columns (tv); row_height = 0; header_height = 0; path = gtk_tree_path_new_first (); for (l = cols; l; l = l->next) { col = l->data; gtk_widget_size_request (col->button, &req); header_height = MAX (header_height, req.height); gtk_tree_view_column_cell_get_size (col, NULL, NULL, NULL, NULL, &height); row_height = MAX (row_height, height); gtk_tree_view_get_background_area (tv, path, col, &rect); row_height = MAX (row_height, rect.height); } if (path) gtk_tree_path_free (path); g_list_free (cols); /* Sync with the chart widget. */ g_object_set (chart, "header_height", header_height, "row_height", row_height, NULL); }
int wxCheckListBox::GetItemHeight() const { wxCHECK_MSG( m_treeview != NULL, 0, wxT("invalid listbox")); gint height; gtk_tree_view_column_cell_get_size( gtk_tree_view_get_column(m_treeview, 0), NULL, NULL, NULL, NULL, &height); return height; }
static void on_tree_view_realize (GtkWidget *tree_view, GtkScrolledWindow *scrolled_w) { GtkTreeViewColumn *column; gint height; column = gtk_tree_view_get_column (GTK_TREE_VIEW (tree_view), 0); gtk_tree_view_column_cell_get_size (column, NULL, NULL, NULL, NULL, &height); gtk_widget_set_size_request (GTK_WIDGET (scrolled_w), -1, height * 3 ); }
static void on_tree_view_realize (GtkWidget *tree_view, AimCandidate *candidate) { g_debug (G_STRLOC ": %s", G_STRFUNC); GtkTreeViewColumn *column; GtkAdjustment *adjustment; gint horizontal_space, height; guint border_width; column = gtk_tree_view_get_column (GTK_TREE_VIEW (tree_view), TITEL_COLUMN); gtk_tree_view_column_cell_get_size (column, NULL, NULL, NULL, NULL, &height); border_width = gtk_container_get_border_width (GTK_CONTAINER (candidate->window)); gtk_widget_style_get (tree_view, "horizontal-separator", &horizontal_space, NULL); height = height + horizontal_space / 2; gtk_window_resize (GTK_WINDOW (candidate->window), height * 10 / 1.6, height * 10 + border_width * 2); adjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (candidate->treeview)); gtk_adjustment_set_value (adjustment, 0.0); }