1// Same copyright and license as the rest of the files in this project 2// This file contains accelerator related functions and structures 3 4package gtk 5 6// #include <gtk/gtk.h> 7// #include "gtk.go.h" 8import "C" 9import ( 10 "unsafe" 11 12 "github.com/gotk3/gotk3/glib" 13) 14 15/* 16 * GtkTreeViewColumn 17 */ 18 19// TreeViewColumns is a representation of GTK's GtkTreeViewColumn. 20type TreeViewColumn struct { 21 glib.InitiallyUnowned 22} 23 24// native returns a pointer to the underlying GtkTreeViewColumn. 25func (v *TreeViewColumn) native() *C.GtkTreeViewColumn { 26 if v == nil || v.GObject == nil { 27 return nil 28 } 29 p := unsafe.Pointer(v.GObject) 30 return C.toGtkTreeViewColumn(p) 31} 32 33func marshalTreeViewColumn(p uintptr) (interface{}, error) { 34 c := C.g_value_get_object((*C.GValue)(unsafe.Pointer(p))) 35 obj := glib.Take(unsafe.Pointer(c)) 36 return wrapTreeViewColumn(obj), nil 37} 38 39func wrapTreeViewColumn(obj *glib.Object) *TreeViewColumn { 40 return &TreeViewColumn{glib.InitiallyUnowned{obj}} 41} 42 43// TreeViewColumnNew() is a wrapper around gtk_tree_view_column_new(). 44func TreeViewColumnNew() (*TreeViewColumn, error) { 45 c := C.gtk_tree_view_column_new() 46 if c == nil { 47 return nil, nilPtrErr 48 } 49 return wrapTreeViewColumn(glib.Take(unsafe.Pointer(c))), nil 50} 51 52// TreeViewColumnNewWithAttribute() is a wrapper around 53// gtk_tree_view_column_new_with_attributes() that only sets one 54// attribute for one column. 55func TreeViewColumnNewWithAttribute(title string, renderer ICellRenderer, attribute string, column int) (*TreeViewColumn, error) { 56 t_cstr := C.CString(title) 57 defer C.free(unsafe.Pointer(t_cstr)) 58 a_cstr := C.CString(attribute) 59 defer C.free(unsafe.Pointer(a_cstr)) 60 c := C._gtk_tree_view_column_new_with_attributes_one((*C.gchar)(t_cstr), 61 renderer.toCellRenderer(), (*C.gchar)(a_cstr), C.gint(column)) 62 if c == nil { 63 return nil, nilPtrErr 64 } 65 return wrapTreeViewColumn(glib.Take(unsafe.Pointer(c))), nil 66} 67 68// AddAttribute() is a wrapper around gtk_tree_view_column_add_attribute(). 69func (v *TreeViewColumn) AddAttribute(renderer ICellRenderer, attribute string, column int) { 70 cstr := C.CString(attribute) 71 defer C.free(unsafe.Pointer(cstr)) 72 C.gtk_tree_view_column_add_attribute(v.native(), 73 renderer.toCellRenderer(), (*C.gchar)(cstr), C.gint(column)) 74} 75 76// SetExpand() is a wrapper around gtk_tree_view_column_set_expand(). 77func (v *TreeViewColumn) SetExpand(expand bool) { 78 C.gtk_tree_view_column_set_expand(v.native(), gbool(expand)) 79} 80 81// GetExpand() is a wrapper around gtk_tree_view_column_get_expand(). 82func (v *TreeViewColumn) GetExpand() bool { 83 c := C.gtk_tree_view_column_get_expand(v.native()) 84 return gobool(c) 85} 86 87// SetMinWidth() is a wrapper around gtk_tree_view_column_set_min_width(). 88func (v *TreeViewColumn) SetMinWidth(minWidth int) { 89 C.gtk_tree_view_column_set_min_width(v.native(), C.gint(minWidth)) 90} 91 92// GetMinWidth() is a wrapper around gtk_tree_view_column_get_min_width(). 93func (v *TreeViewColumn) GetMinWidth() int { 94 c := C.gtk_tree_view_column_get_min_width(v.native()) 95 return int(c) 96} 97 98// PackStart() is a wrapper around gtk_tree_view_column_pack_start(). 99func (v *TreeViewColumn) PackStart(cell ICellRenderer, expand bool) { 100 C.gtk_tree_view_column_pack_start(v.native(), cell.toCellRenderer(), gbool(expand)) 101} 102 103// PackEnd() is a wrapper around gtk_tree_view_column_pack_end(). 104func (v *TreeViewColumn) PackEnd(cell ICellRenderer, expand bool) { 105 C.gtk_tree_view_column_pack_end(v.native(), cell.toCellRenderer(), gbool(expand)) 106} 107 108// Clear() is a wrapper around gtk_tree_view_column_clear(). 109func (v *TreeViewColumn) Clear() { 110 C.gtk_tree_view_column_clear(v.native()) 111} 112 113// ClearAttributes() is a wrapper around gtk_tree_view_column_clear_attributes(). 114func (v *TreeViewColumn) ClearAttributes(cell *CellRenderer) { 115 C.gtk_tree_view_column_clear_attributes(v.native(), cell.native()) 116} 117 118// SetSpacing() is a wrapper around gtk_tree_view_column_set_spacing(). 119func (v *TreeViewColumn) SetSpacing(spacing int) { 120 C.gtk_tree_view_column_set_spacing(v.native(), C.gint(spacing)) 121} 122 123// GetSpacing() is a wrapper around gtk_tree_view_column_get_spacing(). 124func (v *TreeViewColumn) GetSpacing() int { 125 return int(C.gtk_tree_view_column_get_spacing(v.native())) 126} 127 128// SetVisible() is a wrapper around gtk_tree_view_column_set_visible(). 129func (v *TreeViewColumn) SetVisible(visible bool) { 130 C.gtk_tree_view_column_set_visible(v.native(), gbool(visible)) 131} 132 133// GetVisible() is a wrapper around gtk_tree_view_column_get_visible(). 134func (v *TreeViewColumn) GetVisible() bool { 135 return gobool(C.gtk_tree_view_column_get_visible(v.native())) 136} 137 138// SetResizable() is a wrapper around gtk_tree_view_column_set_resizable(). 139func (v *TreeViewColumn) SetResizable(resizable bool) { 140 C.gtk_tree_view_column_set_resizable(v.native(), gbool(resizable)) 141} 142 143// GetResizable() is a wrapper around gtk_tree_view_column_get_resizable(). 144func (v *TreeViewColumn) GetResizable() bool { 145 return gobool(C.gtk_tree_view_column_get_resizable(v.native())) 146} 147 148// GetWidth() is a wrapper around gtk_tree_view_column_get_width(). 149func (v *TreeViewColumn) GetWidth() int { 150 return int(C.gtk_tree_view_column_get_width(v.native())) 151} 152 153// SetFixedWidth() is a wrapper around gtk_tree_view_column_set_fixed_width(). 154func (v *TreeViewColumn) SetFixedWidth(w int) { 155 C.gtk_tree_view_column_set_fixed_width(v.native(), C.gint(w)) 156} 157 158// GetFixedWidth() is a wrapper around gtk_tree_view_column_get_fixed_width(). 159func (v *TreeViewColumn) GetFixedWidth() int { 160 return int(C.gtk_tree_view_column_get_fixed_width(v.native())) 161} 162 163// SetMaxWidth() is a wrapper around gtk_tree_view_column_set_max_width(). 164func (v *TreeViewColumn) SetMaxWidth(w int) { 165 C.gtk_tree_view_column_set_max_width(v.native(), C.gint(w)) 166} 167 168// GetMaxWidth() is a wrapper around gtk_tree_view_column_get_max_width(). 169func (v *TreeViewColumn) GetMaxWidth() int { 170 return int(C.gtk_tree_view_column_get_max_width(v.native())) 171} 172 173// Clicked() is a wrapper around gtk_tree_view_column_clicked(). 174func (v *TreeViewColumn) Clicked() { 175 C.gtk_tree_view_column_clicked(v.native()) 176} 177 178// SetTitle() is a wrapper around gtk_tree_view_column_set_title(). 179func (v *TreeViewColumn) SetTitle(t string) { 180 cstr := (*C.gchar)(C.CString(t)) 181 defer C.free(unsafe.Pointer(cstr)) 182 C.gtk_tree_view_column_set_title(v.native(), cstr) 183} 184 185// GetTitle() is a wrapper around gtk_tree_view_column_get_title(). 186func (v *TreeViewColumn) GetTitle() string { 187 return C.GoString((*C.char)(C.gtk_tree_view_column_get_title(v.native()))) 188} 189 190// SetClickable() is a wrapper around gtk_tree_view_column_set_clickable(). 191func (v *TreeViewColumn) SetClickable(clickable bool) { 192 C.gtk_tree_view_column_set_clickable(v.native(), gbool(clickable)) 193} 194 195// GetClickable() is a wrapper around gtk_tree_view_column_get_clickable(). 196func (v *TreeViewColumn) GetClickable() bool { 197 return gobool(C.gtk_tree_view_column_get_clickable(v.native())) 198} 199 200// SetReorderable() is a wrapper around gtk_tree_view_column_set_reorderable(). 201func (v *TreeViewColumn) SetReorderable(reorderable bool) { 202 C.gtk_tree_view_column_set_reorderable(v.native(), gbool(reorderable)) 203} 204 205// GetReorderable() is a wrapper around gtk_tree_view_column_get_reorderable(). 206func (v *TreeViewColumn) GetReorderable() bool { 207 return gobool(C.gtk_tree_view_column_get_reorderable(v.native())) 208} 209 210// SetSortIndicator() is a wrapper around gtk_tree_view_column_set_sort_indicator(). 211func (v *TreeViewColumn) SetSortIndicator(reorderable bool) { 212 C.gtk_tree_view_column_set_sort_indicator(v.native(), gbool(reorderable)) 213} 214 215// GetSortIndicator() is a wrapper around gtk_tree_view_column_get_sort_indicator(). 216func (v *TreeViewColumn) GetSortIndicator() bool { 217 return gobool(C.gtk_tree_view_column_get_sort_indicator(v.native())) 218} 219 220// SetSortColumnID() is a wrapper around gtk_tree_view_column_set_sort_column_id(). 221func (v *TreeViewColumn) SetSortColumnID(w int) { 222 C.gtk_tree_view_column_set_sort_column_id(v.native(), C.gint(w)) 223} 224 225// GetSortColumnID() is a wrapper around gtk_tree_view_column_get_sort_column_id(). 226func (v *TreeViewColumn) GetSortColumnID() int { 227 return int(C.gtk_tree_view_column_get_sort_column_id(v.native())) 228} 229 230// CellIsVisible() is a wrapper around gtk_tree_view_column_cell_is_visible(). 231func (v *TreeViewColumn) CellIsVisible() bool { 232 return gobool(C.gtk_tree_view_column_cell_is_visible(v.native())) 233} 234 235// FocusCell() is a wrapper around gtk_tree_view_column_focus_cell(). 236func (v *TreeViewColumn) FocusCell(cell *CellRenderer) { 237 C.gtk_tree_view_column_focus_cell(v.native(), cell.native()) 238} 239 240// QueueResize() is a wrapper around gtk_tree_view_column_queue_resize(). 241func (v *TreeViewColumn) QueueResize() { 242 C.gtk_tree_view_column_queue_resize(v.native()) 243} 244 245// GetXOffset() is a wrapper around gtk_tree_view_column_get_x_offset(). 246func (v *TreeViewColumn) GetXOffset() int { 247 return int(C.gtk_tree_view_column_get_x_offset(v.native())) 248} 249 250// GtkTreeViewColumn * gtk_tree_view_column_new_with_area () 251// void gtk_tree_view_column_set_attributes () 252// void gtk_tree_view_column_set_cell_data_func () 253 254type TreeViewColumnSizing int 255 256const ( 257 TREE_VIEW_COLUMN_GROW_ONLY TreeViewColumnSizing = C.GTK_TREE_VIEW_COLUMN_GROW_ONLY 258 TREE_VIEW_COLUMN_AUTOSIZE = C.GTK_TREE_VIEW_COLUMN_AUTOSIZE 259 TREE_VIEW_COLUMN_FIXED = C.GTK_TREE_VIEW_COLUMN_FIXED 260) 261 262// void gtk_tree_view_column_set_sizing () 263func (v *TreeViewColumn) SetSizing(sizing TreeViewColumnSizing) { 264 C.gtk_tree_view_column_set_sizing(v.native(), C.GtkTreeViewColumnSizing(sizing)) 265} 266 267// GtkTreeViewColumnSizing gtk_tree_view_column_get_sizing () 268func (v *TreeViewColumn) GetSizing() TreeViewColumnSizing { 269 return TreeViewColumnSizing(C.gtk_tree_view_column_get_sizing(v.native())) 270} 271 272// void gtk_tree_view_column_set_widget () 273// GtkWidget * gtk_tree_view_column_get_widget () 274// GtkWidget * gtk_tree_view_column_get_button () 275// void gtk_tree_view_column_set_alignment () 276// gfloat gtk_tree_view_column_get_alignment () 277 278// void gtk_tree_view_column_set_sort_order () 279func (v *TreeViewColumn) SetSortOrder(order SortType) { 280 C.gtk_tree_view_column_set_sort_order(v.native(), C.GtkSortType(order)) 281} 282 283// GtkSortType gtk_tree_view_column_get_sort_order () 284func (v *TreeViewColumn) GetSortOrder() SortType { 285 return SortType(C.gtk_tree_view_column_get_sort_order(v.native())) 286} 287 288// void gtk_tree_view_column_cell_set_cell_data () 289// void gtk_tree_view_column_cell_get_size () 290// gboolean gtk_tree_view_column_cell_get_position () 291// GtkWidget * gtk_tree_view_column_get_tree_view () 292