1 /* 2 * This file is part of gtkD. 3 * 4 * gtkD is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License 6 * as published by the Free Software Foundation; either version 3 7 * of the License, or (at your option) any later version, with 8 * some exceptions, please read the COPYING file. 9 * 10 * gtkD is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with gtkD; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA 18 */ 19 20 // generated automatically - do not change 21 // find conversion definition on APILookup.txt 22 // implement new conversion functionalities on the wrap.utils pakage 23 24 /* 25 * Conversion parameters: 26 * inFile = AtkTable.html 27 * outPack = atk 28 * outFile = Table 29 * strct = AtkTable 30 * realStrct= 31 * ctorStrct= 32 * clss = Table 33 * interf = 34 * class Code: No 35 * interface Code: No 36 * template for: 37 * extend = 38 * implements: 39 * prefixes: 40 * - atk_table_ 41 * omit structs: 42 * omit prefixes: 43 * omit code: 44 * omit signals: 45 * imports: 46 * - atk.ObjectAtk 47 * - glib.Str 48 * structWrap: 49 * - AtkObject* -> ObjectAtk 50 * module aliases: 51 * local aliases: 52 * overrides: 53 */ 54 55 module atk.Table; 56 57 public import gtkc.atktypes; 58 59 private import gtkc.atk; 60 private import glib.ConstructionException; 61 private import gobject.ObjectG; 62 63 private import gobject.Signals; 64 public import gtkc.gdktypes; 65 66 private import atk.ObjectAtk; 67 private import glib.Str; 68 69 70 71 72 /** 73 * AtkTable should be implemented by components which present 74 * elements ordered via rows and columns. It may also be used to 75 * present tree-structured information if the nodes of the trees can 76 * be said to contain multiple "columns". Individual elements of an 77 * AtkTable are typically referred to as "cells", and these cells are 78 * exposed by AtkTable as child AtkObjects of the AtkTable. Both 79 * row/column and child-index-based access to these children is 80 * provided. 81 * 82 * Children of AtkTable are frequently "lightweight" objects, that 83 * is, they may not have backing widgets in the host UI toolkit. They 84 * are therefore often transient. 85 * Since tables are often very complex, AtkTable includes provision 86 * for offering simplified summary information, as well as row and 87 * column headers and captions. Headers and captions are AtkObjects 88 * which may implement other interfaces (AtkText, AtkImage, etc.) as 89 * appropriate. AtkTable summaries may themselves be (simplified) 90 * AtkTables, etc. 91 */ 92 public class Table 93 { 94 95 /** the main Gtk struct */ 96 protected AtkTable* atkTable; 97 98 99 public AtkTable* getTableStruct() 100 { 101 return atkTable; 102 } 103 104 105 /** the main Gtk struct as a void* */ 106 protected void* getStruct() 107 { 108 return cast(void*)atkTable; 109 } 110 111 /** 112 * Sets our main struct and passes it to the parent class 113 */ 114 public this (AtkTable* atkTable) 115 { 116 this.atkTable = atkTable; 117 } 118 119 /** 120 */ 121 int[string] connectedSignals; 122 123 void delegate(gint, gint, Table)[] onColumnDeletedListeners; 124 /** 125 * The "column-deleted" signal is emitted by an object which 126 * implements the AtkTable interface when a column is deleted. 127 */ 128 void addOnColumnDeleted(void delegate(gint, gint, Table) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) 129 { 130 if ( !("column-deleted" in connectedSignals) ) 131 { 132 Signals.connectData( 133 getStruct(), 134 "column-deleted", 135 cast(GCallback)&callBackColumnDeleted, 136 cast(void*)this, 137 null, 138 connectFlags); 139 connectedSignals["column-deleted"] = 1; 140 } 141 onColumnDeletedListeners ~= dlg; 142 } 143 extern(C) static void callBackColumnDeleted(AtkTable* atktableStruct, gint arg1, gint arg2, Table _table) 144 { 145 foreach ( void delegate(gint, gint, Table) dlg ; _table.onColumnDeletedListeners ) 146 { 147 dlg(arg1, arg2, _table); 148 } 149 } 150 151 void delegate(gint, gint, Table)[] onColumnInsertedListeners; 152 /** 153 * The "column-inserted" signal is emitted by an object which 154 * implements the AtkTable interface when a column is inserted. 155 */ 156 void addOnColumnInserted(void delegate(gint, gint, Table) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) 157 { 158 if ( !("column-inserted" in connectedSignals) ) 159 { 160 Signals.connectData( 161 getStruct(), 162 "column-inserted", 163 cast(GCallback)&callBackColumnInserted, 164 cast(void*)this, 165 null, 166 connectFlags); 167 connectedSignals["column-inserted"] = 1; 168 } 169 onColumnInsertedListeners ~= dlg; 170 } 171 extern(C) static void callBackColumnInserted(AtkTable* atktableStruct, gint arg1, gint arg2, Table _table) 172 { 173 foreach ( void delegate(gint, gint, Table) dlg ; _table.onColumnInsertedListeners ) 174 { 175 dlg(arg1, arg2, _table); 176 } 177 } 178 179 void delegate(Table)[] onColumnReorderedListeners; 180 /** 181 * The "column-reordered" signal is emitted by an object which 182 * implements the AtkTable interface when the columns are 183 * reordered. 184 */ 185 void addOnColumnReordered(void delegate(Table) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) 186 { 187 if ( !("column-reordered" in connectedSignals) ) 188 { 189 Signals.connectData( 190 getStruct(), 191 "column-reordered", 192 cast(GCallback)&callBackColumnReordered, 193 cast(void*)this, 194 null, 195 connectFlags); 196 connectedSignals["column-reordered"] = 1; 197 } 198 onColumnReorderedListeners ~= dlg; 199 } 200 extern(C) static void callBackColumnReordered(AtkTable* atktableStruct, Table _table) 201 { 202 foreach ( void delegate(Table) dlg ; _table.onColumnReorderedListeners ) 203 { 204 dlg(_table); 205 } 206 } 207 208 void delegate(Table)[] onModelChangedListeners; 209 /** 210 * The "model-changed" signal is emitted by an object which 211 * implements the AtkTable interface when the model displayed by 212 * the table changes. 213 */ 214 void addOnModelChanged(void delegate(Table) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) 215 { 216 if ( !("model-changed" in connectedSignals) ) 217 { 218 Signals.connectData( 219 getStruct(), 220 "model-changed", 221 cast(GCallback)&callBackModelChanged, 222 cast(void*)this, 223 null, 224 connectFlags); 225 connectedSignals["model-changed"] = 1; 226 } 227 onModelChangedListeners ~= dlg; 228 } 229 extern(C) static void callBackModelChanged(AtkTable* atktableStruct, Table _table) 230 { 231 foreach ( void delegate(Table) dlg ; _table.onModelChangedListeners ) 232 { 233 dlg(_table); 234 } 235 } 236 237 void delegate(gint, gint, Table)[] onRowDeletedListeners; 238 /** 239 * The "row-deleted" signal is emitted by an object which 240 * implements the AtkTable interface when a row is deleted. 241 */ 242 void addOnRowDeleted(void delegate(gint, gint, Table) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) 243 { 244 if ( !("row-deleted" in connectedSignals) ) 245 { 246 Signals.connectData( 247 getStruct(), 248 "row-deleted", 249 cast(GCallback)&callBackRowDeleted, 250 cast(void*)this, 251 null, 252 connectFlags); 253 connectedSignals["row-deleted"] = 1; 254 } 255 onRowDeletedListeners ~= dlg; 256 } 257 extern(C) static void callBackRowDeleted(AtkTable* atktableStruct, gint arg1, gint arg2, Table _table) 258 { 259 foreach ( void delegate(gint, gint, Table) dlg ; _table.onRowDeletedListeners ) 260 { 261 dlg(arg1, arg2, _table); 262 } 263 } 264 265 void delegate(gint, gint, Table)[] onRowInsertedListeners; 266 /** 267 * The "row-inserted" signal is emitted by an object which 268 * implements the AtkTable interface when a row is inserted. 269 */ 270 void addOnRowInserted(void delegate(gint, gint, Table) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) 271 { 272 if ( !("row-inserted" in connectedSignals) ) 273 { 274 Signals.connectData( 275 getStruct(), 276 "row-inserted", 277 cast(GCallback)&callBackRowInserted, 278 cast(void*)this, 279 null, 280 connectFlags); 281 connectedSignals["row-inserted"] = 1; 282 } 283 onRowInsertedListeners ~= dlg; 284 } 285 extern(C) static void callBackRowInserted(AtkTable* atktableStruct, gint arg1, gint arg2, Table _table) 286 { 287 foreach ( void delegate(gint, gint, Table) dlg ; _table.onRowInsertedListeners ) 288 { 289 dlg(arg1, arg2, _table); 290 } 291 } 292 293 void delegate(Table)[] onRowReorderedListeners; 294 /** 295 * The "row-reordered" signal is emitted by an object which 296 * implements the AtkTable interface when the rows are 297 * reordered. 298 */ 299 void addOnRowReordered(void delegate(Table) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) 300 { 301 if ( !("row-reordered" in connectedSignals) ) 302 { 303 Signals.connectData( 304 getStruct(), 305 "row-reordered", 306 cast(GCallback)&callBackRowReordered, 307 cast(void*)this, 308 null, 309 connectFlags); 310 connectedSignals["row-reordered"] = 1; 311 } 312 onRowReorderedListeners ~= dlg; 313 } 314 extern(C) static void callBackRowReordered(AtkTable* atktableStruct, Table _table) 315 { 316 foreach ( void delegate(Table) dlg ; _table.onRowReorderedListeners ) 317 { 318 dlg(_table); 319 } 320 } 321 322 323 /** 324 * Get a reference to the table cell at row, column. 325 * Params: 326 * row = a gint representing a row in table 327 * column = a gint representing a column in table 328 * Returns: a AtkObject* representing the referred to accessible. [transfer full] 329 */ 330 public ObjectAtk refAt(int row, int column) 331 { 332 // AtkObject * atk_table_ref_at (AtkTable *table, gint row, gint column); 333 auto p = atk_table_ref_at(atkTable, row, column); 334 335 if(p is null) 336 { 337 return null; 338 } 339 340 return ObjectG.getDObject!(ObjectAtk)(cast(AtkObject*) p); 341 } 342 343 /** 344 * Gets a gint representing the index at the specified row and column. 345 * Params: 346 * row = a gint representing a row in table 347 * column = a gint representing a column in table 348 * Returns: a gint representing the index at specified position. The value -1 is returned if the object at row,column is not a child of table or table does not implement this interface. 349 */ 350 public int getIndexAt(int row, int column) 351 { 352 // gint atk_table_get_index_at (AtkTable *table, gint row, gint column); 353 return atk_table_get_index_at(atkTable, row, column); 354 } 355 356 /** 357 * Gets a gint representing the column at the specified index_. 358 * Params: 359 * index = a gint representing an index in table 360 * Returns: a gint representing the column at the specified index, or -1 if the table does not implement this interface 361 */ 362 public int getColumnAtIndex(int index) 363 { 364 // gint atk_table_get_column_at_index (AtkTable *table, gint index_); 365 return atk_table_get_column_at_index(atkTable, index); 366 } 367 368 /** 369 * Gets a gint representing the row at the specified index_. 370 * Params: 371 * index = a gint representing an index in table 372 * Returns: a gint representing the row at the specified index, or -1 if the table does not implement this interface 373 */ 374 public int getRowAtIndex(int index) 375 { 376 // gint atk_table_get_row_at_index (AtkTable *table, gint index_); 377 return atk_table_get_row_at_index(atkTable, index); 378 } 379 380 /** 381 * Gets the number of columns in the table. 382 * Returns: a gint representing the number of columns, or 0 if value does not implement this interface. 383 */ 384 public int getNColumns() 385 { 386 // gint atk_table_get_n_columns (AtkTable *table); 387 return atk_table_get_n_columns(atkTable); 388 } 389 390 /** 391 * Gets the number of rows in the table. 392 * Returns: a gint representing the number of rows, or 0 if value does not implement this interface. 393 */ 394 public int getNRows() 395 { 396 // gint atk_table_get_n_rows (AtkTable *table); 397 return atk_table_get_n_rows(atkTable); 398 } 399 400 /** 401 * Gets the number of columns occupied by the accessible object 402 * at the specified row and column in the table. 403 * Params: 404 * row = a gint representing a row in table 405 * column = a gint representing a column in table 406 * Returns: a gint representing the column extent at specified position, or 0 if value does not implement this interface. 407 */ 408 public int getColumnExtentAt(int row, int column) 409 { 410 // gint atk_table_get_column_extent_at (AtkTable *table, gint row, gint column); 411 return atk_table_get_column_extent_at(atkTable, row, column); 412 } 413 414 /** 415 * Gets the number of rows occupied by the accessible object 416 * at a specified row and column in the table. 417 * Params: 418 * row = a gint representing a row in table 419 * column = a gint representing a column in table 420 * Returns: a gint representing the row extent at specified position, or 0 if value does not implement this interface. 421 */ 422 public int getRowExtentAt(int row, int column) 423 { 424 // gint atk_table_get_row_extent_at (AtkTable *table, gint row, gint column); 425 return atk_table_get_row_extent_at(atkTable, row, column); 426 } 427 428 /** 429 * Gets the caption for the table. 430 * Returns: a AtkObject* representing the table caption, or NULL if value does not implement this interface. [transfer none] 431 */ 432 public ObjectAtk getCaption() 433 { 434 // AtkObject * atk_table_get_caption (AtkTable *table); 435 auto p = atk_table_get_caption(atkTable); 436 437 if(p is null) 438 { 439 return null; 440 } 441 442 return ObjectG.getDObject!(ObjectAtk)(cast(AtkObject*) p); 443 } 444 445 /** 446 * Gets the description text of the specified column in the table 447 * Params: 448 * column = a gint representing a column in table 449 * Returns: a gchar* representing the column description, or NULL if value does not implement this interface. 450 */ 451 public string getColumnDescription(int column) 452 { 453 // const gchar * atk_table_get_column_description (AtkTable *table, gint column); 454 return Str.toString(atk_table_get_column_description(atkTable, column)); 455 } 456 457 /** 458 * Gets the description text of the specified row in the table 459 * Params: 460 * row = a gint representing a row in table 461 * Returns: a gchar* representing the row description, or NULL if value does not implement this interface. 462 */ 463 public string getRowDescription(int row) 464 { 465 // const gchar * atk_table_get_row_description (AtkTable *table, gint row); 466 return Str.toString(atk_table_get_row_description(atkTable, row)); 467 } 468 469 /** 470 * Gets the column header of a specified column in an accessible table. 471 * Params: 472 * column = a gint representing a column in the table 473 * Returns: a AtkObject* representing the specified column header, or NULL if value does not implement this interface. [transfer none] 474 */ 475 public ObjectAtk getColumnHeader(int column) 476 { 477 // AtkObject * atk_table_get_column_header (AtkTable *table, gint column); 478 auto p = atk_table_get_column_header(atkTable, column); 479 480 if(p is null) 481 { 482 return null; 483 } 484 485 return ObjectG.getDObject!(ObjectAtk)(cast(AtkObject*) p); 486 } 487 488 /** 489 * Gets the row header of a specified row in an accessible table. 490 * Params: 491 * row = a gint representing a row in the table 492 * Returns: a AtkObject* representing the specified row header, or NULL if value does not implement this interface. [transfer none] 493 */ 494 public ObjectAtk getRowHeader(int row) 495 { 496 // AtkObject * atk_table_get_row_header (AtkTable *table, gint row); 497 auto p = atk_table_get_row_header(atkTable, row); 498 499 if(p is null) 500 { 501 return null; 502 } 503 504 return ObjectG.getDObject!(ObjectAtk)(cast(AtkObject*) p); 505 } 506 507 /** 508 * Gets the summary description of the table. 509 * Returns: a AtkObject* representing a summary description of the table, or zero if value does not implement this interface. [transfer full] 510 */ 511 public ObjectAtk getSummary() 512 { 513 // AtkObject * atk_table_get_summary (AtkTable *table); 514 auto p = atk_table_get_summary(atkTable); 515 516 if(p is null) 517 { 518 return null; 519 } 520 521 return ObjectG.getDObject!(ObjectAtk)(cast(AtkObject*) p); 522 } 523 524 /** 525 * Sets the caption for the table. 526 * Params: 527 * caption = a AtkObject representing the caption to set for table 528 */ 529 public void setCaption(ObjectAtk caption) 530 { 531 // void atk_table_set_caption (AtkTable *table, AtkObject *caption); 532 atk_table_set_caption(atkTable, (caption is null) ? null : caption.getObjectAtkStruct()); 533 } 534 535 /** 536 * Sets the description text for the specified row of table. 537 * Params: 538 * row = a gint representing a row in table 539 * description = a gchar representing the description text 540 * to set for the specified row of table 541 */ 542 public void setRowDescription(int row, string description) 543 { 544 // void atk_table_set_row_description (AtkTable *table, gint row, const gchar *description); 545 atk_table_set_row_description(atkTable, row, Str.toStringz(description)); 546 } 547 548 /** 549 * Sets the description text for the specified column of the table. 550 * Params: 551 * column = a gint representing a column in table 552 * description = a gchar representing the description text 553 * to set for the specified column of the table 554 */ 555 public void setColumnDescription(int column, string description) 556 { 557 // void atk_table_set_column_description (AtkTable *table, gint column, const gchar *description); 558 atk_table_set_column_description(atkTable, column, Str.toStringz(description)); 559 } 560 561 /** 562 * Sets the specified row header to header. 563 * Params: 564 * row = a gint representing a row in table 565 * header = an AtkTable 566 */ 567 public void setRowHeader(int row, ObjectAtk header) 568 { 569 // void atk_table_set_row_header (AtkTable *table, gint row, AtkObject *header); 570 atk_table_set_row_header(atkTable, row, (header is null) ? null : header.getObjectAtkStruct()); 571 } 572 573 /** 574 * Sets the specified column header to header. 575 * Params: 576 * column = a gint representing a column in table 577 * header = an AtkTable 578 */ 579 public void setColumnHeader(int column, ObjectAtk header) 580 { 581 // void atk_table_set_column_header (AtkTable *table, gint column, AtkObject *header); 582 atk_table_set_column_header(atkTable, column, (header is null) ? null : header.getObjectAtkStruct()); 583 } 584 585 /** 586 * Sets the summary description of the table. 587 * Params: 588 * accessible = an AtkObject representing the summary description 589 * to set for table 590 */ 591 public void setSummary(ObjectAtk accessible) 592 { 593 // void atk_table_set_summary (AtkTable *table, AtkObject *accessible); 594 atk_table_set_summary(atkTable, (accessible is null) ? null : accessible.getObjectAtkStruct()); 595 } 596 597 /** 598 * Gets the selected columns of the table by initializing **selected with 599 * the selected column numbers. This array should be freed by the caller. 600 * Params: 601 * selected = a gint** that is to contain the selected columns numbers 602 * Returns: a gint representing the number of selected columns, or 0 if value does not implement this interface. 603 */ 604 public int getSelectedColumns(out int[] selected) 605 { 606 // gint atk_table_get_selected_columns (AtkTable *table, gint **selected); 607 gint* outselected = null; 608 609 auto p = atk_table_get_selected_columns(atkTable, &outselected); 610 611 selected = outselected[0 .. p]; 612 return p; 613 } 614 615 /** 616 * Gets the selected rows of the table by initializing **selected with 617 * the selected row numbers. This array should be freed by the caller. 618 * Params: 619 * selected = a gint** that is to contain the selected row numbers 620 * Returns: a gint representing the number of selected rows, or zero if value does not implement this interface. 621 */ 622 public int getSelectedRows(out int[] selected) 623 { 624 // gint atk_table_get_selected_rows (AtkTable *table, gint **selected); 625 gint* outselected = null; 626 627 auto p = atk_table_get_selected_rows(atkTable, &outselected); 628 629 selected = outselected[0 .. p]; 630 return p; 631 } 632 633 /** 634 * Gets a boolean value indicating whether the specified column 635 * is selected 636 * Params: 637 * column = a gint representing a column in table 638 * Returns: a gboolean representing if the column is selected, or 0 if value does not implement this interface. 639 */ 640 public int isColumnSelected(int column) 641 { 642 // gboolean atk_table_is_column_selected (AtkTable *table, gint column); 643 return atk_table_is_column_selected(atkTable, column); 644 } 645 646 /** 647 * Gets a boolean value indicating whether the specified row 648 * is selected 649 * Params: 650 * row = a gint representing a row in table 651 * Returns: a gboolean representing if the row is selected, or 0 if value does not implement this interface. 652 */ 653 public int isRowSelected(int row) 654 { 655 // gboolean atk_table_is_row_selected (AtkTable *table, gint row); 656 return atk_table_is_row_selected(atkTable, row); 657 } 658 659 /** 660 * Gets a boolean value indicating whether the accessible object 661 * at the specified row and column is selected 662 * Params: 663 * row = a gint representing a row in table 664 * column = a gint representing a column in table 665 * Returns: a gboolean representing if the cell is selected, or 0 if value does not implement this interface. 666 */ 667 public int isSelected(int row, int column) 668 { 669 // gboolean atk_table_is_selected (AtkTable *table, gint row, gint column); 670 return atk_table_is_selected(atkTable, row, column); 671 } 672 673 /** 674 * Adds the specified column to the selection. 675 * Params: 676 * column = a gint representing a column in table 677 * Returns: a gboolean representing if the column was successfully added to the selection, or 0 if value does not implement this interface. 678 */ 679 public int addColumnSelection(int column) 680 { 681 // gboolean atk_table_add_column_selection (AtkTable *table, gint column); 682 return atk_table_add_column_selection(atkTable, column); 683 } 684 685 /** 686 * Adds the specified row to the selection. 687 * Params: 688 * row = a gint representing a row in table 689 * Returns: a gboolean representing if row was successfully added to selection, or 0 if value does not implement this interface. 690 */ 691 public int addRowSelection(int row) 692 { 693 // gboolean atk_table_add_row_selection (AtkTable *table, gint row); 694 return atk_table_add_row_selection(atkTable, row); 695 } 696 697 /** 698 * Adds the specified column to the selection. 699 * Params: 700 * column = a gint representing a column in table 701 * Returns: a gboolean representing if the column was successfully removed from the selection, or 0 if value does not implement this interface. 702 */ 703 public int removeColumnSelection(int column) 704 { 705 // gboolean atk_table_remove_column_selection (AtkTable *table, gint column); 706 return atk_table_remove_column_selection(atkTable, column); 707 } 708 709 /** 710 * Removes the specified row from the selection. 711 * Params: 712 * row = a gint representing a row in table 713 * Returns: a gboolean representing if the row was successfully removed from the selection, or 0 if value does not implement this interface. Signal Details The "column-deleted" signal void user_function (AtkTable *atktable, gint arg1, gint arg2, gpointer user_data) : Run Last The "column-deleted" signal is emitted by an object which implements the AtkTable interface when a column is deleted. 714 */ 715 public int removeRowSelection(int row) 716 { 717 // gboolean atk_table_remove_row_selection (AtkTable *table, gint row); 718 return atk_table_remove_row_selection(atkTable, row); 719 } 720 }