UNIXworkcode

1 /* 2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 3 * 4 * Copyright 2025 Olaf Wintermann. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are met: 8 * 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 * POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 #include "args.h" 30 31 #include <string.h> 32 #include <stdlib.h> 33 34 #include "../ui/container.h" 35 36 37 /* ---------------------------- UiDialogArgs ---------------------------- */ 38 39 UiDialogArgs* ui_dialog_args_new(void) { 40 UiDialogArgs *args = malloc(sizeof(UiDialogArgs)); 41 memset(args, 0, sizeof(UiDialogArgs)); 42 return args; 43 } 44 45 void ui_dialog_args_set_title(UiDialogArgs *args, const char *title) { 46 args->title = strdup(title); 47 } 48 49 void ui_dialog_args_set_content(UiDialogArgs *args, const char *str) { 50 args->content = strdup(str); 51 } 52 53 void ui_dialog_args_set_button1_label(UiDialogArgs *args, const char *label) { 54 args->button1_label = strdup(label); 55 } 56 57 void ui_dialog_args_set_button2_label(UiDialogArgs *args, const char *label) { 58 args->button2_label = strdup(label); 59 } 60 61 void ui_dialog_args_set_closebutton_label(UiDialogArgs *args, const char *label) { 62 args->closebutton_label = strdup(label); 63 } 64 65 void ui_dialog_args_set_input_value(UiDialogArgs *args, const char *value) { 66 args->input_value = strdup(value); 67 } 68 69 void ui_dialog_args_set_input(UiDialogArgs *args, UiBool input) { 70 args->input = input; 71 } 72 73 void ui_dialog_args_set_password(UiDialogArgs *args, UiBool password) { 74 args->password = password; 75 } 76 77 void ui_dialog_args_set_result(UiDialogArgs *args, ui_callback cb) { 78 args->result = cb; 79 } 80 81 void ui_dialog_args_set_resultdata(UiDialogArgs *args, void *userdata) { 82 args->resultdata = userdata; 83 } 84 85 void ui_dialog_args_free(UiDialogArgs *args) { 86 free((void*)args->title); 87 free((void*)args->button1_label); 88 free((void*)args->button2_label); 89 free((void*)args->content); 90 free((void*)args->closebutton_label); 91 free((void*)args->input_value); 92 free(args); 93 } 94 95 96 /* -------------------------- UiDialogWindowArgs -------------------------- */ 97 98 UiDialogWindowArgs* ui_dialogwindow_args_new(void) { 99 UiDialogWindowArgs *args = malloc(sizeof(UiDialogWindowArgs)); 100 memset(args, 0, sizeof(UiDialogWindowArgs)); 101 return args; 102 } 103 104 void ui_dialogwindow_args_set_modal(UiDialogWindowArgs *args, UiTri value) { 105 args->modal = value; 106 } 107 108 void ui_dialogwindow_args_set_titlebar_buttons(UiDialogWindowArgs *args, UiTri value) { 109 args->titlebar_buttons = value; 110 } 111 112 void ui_dialogwindow_args_set_show_closebutton(UiDialogWindowArgs *args, UiTri value) { 113 args->show_closebutton = value; 114 } 115 116 void ui_dialogwindow_args_set_title(UiDialogWindowArgs *args, const char *title) { 117 args->title = strdup(title); 118 } 119 120 void ui_dialogwindow_args_set_lbutton1(UiDialogWindowArgs *args, const char *label) { 121 args->lbutton1 = strdup(label); 122 } 123 124 void ui_dialogwindow_args_set_lbutton2(UiDialogWindowArgs *args, const char *label) { 125 args->lbutton2 = strdup(label); 126 } 127 128 void ui_dialogwindow_args_set_rbutton3(UiDialogWindowArgs *args, const char *label) { 129 args->rbutton3 = strdup(label); 130 } 131 132 void ui_dialogwindow_args_set_rbutton4(UiDialogWindowArgs *args, const char *label) { 133 args->rbutton4 = strdup(label); 134 } 135 136 void ui_dialogwindow_args_set_lbutton1_states(UiDialogWindowArgs *args, const int *states) { 137 // TODO 138 } 139 140 void ui_dialogwindow_args_set_lbutton2_states(UiDialogWindowArgs *args, const int *states) { 141 // TODO 142 } 143 144 void ui_dialogwindow_args_set_rbutton3_states(UiDialogWindowArgs *args, const int *states) { 145 // TODO 146 } 147 148 void ui_dialogwindow_args_set_rbutton4_states(UiDialogWindowArgs *args, const int *states) { 149 // TODO 150 } 151 152 void ui_dialogwindow_args_set_default_button(UiDialogWindowArgs *args, int button) { 153 args->default_button = button; 154 } 155 156 void ui_dialogwindow_args_set_width(UiDialogWindowArgs *args, int width) { 157 args->width = width; 158 } 159 160 void ui_dialogwindow_args_set_height(UiDialogWindowArgs *args, int height) { 161 args->height = height; 162 } 163 164 void ui_dialogwindow_args_set_onclick(UiDialogWindowArgs *args, ui_callback cb) { 165 args->onclick = cb; 166 } 167 168 void ui_dialogwindow_args_set_onclickdata(UiDialogWindowArgs *args, void *userdata) { 169 args->onclickdata = userdata; 170 } 171 172 void ui_dialogwindow_args_free(UiDialogWindowArgs *args) { 173 free((void*)args->title); 174 free((void*)args->lbutton1); 175 free((void*)args->lbutton2); 176 free((void*)args->rbutton3); 177 free((void*)args->rbutton4); 178 free((void*)args->lbutton1_groups); 179 free((void*)args->lbutton2_groups); 180 free((void*)args->rbutton3_groups); 181 free((void*)args->rbutton4_groups); 182 free(args); 183 } 184 185 186 /* ---------------------------- UiMenuItemArgs ---------------------------- */ 187 188 UiMenuItemArgs* ui_menuitem_args_new(void) { 189 UiMenuItemArgs *args = malloc(sizeof(UiMenuItemArgs)); 190 memset(args, 0, sizeof(UiMenuItemArgs)); 191 return args; 192 } 193 194 void ui_menuitem_args_set_label(UiMenuItemArgs *args, const char *label) { 195 args->label = strdup(label); 196 } 197 198 void ui_menuitem_args_set_stockid(UiMenuItemArgs *args, const char *stockid) { 199 args->stockid = strdup(stockid); 200 } 201 202 void ui_menuitem_args_set_icon(UiMenuItemArgs *args, const char *icon) { 203 args->icon = strdup(icon); 204 } 205 206 void ui_menuitem_args_set_onclick(UiMenuItemArgs *args, ui_callback callback) { 207 args->onclick = callback; 208 } 209 210 void ui_menuitem_args_set_onclickdata(UiMenuItemArgs *args, void *onclickdata) { 211 args->onclickdata = onclickdata; 212 } 213 214 void ui_menuitem_args_free(UiMenuItemArgs *args) { 215 free((void*)args->label); 216 free((void*)args->stockid); 217 free((void*)args->icon); 218 free(args); 219 } 220 221 222 /* ---------------------------- UiMenuToggleItemArgs ---------------------------- */ 223 224 UiMenuToggleItemArgs* ui_menutoggleitem_args_new(void) { 225 UiMenuToggleItemArgs *args = malloc(sizeof(UiMenuToggleItemArgs)); 226 memset(args, 0, sizeof(UiMenuToggleItemArgs)); 227 return args; 228 } 229 230 void ui_menutoggleitem_args_set_label(UiMenuToggleItemArgs *args, const char *label) { 231 args->label = strdup(label); 232 } 233 234 void ui_menutoggleitem_args_set_stockid(UiMenuToggleItemArgs *args, const char *stockid) { 235 args->stockid = strdup(stockid); 236 } 237 238 void ui_menutoggleitem_args_set_icon(UiMenuToggleItemArgs *args, const char *icon) { 239 args->icon = strdup(icon); 240 } 241 242 void ui_menutoggleitem_args_set_varname(UiMenuToggleItemArgs *args, const char *varname) { 243 args->varname = strdup(varname); 244 } 245 246 void ui_menutoggleitem_args_set_onchange(UiMenuToggleItemArgs *args, ui_callback callback) { 247 args->onchange = callback; 248 } 249 250 void ui_menutoggleitem_args_set_onchangedata(UiMenuToggleItemArgs *args, void *onclickdata) { 251 args->onchangedata = onclickdata; 252 } 253 254 void ui_menutoggleitem_args_free(UiMenuToggleItemArgs *args) { 255 free((void*)args->label); 256 free((void*)args->stockid); 257 free((void*)args->icon); 258 free((void*)args->varname); 259 free(args); 260 } 261 262 /* --------------------------- UiMenuItemListArgs --------------------------- */ 263 264 UiMenuItemListArgs* ui_menuitemlist_args_new(void) { 265 UiMenuItemListArgs *args = malloc(sizeof(UiMenuItemListArgs)); 266 memset(args, 0, sizeof(UiMenuItemListArgs)); 267 return args; 268 } 269 270 void ui_menuitemlist_args_set_varname(UiMenuItemListArgs *args, const char *varname) { 271 args->varname = strdup(varname); 272 } 273 274 void ui_menuitemlist_args_set_getvalue(UiMenuItemListArgs *args, ui_getvaluefunc func) { 275 args->getvalue = func; 276 } 277 278 void ui_menuitemlist_args_set_onselect(UiMenuItemListArgs *args, ui_callback callback) { 279 args->onselect = callback; 280 } 281 282 void ui_menuitemlist_args_set_onselectdata(UiMenuItemListArgs *args, void *data){ 283 args->onselectdata = data; 284 } 285 286 void ui_menuitemlist_args_set_addseparator(UiMenuItemListArgs *args, UiBool value) { 287 args->addseparator = value; 288 } 289 290 void ui_menuitemlist_args_free(UiMenuItemListArgs *args){ 291 free((void*)args->varname); 292 free(args); 293 } 294 295 /* --------------------------- UiToolbarItemArgs --------------------------- */ 296 297 UiToolbarItemArgs* ui_toolbar_item_args_new(void) { 298 UiToolbarItemArgs *args = malloc(sizeof(UiToolbarItemArgs)); 299 memset(args, 0, sizeof(UiToolbarItemArgs)); 300 return args; 301 } 302 303 void ui_toolbar_item_args_set_label(UiToolbarItemArgs *args, const char *label) { 304 args->label = strdup(label); 305 } 306 307 void ui_toolbar_item_args_set_stockid(UiToolbarItemArgs *args, const char *stockid) { 308 args->stockid = strdup(stockid); 309 } 310 311 void ui_toolbar_item_args_set_icon(UiToolbarItemArgs *args, const char *icon) { 312 args->icon = strdup(icon); 313 } 314 315 void ui_toolbar_item_args_set_onclick(UiToolbarItemArgs *args, ui_callback callback) { 316 args->onclick = callback; 317 } 318 319 void ui_toolbar_item_args_set_onclickdata(UiToolbarItemArgs *args, void *onclickdata) { 320 args->onclickdata = onclickdata; 321 } 322 323 void ui_toolbar_item_args_set_groups(UiToolbarItemArgs *args, int *states, int numstates) { 324 args->groups = calloc(numstates+1, sizeof(int)); 325 memcpy((void*)args->groups, states, numstates * sizeof(int)); 326 ((int*)args->groups)[numstates] = -1; 327 } 328 void ui_toolbar_item_args_free(UiToolbarItemArgs *args) { 329 free((void*)args->label); 330 free((void*)args->stockid); 331 free((void*)args->icon); 332 free((void*)args->groups); 333 free(args); 334 } 335 336 /* ---------------------------- UiToolbarToggleItemArgs ---------------------------- */ 337 338 UiToolbarToggleItemArgs* ui_toolbar_toggleitem_args_new(void) { 339 UiToolbarToggleItemArgs *args = malloc(sizeof(UiToolbarToggleItemArgs)); 340 memset(args, 0, sizeof(UiToolbarToggleItemArgs)); 341 return args; 342 } 343 344 345 void ui_toolbar_toggleitem_args_set_label(UiToolbarToggleItemArgs *args, const char *label) { 346 args->label = strdup(label); 347 } 348 349 350 void ui_toolbar_toggleitem_args_set_stockid(UiToolbarToggleItemArgs *args, const char *stockid) { 351 args->stockid = strdup(stockid); 352 } 353 354 355 void ui_toolbar_toggleitem_args_set_icon(UiToolbarToggleItemArgs *args, const char *icon) { 356 args->icon = strdup(icon); 357 } 358 359 360 void ui_toolbar_toggleitem_args_set_varname(UiToolbarToggleItemArgs *args, const char *varname) { 361 args->varname = strdup(varname); 362 } 363 364 365 void ui_toolbar_toggleitem_args_set_onchange(UiToolbarToggleItemArgs *args, ui_callback callback) { 366 args->onchange = callback; 367 } 368 369 370 void ui_toolbar_toggleitem_args_set_onchangedata(UiToolbarToggleItemArgs *args, void *onchangedata) { 371 args->onchangedata = onchangedata; 372 } 373 374 375 void ui_toolbar_toggleitem_args_set_groups(UiToolbarToggleItemArgs *args,int *states, int numstates) { 376 args->groups = calloc(numstates+1, sizeof(int)); 377 memcpy((void*)args->groups, states, numstates * sizeof(int)); 378 ((int*)args->groups)[numstates] = -1; 379 } 380 381 382 void ui_toolbar_toggleitem_args_free(UiToolbarToggleItemArgs *args) { 383 free((void*)args->label); 384 free((void*)args->stockid); 385 free((void*)args->icon); 386 free((void*)args->varname); 387 free((void*)args->groups); 388 free(args); 389 } 390 391 /* ---------------------------- UiToolbarMenuArgs ---------------------------- */ 392 393 394 UiToolbarMenuArgs* ui_toolbar_menu_args_new(void) { 395 UiToolbarMenuArgs *args = malloc(sizeof(UiToolbarMenuArgs)); 396 memset(args, 0, sizeof(UiToolbarMenuArgs)); 397 return args; 398 } 399 400 401 void ui_toolbar_menu_args_set_label(UiToolbarMenuArgs *args, const char *label) { 402 args->label = strdup(label); 403 } 404 405 406 void ui_toolbar_menu_args_set_stockid(UiToolbarMenuArgs *args, const char *stockid) { 407 args->stockid = strdup(stockid); 408 } 409 410 411 void ui_toolbar_menu_args_set_icon(UiToolbarMenuArgs *args, const char *icon) { 412 args->icon = strdup(icon); 413 } 414 415 416 void ui_toolbar_menu_args_free(UiToolbarMenuArgs *args) { 417 free((void*)args->label); 418 free((void*)args->stockid); 419 free((void*)args->icon); 420 free(args); 421 } 422 423 424 /* ---------------------------- UiContainerArgs ---------------------------- */ 425 426 UiContainerArgs* ui_container_args_new(void) { 427 UiContainerArgs *args = malloc(sizeof(UiContainerArgs)); 428 memset(args, 0, sizeof(UiContainerArgs)); 429 return args; 430 } 431 432 void ui_container_args_set_fill(UiContainerArgs *args, UiBool fill) { 433 args->fill = fill; 434 } 435 436 void ui_container_args_set_hexpand(UiContainerArgs *args, UiBool value) { 437 args->hexpand = value; 438 } 439 440 441 void ui_container_args_set_vexpand(UiContainerArgs *args, UiBool value) { 442 args->vexpand = value; 443 } 444 445 446 void ui_container_args_set_hfill(UiContainerArgs *args, UiBool value) { 447 args->hfill = value; 448 } 449 450 451 void ui_container_args_set_vfill(UiContainerArgs *args, UiBool value) { 452 args->vfill = value; 453 } 454 455 456 void ui_container_args_set_override_defaults(UiContainerArgs *args, UiBool value) { 457 args->override_defaults = value; 458 } 459 460 461 void ui_container_args_set_colspan(UiContainerArgs *args, int colspan) { 462 args->colspan = colspan; 463 } 464 465 466 void ui_container_args_set_rowspan(UiContainerArgs *args, int rowspan) { 467 args->rowspan = rowspan; 468 } 469 470 471 void ui_container_args_set_def_hexpand(UiContainerArgs *args, UiBool value) { 472 args->def_hexpand = value; 473 } 474 475 476 void ui_container_args_set_def_vexpand(UiContainerArgs *args, UiBool value) { 477 args->def_vexpand = value; 478 } 479 480 481 void ui_container_args_set_def_hfill(UiContainerArgs *args, UiBool value) { 482 args->def_hfill = value; 483 } 484 485 486 void ui_container_args_set_def_vfill(UiContainerArgs *args, UiBool value) { 487 args->def_vfill = value; 488 } 489 490 491 void ui_container_args_set_name(UiContainerArgs *args, const char *name) { 492 args->name = strdup(name); 493 } 494 495 496 void ui_container_args_set_style_class(UiContainerArgs *args, const char *classname) { 497 args->style_class = strdup(classname); 498 } 499 500 501 void ui_container_args_set_margin(UiContainerArgs *args, int value) { 502 args->margin = value; 503 } 504 505 506 void ui_container_args_set_spacing(UiContainerArgs *args, int value) { 507 args->spacing = value; 508 } 509 510 511 void ui_container_args_set_columnspacing(UiContainerArgs *args, int value) { 512 args->columnspacing = value; 513 } 514 515 516 void ui_container_args_set_rowspacing(UiContainerArgs *args, int value) { 517 args->rowspacing = value; 518 } 519 520 521 void ui_container_args_free(UiContainerArgs *args) { 522 free((void*)args->name); 523 free((void*)args->style_class); 524 free(args); 525 } 526 527 528 /* ------------------------------- UiFrameArgs ------------------------------*/ 529 530 UiFrameArgs* ui_frame_args_new(void) { 531 UiFrameArgs *args = malloc(sizeof(UiFrameArgs)); 532 memset(args, 0, sizeof(UiContainerArgs)); 533 return args; 534 } 535 536 537 void ui_frame_args_set_fill(UiFrameArgs *args, UiBool fill) { 538 args->fill = fill; 539 } 540 541 542 void ui_frame_args_set_hexpand(UiFrameArgs *args, UiBool value) { 543 args->hexpand = value; 544 } 545 546 547 void ui_frame_args_set_vexpand(UiFrameArgs *args, UiBool value) { 548 args->vexpand = value; 549 } 550 551 552 void ui_frame_args_set_hfill(UiFrameArgs *args, UiBool value) { 553 args->hfill = value; 554 } 555 556 557 void ui_frame_args_set_vfill(UiFrameArgs *args, UiBool value) { 558 args->vfill = value; 559 } 560 561 562 void ui_frame_args_set_override_defaults(UiFrameArgs *args, UiBool value) { 563 args->override_defaults = value; 564 } 565 566 567 void ui_frame_args_set_colspan(UiFrameArgs *args, int colspan) { 568 args->colspan = colspan; 569 } 570 571 572 void ui_frame_args_set_rowspan(UiFrameArgs *args, int rowspan) { 573 args->rowspan = rowspan; 574 } 575 576 577 void ui_frame_args_set_name(UiFrameArgs *args, const char *name) { 578 args->name = strdup(name); 579 } 580 581 582 void ui_frame_args_set_style_class(UiFrameArgs *args, const char *classname) { 583 args->style_class = strdup(classname); 584 } 585 586 587 void ui_frame_args_set_margin(UiFrameArgs *args, int value) { 588 args->margin = value; 589 } 590 591 592 void ui_frame_args_set_spacing(UiFrameArgs *args, int value) { 593 args->spacing = value; 594 } 595 596 597 void ui_frame_args_set_columnspacing(UiFrameArgs *args, int value) { 598 args->columnspacing = value; 599 } 600 601 602 void ui_frame_args_set_rowspacing(UiFrameArgs *args, int value) { 603 args->rowspacing = value; 604 } 605 606 607 void ui_frame_args_set_expanded(UiFrameArgs *args, UiBool value) { 608 args->isexpanded = value; 609 } 610 611 612 void ui_frame_args_set_label(UiFrameArgs *args, const char *label) { 613 args->label = strdup(label); 614 } 615 616 617 void ui_frame_args_free(UiFrameArgs *args) { 618 free((void*)args->name); 619 free((void*)args->style_class); 620 free((void*)args->label); 621 free(args); 622 } 623 624 625 /* ---------------------------- UiSidebarArgs -------------------------------*/ 626 627 UiSidebarArgs* ui_sidebar_args_new(void) { 628 UiSidebarArgs *args = malloc(sizeof(UiSidebarArgs)); 629 memset(args, 0, sizeof(UiSidebarArgs)); 630 return args; 631 } 632 633 634 void ui_sidebar_args_set_name(UiSidebarArgs *args, const char *name) { 635 args->name = strdup(name); 636 } 637 638 639 void ui_sidebar_args_set_style_class(UiSidebarArgs *args, const char *classname) { 640 args->style_class = strdup(classname); 641 } 642 643 644 void ui_sidebar_args_set_margin(UiSidebarArgs *args, int value) { 645 args->margin = value; 646 } 647 648 649 void ui_sidebar_args_set_spacing(UiSidebarArgs *args, int value) { 650 args->spacing = value; 651 } 652 653 654 void ui_sidebar_args_free(UiSidebarArgs *args) { 655 free((void*)args->name); 656 free((void*)args->style_class); 657 free(args); 658 } 659 660 661 /* --------------------------- UiSplitPaneArgs ------------------------------*/ 662 663 UiSplitPaneArgs* ui_splitpane_args_new(void) { 664 UiSplitPaneArgs *args = malloc(sizeof(UiSplitPaneArgs)); 665 memset(args, 0, sizeof(UiSplitPaneArgs)); 666 return args; 667 } 668 669 670 void ui_splitpane_args_set_fill(UiSplitPaneArgs *args, UiBool fill) { 671 args->fill = fill; 672 } 673 674 675 void ui_splitpane_args_set_hexpand(UiSplitPaneArgs *args, UiBool value) { 676 args->hexpand = value; 677 } 678 679 680 void ui_splitpane_args_set_vexpand(UiSplitPaneArgs *args, UiBool value) { 681 args->vexpand = value; 682 } 683 684 685 void ui_splitpane_args_set_hfill(UiSplitPaneArgs *args, UiBool value) { 686 args->hfill = value; 687 } 688 689 690 void ui_splitpane_args_set_vfill(UiSplitPaneArgs *args, UiBool value) { 691 args->vfill = value; 692 } 693 694 695 void ui_splitpane_args_set_override_defaults(UiSplitPaneArgs *args, UiBool value) { 696 args->override_defaults = value; 697 } 698 699 700 void ui_splitpane_args_set_colspan(UiSplitPaneArgs *args, int colspan) { 701 args->colspan = colspan; 702 } 703 704 705 void ui_splitpane_args_set_rowspan(UiSplitPaneArgs *args, int rowspan) { 706 args->rowspan = rowspan; 707 } 708 709 710 void ui_splitpane_args_set_name(UiSplitPaneArgs *args, const char *name) { 711 args->name = strdup(name); 712 } 713 714 715 void ui_splitpane_args_set_style_class(UiSplitPaneArgs *args, const char *classname) { 716 args->style_class = strdup(classname); 717 } 718 719 720 void ui_splitpane_args_set_margin(UiSplitPaneArgs *args, int value) { 721 args->margin = value; 722 } 723 724 725 void ui_splitpane_args_set_spacing(UiSplitPaneArgs *args, int value) { 726 args->spacing = value; 727 } 728 729 730 void ui_splitpane_args_set_columnspacing(UiSplitPaneArgs *args, int value) { 731 args->columnspacing = value; 732 } 733 734 735 void ui_splitpane_args_set_rowspacing(UiSplitPaneArgs *args, int value) { 736 args->rowspacing = value; 737 } 738 739 740 void ui_splitpane_args_set_initial_position(UiSplitPaneArgs *args, int pos) { 741 args->initial_position = pos; 742 } 743 744 void ui_splitpane_args_set_position_property(UiSplitPaneArgs *args, const char *propname) { 745 args->position_property = strdup(propname); 746 } 747 748 void ui_splitpane_args_set_varname(UiSplitPaneArgs *args, const char *varname) { 749 args->varname = strdup(varname); 750 } 751 752 753 void ui_splitpane_args_set_value(UiSplitPaneArgs *args, UiInteger *value) { 754 args->value = value; 755 } 756 757 void ui_splitpane_args_set_max_panes(UiSplitPaneArgs *args, int max) { 758 args->max_panes = max; 759 } 760 761 762 void ui_splitpane_args_free(UiSplitPaneArgs *args) { 763 free((void*)args->name); 764 free((void*)args->style_class); 765 free((void*)args->varname); 766 free((void*)args->position_property); 767 free(args); 768 } 769 770 771 /* ---------------------------- UiTabViewArgs ---------------------------- */ 772 773 UiTabViewArgs* ui_tabview_args_new(void) { 774 UiTabViewArgs *args = malloc(sizeof(UiTabViewArgs)); 775 memset(args, 0, sizeof(UiTabViewArgs)); 776 return args; 777 } 778 779 void ui_tabview_args_set_fill(UiTabViewArgs *args, UiBool fill) { 780 args->fill = fill; 781 } 782 783 void ui_tabview_args_set_hexpand(UiTabViewArgs *args, UiBool value) { 784 args->hexpand = value; 785 } 786 787 788 void ui_tabview_args_set_vexpand(UiTabViewArgs *args, UiBool value) { 789 args->vexpand = value; 790 } 791 792 793 void ui_tabview_args_set_hfill(UiTabViewArgs *args, UiBool value) { 794 args->hfill = value; 795 } 796 797 798 void ui_tabview_args_set_vfill(UiTabViewArgs *args, UiBool value) { 799 args->vfill = value; 800 } 801 802 803 void ui_tabview_args_set_override_defaults(UiTabViewArgs *args, UiBool value) { 804 args->override_defaults = value; 805 } 806 807 808 void ui_tabview_args_set_colspan(UiTabViewArgs *args, int colspan) { 809 args->colspan = colspan; 810 } 811 812 813 void ui_tabview_args_set_rowspan(UiTabViewArgs *args, int rowspan) { 814 args->rowspan = rowspan; 815 } 816 817 818 void ui_tabview_args_set_name(UiTabViewArgs *args, const char *name) { 819 args->name = strdup(name); 820 } 821 822 823 void ui_tabview_args_set_style_class(UiTabViewArgs *args, const char *classname) { 824 args->style_class = strdup(classname); 825 } 826 827 828 void ui_tabview_args_set_margin(UiTabViewArgs *args, int value) { 829 args->margin = value; 830 } 831 832 833 void ui_tabview_args_set_spacing(UiTabViewArgs *args, int value) { 834 args->spacing = value; 835 } 836 837 838 void ui_tabview_args_set_columnspacing(UiTabViewArgs *args, int value) { 839 args->columnspacing = value; 840 } 841 842 843 void ui_tabview_args_set_rowspacing(UiTabViewArgs *args, int value) { 844 args->rowspacing = value; 845 } 846 847 void ui_tabview_args_set_type(UiTabViewArgs *args, UiTabViewType tabview) { 848 args->tabview = tabview; 849 } 850 851 void ui_tabview_args_set_onchange(UiTabViewArgs *args, ui_callback cb) { 852 args->onchange = cb; 853 } 854 855 void ui_tabview_args_set_onchangedata(UiTabViewArgs *args, void *userdata) { 856 args->onchangedata = userdata; 857 } 858 859 void ui_tabview_args_set_varname(UiTabViewArgs *args, const char *varname) { 860 args->varname = strdup(varname); 861 } 862 863 void ui_tabview_args_set_value(UiTabViewArgs *args, UiInteger *value) { 864 args->value = value; 865 } 866 867 void ui_tabview_args_set_subcontainer(UiTabViewArgs *args, UiSubContainerType subcontainer) { 868 args->subcontainer = subcontainer; 869 } 870 871 void ui_tabview_args_free(UiTabViewArgs *args) { 872 free((void*)args->name); 873 free((void*)args->style_class); 874 free((void*)args->varname); 875 free(args); 876 } 877 878 879 /* ------------------------- UiWidgetArgs ----------------------------*/ 880 881 UiWidgetArgs* ui_widget_args_new(void) { 882 UiWidgetArgs *args = malloc(sizeof(UiWidgetArgs)); 883 memset(args, 0, sizeof(UiWidgetArgs)); 884 return args; 885 } 886 887 888 void ui_widget_args_set_fill(UiWidgetArgs *args, UiBool fill) { 889 args->fill = fill; 890 } 891 892 893 void ui_widget_args_set_hexpand(UiWidgetArgs *args, UiBool value) { 894 args->hexpand = value; 895 } 896 897 898 void ui_widget_args_set_vexpand(UiWidgetArgs *args, UiBool value) { 899 args->vexpand = value; 900 } 901 902 903 void ui_widget_args_set_hfill(UiWidgetArgs *args, UiBool value) { 904 args->hfill = value; 905 } 906 907 908 void ui_widget_args_set_vfill(UiWidgetArgs *args, UiBool value) { 909 args->vfill = value; 910 } 911 912 913 void ui_widget_args_set_override_defaults(UiWidgetArgs *args, UiBool value) { 914 args->override_defaults = value; 915 } 916 917 918 void ui_widget_args_set_colspan(UiWidgetArgs *args, int colspan) { 919 args->colspan = colspan; 920 } 921 922 923 void ui_widget_args_set_rowspan(UiWidgetArgs *args, int rowspan) { 924 args->rowspan = rowspan; 925 } 926 927 928 void ui_widget_args_set_name(UiWidgetArgs *args, const char *name) { 929 args->name = strdup(name); 930 } 931 932 933 void ui_widget_args_set_style_class(UiWidgetArgs *args, const char *classname) { 934 args->style_class = strdup(classname); 935 } 936 937 void ui_widget_args_free(UiWidgetArgs *args) { 938 free((void*)args->name); 939 free((void*)args->style_class); 940 free(args); 941 } 942 943 944 /* ------------------------- UiLabelArgs ----------------------------*/ 945 946 947 UiLabelArgs* ui_label_args_new(void) { 948 UiLabelArgs *args = malloc(sizeof(UiLabelArgs)); 949 memset(args, 0, sizeof(UiLabelArgs)); 950 return args; 951 } 952 953 954 void ui_label_args_set_fill(UiLabelArgs *args, UiBool fill) { 955 args->fill = fill; 956 } 957 958 959 void ui_label_args_set_hexpand(UiLabelArgs *args, UiBool value) { 960 args->hexpand = value; 961 } 962 963 964 void ui_label_args_set_vexpand(UiLabelArgs *args, UiBool value) { 965 args->vexpand = value; 966 } 967 968 969 void ui_label_args_set_hfill(UiLabelArgs *args, UiBool value) { 970 args->hfill = value; 971 } 972 973 974 void ui_label_args_set_vfill(UiLabelArgs *args, UiBool value) { 975 args->vfill = value; 976 } 977 978 979 void ui_label_args_set_override_defaults(UiLabelArgs *args, UiBool value) { 980 args->override_defaults = value; 981 } 982 983 984 void ui_label_args_set_colspan(UiLabelArgs *args, int colspan) { 985 args->colspan = colspan; 986 } 987 988 989 void ui_label_args_set_rowspan(UiLabelArgs *args, int rowspan) { 990 args->rowspan = rowspan; 991 } 992 993 994 void ui_label_args_set_name(UiLabelArgs *args, const char *name) { 995 args->name = strdup(name); 996 } 997 998 999 void ui_label_args_set_style_class(UiLabelArgs *args, const char *classname) { 1000 args->style_class = strdup(classname); 1001 } 1002 1003 void ui_label_args_set_label(UiLabelArgs *args, const char *label){ 1004 args->label = strdup(label); 1005 } 1006 1007 1008 void ui_label_args_set_align(UiLabelArgs *args, UiAlignment align) { 1009 args->align = align; 1010 } 1011 1012 void ui_label_args_set_style(UiLabelArgs *args, UiLabelStyle style) { 1013 args->style = style; 1014 } 1015 1016 void ui_label_args_set_varname(UiLabelArgs *args, const char *varname) { 1017 args->varname = strdup(varname); 1018 } 1019 1020 void ui_label_args_set_value(UiLabelArgs *args, UiString *value) { 1021 args->value = value; 1022 } 1023 1024 void ui_label_args_free(UiLabelArgs *args) { 1025 free((void*)args->name); 1026 free((void*)args->style_class); 1027 free((void*)args->label); 1028 free((void*)args->varname); 1029 free(args); 1030 } 1031 1032 1033 /* ------------------------- UiProgressbarArgs ----------------------------*/ 1034 1035 1036 UiProgressbarArgs* ui_progressbar_args_new(void) { 1037 UiProgressbarArgs *args = malloc(sizeof(UiProgressbarArgs)); 1038 memset(args, 0, sizeof(UiProgressbarArgs)); 1039 return args; 1040 } 1041 1042 1043 void ui_progressbar_args_set_fill(UiProgressbarArgs *args, UiBool fill) { 1044 args->fill = fill; 1045 } 1046 1047 1048 void ui_progressbar_args_set_hexpand(UiProgressbarArgs *args, UiBool value) { 1049 args->hexpand = value; 1050 } 1051 1052 1053 void ui_progressbar_args_set_vexpand(UiProgressbarArgs *args, UiBool value) { 1054 args->vexpand = value; 1055 } 1056 1057 1058 void ui_progressbar_args_set_hfill(UiProgressbarArgs *args, UiBool value) { 1059 args->hfill = value; 1060 } 1061 1062 1063 void ui_progressbar_args_set_vfill(UiProgressbarArgs *args, UiBool value) { 1064 args->vfill = value; 1065 } 1066 1067 1068 void ui_progressbar_args_set_override_defaults(UiProgressbarArgs *args, UiBool value) { 1069 args->override_defaults = value; 1070 } 1071 1072 1073 void ui_progressbar_args_set_colspan(UiProgressbarArgs *args, int colspan) { 1074 args->colspan = colspan; 1075 } 1076 1077 1078 void ui_progressbar_args_set_rowspan(UiProgressbarArgs *args, int rowspan) { 1079 args->rowspan = rowspan; 1080 } 1081 1082 1083 void ui_progressbar_args_set_name(UiProgressbarArgs *args, const char *name) { 1084 args->name = strdup(name); 1085 } 1086 1087 1088 void ui_progressbar_args_set_style_class(UiProgressbarArgs *args, const char *classname) { 1089 args->style_class = strdup(classname); 1090 } 1091 1092 void ui_progressbar_args_set_min(UiProgressbarArgs *args, double min) { 1093 args->min = min; 1094 } 1095 1096 void ui_progressbar_args_set_max(UiProgressbarArgs *args, double max) { 1097 args->max = max; 1098 } 1099 1100 void ui_progressbar_args_set_varname(UiProgressbarArgs *args, const char *varname) { 1101 args->varname = strdup(varname); 1102 } 1103 1104 void ui_progressbar_args_set_value(UiProgressbarArgs *args, UiDouble *value) { 1105 args->value = value; 1106 } 1107 1108 void ui_progressbar_args_free(UiProgressbarArgs *args) { 1109 free((void*)args->name); 1110 free((void*)args->style_class); 1111 free((void*)args->varname); 1112 free(args); 1113 } 1114 1115 1116 /* ------------------------- UiProgressbarSpinnerArgs ----------------------------*/ 1117 1118 UiProgressbarSpinnerArgs* ui_progress_spinner_args_new(void) { 1119 UiProgressbarSpinnerArgs *args = malloc(sizeof(UiProgressbarSpinnerArgs)); 1120 memset(args, 0, sizeof(UiProgressbarSpinnerArgs)); 1121 return args; 1122 } 1123 1124 void ui_progress_spinner_args_set_fill(UiProgressbarSpinnerArgs *args, UiBool fill) { 1125 args->fill = fill; 1126 } 1127 1128 void ui_progress_spinner_args_set_hexpand(UiProgressbarSpinnerArgs *args, UiBool value) { 1129 args->hexpand = value; 1130 } 1131 1132 void ui_progress_spinner_args_set_vexpand(UiProgressbarSpinnerArgs *args, UiBool value) { 1133 args->vexpand = value; 1134 } 1135 1136 void ui_progress_spinner_args_set_hfill(UiProgressbarSpinnerArgs *args, UiBool value) { 1137 args->hfill = value; 1138 } 1139 1140 void ui_progress_spinner_args_set_vfill(UiProgressbarSpinnerArgs *args, UiBool value) { 1141 args->vfill = value; 1142 } 1143 1144 void ui_progress_spinner_args_set_override_defaults(UiProgressbarSpinnerArgs *args, UiBool value) { 1145 args->override_defaults = value; 1146 } 1147 1148 void ui_progress_spinner_args_set_colspan(UiProgressbarSpinnerArgs *args, int colspan) { 1149 args->colspan = colspan; 1150 } 1151 1152 void ui_progress_spinner_args_set_rowspan(UiProgressbarSpinnerArgs *args, int rowspan) { 1153 args->rowspan = rowspan; 1154 } 1155 1156 void ui_progress_spinner_args_set_name(UiProgressbarSpinnerArgs *args, const char *name) { 1157 args->name = strdup(name); 1158 } 1159 1160 void ui_progress_spinner_args_set_style_class(UiProgressbarSpinnerArgs *args, const char *classname) { 1161 args->style_class = strdup(classname); 1162 } 1163 1164 void ui_progress_spinner_args_set_varname(UiProgressbarSpinnerArgs *args, const char *varname) { 1165 args->varname = strdup(varname); 1166 } 1167 1168 void ui_progress_spinner_args_set_value(UiProgressbarSpinnerArgs *args, UiInteger *value) { 1169 args->value = value; 1170 } 1171 1172 void ui_progress_spinner_args_free(UiProgressbarSpinnerArgs *args) { 1173 free((void*)args->name); 1174 free((void*)args->style_class); 1175 free((void*)args->varname); 1176 free(args); 1177 } 1178 1179 1180 /* ---------------------------- UiButtonArgs -------------------------------*/ 1181 1182 UiButtonArgs* ui_button_args_new(void) { 1183 UiButtonArgs *args = malloc(sizeof(UiButtonArgs)); 1184 memset(args, 0, sizeof(UiButtonArgs)); 1185 return args; 1186 } 1187 1188 1189 void ui_button_args_set_fill(UiButtonArgs *args, UiBool fill) { 1190 args->fill = fill; 1191 } 1192 1193 1194 void ui_button_args_set_hexpand(UiButtonArgs *args, UiBool value) { 1195 args->hexpand = value; 1196 } 1197 1198 1199 void ui_button_args_set_vexpand(UiButtonArgs *args, UiBool value) { 1200 args->vexpand = value; 1201 } 1202 1203 1204 void ui_button_args_set_hfill(UiButtonArgs *args, UiBool value) { 1205 args->hfill = value; 1206 } 1207 1208 1209 void ui_button_args_set_vfill(UiButtonArgs *args, UiBool value) { 1210 args->vfill = value; 1211 } 1212 1213 1214 void ui_button_args_set_override_defaults(UiButtonArgs *args, UiBool value) { 1215 args->override_defaults = value; 1216 } 1217 1218 1219 void ui_button_args_set_colspan(UiButtonArgs *args, int colspan) { 1220 args->colspan = colspan; 1221 } 1222 1223 1224 void ui_button_args_set_rowspan(UiButtonArgs *args, int rowspan) { 1225 args->rowspan = rowspan; 1226 } 1227 1228 1229 void ui_button_args_set_name(UiButtonArgs *args, const char *name) { 1230 args->name = strdup(name); 1231 } 1232 1233 1234 void ui_button_args_set_style_class(UiButtonArgs *args, const char *classname) { 1235 args->style_class = strdup(classname); 1236 } 1237 1238 void ui_button_args_set_label(UiButtonArgs *args, const char *label){ 1239 args->label = strdup(label); 1240 } 1241 1242 1243 void ui_button_args_set_stockid(UiButtonArgs *args, const char *stockid){ 1244 args->stockid = strdup(stockid); 1245 } 1246 1247 1248 void ui_button_args_set_icon(UiButtonArgs *args, const char *icon){ 1249 args->icon = strdup(icon); 1250 } 1251 1252 1253 void ui_button_args_set_labeltype(UiButtonArgs *args, int labeltype){ 1254 args->labeltype = labeltype; 1255 } 1256 1257 void ui_button_args_set_onclick(UiButtonArgs *args, ui_callback callback){ 1258 args->onclick = callback; 1259 } 1260 1261 1262 void ui_button_args_set_onclickdata(UiButtonArgs *args, void *onclickdata){ 1263 args->onclickdata = onclickdata; 1264 } 1265 1266 void ui_button_args_set_groups(UiButtonArgs *args, int *states, int numstates) { 1267 args->groups = calloc(numstates+1, sizeof(int)); 1268 memcpy((void*)args->groups, states, numstates * sizeof(int)); 1269 ((int*)args->groups)[numstates] = -1; 1270 } 1271 1272 void ui_button_args_free(UiButtonArgs *args) { 1273 free((void*)args->name); 1274 free((void*)args->style_class); 1275 free((void*)args->label); 1276 free((void*)args->stockid); 1277 free((void*)args->icon); 1278 free((void*)args->groups); 1279 free(args); 1280 } 1281 1282 1283 /* ------------------------- UiToggleArgs ----------------------------*/ 1284 1285 1286 UiToggleArgs* ui_toggle_args_new(void) { 1287 UiToggleArgs *args = malloc(sizeof(UiToggleArgs)); 1288 memset(args, 0, sizeof(UiToggleArgs)); 1289 return args; 1290 } 1291 1292 1293 void ui_toggle_args_set_fill(UiToggleArgs *args, UiBool fill) { 1294 args->fill = fill; 1295 } 1296 1297 1298 void ui_toggle_args_set_hexpand(UiToggleArgs *args, UiBool value) { 1299 args->hexpand = value; 1300 } 1301 1302 1303 void ui_toggle_args_set_vexpand(UiToggleArgs *args, UiBool value) { 1304 args->vexpand = value; 1305 } 1306 1307 1308 void ui_toggle_args_set_hfill(UiToggleArgs *args, UiBool value) { 1309 args->hfill = value; 1310 } 1311 1312 1313 void ui_toggle_args_set_vfill(UiToggleArgs *args, UiBool value) { 1314 args->vfill = value; 1315 } 1316 1317 1318 void ui_toggle_args_set_override_defaults(UiToggleArgs *args, UiBool value) { 1319 args->override_defaults = value; 1320 } 1321 1322 1323 void ui_toggle_args_set_colspan(UiToggleArgs *args, int colspan) { 1324 args->colspan = colspan; 1325 } 1326 1327 1328 void ui_toggle_args_set_rowspan(UiToggleArgs *args, int rowspan) { 1329 args->rowspan = rowspan; 1330 } 1331 1332 1333 void ui_toggle_args_set_name(UiToggleArgs *args, const char *name) { 1334 args->name = strdup(name); 1335 } 1336 1337 1338 void ui_toggle_args_set_style_class(UiToggleArgs *args, const char *classname) { 1339 args->style_class = strdup(classname); 1340 } 1341 1342 void ui_toggle_args_set_label(UiToggleArgs *args, const char *label){ 1343 args->label = strdup(label); 1344 } 1345 1346 1347 void ui_toggle_args_set_stockid(UiToggleArgs *args, const char *stockid){ 1348 args->stockid = strdup(stockid); 1349 } 1350 1351 1352 void ui_toggle_args_set_icon(UiToggleArgs *args, const char *icon){ 1353 args->icon = strdup(icon); 1354 } 1355 1356 1357 void ui_toggle_args_set_labeltype(UiToggleArgs *args, int labeltype){ 1358 args->labeltype = labeltype; 1359 } 1360 1361 void ui_toggle_args_set_onchange(UiToggleArgs *args, ui_callback callback){ 1362 args->onchange = callback; 1363 } 1364 1365 1366 void ui_toggle_args_set_onchangedata(UiToggleArgs *args, void *onchangedata){ 1367 args->onchangedata = onchangedata; 1368 } 1369 1370 void ui_toggle_args_set_varname(UiToggleArgs *args, const char *varname) { 1371 args->varname = strdup(varname); 1372 } 1373 1374 void ui_toggle_args_set_value(UiToggleArgs *args, UiInteger *value) { 1375 args->value = value; 1376 } 1377 1378 void ui_toggle_args_set_enablegroup(UiToggleArgs *args, int group) { 1379 args->enable_group = group; 1380 } 1381 1382 void ui_toggle_args_set_groups(UiToggleArgs *args, int *states, int numstates) { 1383 args->groups = calloc(numstates+1, sizeof(int)); 1384 memcpy((void*)args->groups, states, numstates * sizeof(int)); 1385 ((int*)args->groups)[numstates] = -1; 1386 } 1387 1388 void ui_toggle_args_free(UiToggleArgs *args) { 1389 free((void*)args->name); 1390 free((void*)args->style_class); 1391 free((void*)args->label); 1392 free((void*)args->stockid); 1393 free((void*)args->icon); 1394 free((void*)args->varname); 1395 free((void*)args->groups); 1396 free(args); 1397 } 1398 1399 /* ------------------------- UiLinkButtonArgs ----------------------------*/ 1400 1401 1402 UiLinkButtonArgs* ui_linkbutton_args_new(void) { 1403 UiLinkButtonArgs *args = malloc(sizeof(UiLinkButtonArgs)); 1404 memset(args, 0, sizeof(UiLinkButtonArgs)); 1405 return args; 1406 } 1407 1408 1409 void ui_linkbutton_args_set_fill(UiLinkButtonArgs *args, UiBool fill) { 1410 args->fill = fill; 1411 } 1412 1413 1414 void ui_linkbutton_args_set_hexpand(UiLinkButtonArgs *args, UiBool value) { 1415 args->hexpand = value; 1416 } 1417 1418 1419 void ui_linkbutton_args_set_vexpand(UiLinkButtonArgs *args, UiBool value) { 1420 args->vexpand = value; 1421 } 1422 1423 1424 void ui_linkbutton_args_set_hfill(UiLinkButtonArgs *args, UiBool value) { 1425 args->hfill = value; 1426 } 1427 1428 1429 void ui_linkbutton_args_set_vfill(UiLinkButtonArgs *args, UiBool value) { 1430 args->vfill = value; 1431 } 1432 1433 1434 void ui_linkbutton_args_set_override_defaults(UiLinkButtonArgs *args, UiBool value) { 1435 args->override_defaults = value; 1436 } 1437 1438 1439 void ui_linkbutton_args_set_colspan(UiLinkButtonArgs *args, int colspan) { 1440 args->colspan = colspan; 1441 } 1442 1443 1444 void ui_linkbutton_args_set_rowspan(UiLinkButtonArgs *args, int rowspan) { 1445 args->rowspan = rowspan; 1446 } 1447 1448 1449 void ui_linkbutton_args_set_name(UiLinkButtonArgs *args, const char *name) { 1450 args->name = strdup(name); 1451 } 1452 1453 1454 void ui_linkbutton_args_set_style_class(UiLinkButtonArgs *args, const char *classname) { 1455 args->style_class = strdup(classname); 1456 } 1457 1458 void ui_linkbutton_args_set_label(UiLinkButtonArgs *args, const char *label){ 1459 args->label = strdup(label); 1460 } 1461 1462 void ui_linkbutton_args_set_uri(UiLinkButtonArgs *args, const char *uri) { 1463 args->uri = strdup(uri); 1464 } 1465 1466 void ui_linkbutton_args_set_onclick(UiLinkButtonArgs *args, ui_callback callback) { 1467 args->onclick = callback; 1468 } 1469 1470 void ui_linkbutton_args_set_onclickdata(UiLinkButtonArgs *args, void *userdata) { 1471 args->onclickdata = userdata; 1472 } 1473 1474 void ui_linkbutton_args_set_nofollow(UiLinkButtonArgs *args, UiBool value) { 1475 args->nofollow = value; 1476 } 1477 1478 void ui_linkbutton_args_set_type(UiLinkButtonArgs *args, UiLinkType type) { 1479 args->type = type; 1480 } 1481 1482 void ui_linkbutton_args_set_varname(UiLinkButtonArgs *args, const char *varname) { 1483 args->varname = strdup(varname); 1484 } 1485 1486 void ui_linkbutton_args_set_value(UiLinkButtonArgs *args, UiString *value) { 1487 args->value = value; 1488 } 1489 1490 void ui_linkbutton_args_set_groups(UiLinkButtonArgs *args, int *states, int numstates) { 1491 args->groups = calloc(numstates+1, sizeof(int)); 1492 memcpy((void*)args->groups, states, numstates * sizeof(int)); 1493 ((int*)args->groups)[numstates] = -1; 1494 } 1495 1496 void ui_linkbutton_args_free(UiLinkButtonArgs *args) { 1497 free((void*)args->name); 1498 free((void*)args->style_class); 1499 free((void*)args->label); 1500 free((void*)args->uri); 1501 free((void*)args->varname); 1502 free((void*)args->groups); 1503 free(args); 1504 } 1505 1506 1507 /* ------------------------- UiListArgs ----------------------------*/ 1508 1509 UiListArgs* ui_list_args_new(void) { 1510 UiListArgs *args = malloc(sizeof(UiListArgs)); 1511 memset(args, 0, sizeof(UiListArgs)); 1512 return args; 1513 } 1514 1515 void ui_list_args_set_fill(UiListArgs *args, UiBool fill) { 1516 args->fill = fill; 1517 } 1518 1519 void ui_list_args_set_hexpand(UiListArgs *args, UiBool value) { 1520 args->hexpand = value; 1521 } 1522 1523 void ui_list_args_set_vexpand(UiListArgs *args, UiBool value) { 1524 args->vexpand = value; 1525 } 1526 1527 void ui_list_args_set_hfill(UiListArgs *args, UiBool value) { 1528 args->hfill = value; 1529 } 1530 1531 void ui_list_args_set_vfill(UiListArgs *args, UiBool value) { 1532 args->vfill = value; 1533 } 1534 1535 void ui_list_args_set_override_defaults(UiListArgs *args, UiBool value) { 1536 args->override_defaults = value; 1537 } 1538 1539 void ui_list_args_set_colspan(UiListArgs *args, int colspan) { 1540 args->colspan = colspan; 1541 } 1542 1543 void ui_list_args_set_rowspan(UiListArgs *args, int rowspan) { 1544 args->rowspan = rowspan; 1545 } 1546 1547 void ui_list_args_set_name(UiListArgs *args, const char *name) { 1548 args->name = strdup(name); 1549 } 1550 1551 void ui_list_args_set_style_class(UiListArgs *args, const char *classname) { 1552 args->style_class = classname; 1553 } 1554 1555 void ui_list_args_set_varname(UiListArgs *args, const char *varname) { 1556 args->varname = strdup(varname); 1557 } 1558 1559 void ui_list_args_set_value(UiListArgs *args, UiList *value) { 1560 args->list = value; 1561 } 1562 1563 void ui_list_args_set_model(UiListArgs *args, UiModel *model) { 1564 args->model = model; 1565 } 1566 1567 void ui_list_args_set_static_elements(UiListArgs *args, char **strarray, size_t nelm) { 1568 char **array = calloc(nelm, sizeof(char*)); 1569 for(int i=0;i<nelm;i++) { 1570 array[i] = strdup(strarray[i]); 1571 } 1572 args->static_elements = array; 1573 args->static_nelm = nelm; 1574 } 1575 1576 void ui_list_args_set_getvalue_func(UiListArgs *args, ui_getvaluefunc getvalue) { 1577 args->getvalue = getvalue; 1578 } 1579 1580 void ui_list_args_set_getvalue_func2(UiListArgs *args, ui_getvaluefunc2 getvalue) { 1581 args->getvalue2 = getvalue; 1582 } 1583 1584 void ui_list_args_set_getvalue_data(UiListArgs *args, void *userdata) { 1585 args->getvalue2data = userdata; 1586 } 1587 1588 void ui_list_args_set_getstyle_func(UiListArgs *args, ui_getstylefunc getstyle) { 1589 args->getstyle = getstyle; 1590 } 1591 1592 void ui_list_args_set_getstyle_data(UiListArgs *args, void *userdata) { 1593 args->getstyledata = userdata; 1594 } 1595 1596 void ui_list_args_set_onactivate(UiListArgs *args, ui_callback callback) { 1597 args->onactivate = callback; 1598 } 1599 1600 void ui_list_args_set_onactivatedata(UiListArgs *args, void *userdata) { 1601 args->onactivatedata = userdata; 1602 } 1603 1604 void ui_list_args_set_onselection(UiListArgs *args, ui_callback callback) { 1605 args->onselection = callback; 1606 } 1607 1608 void ui_list_args_set_onselectiondata(UiListArgs *args, void *userdata) { 1609 args->onselectiondata = userdata; 1610 } 1611 1612 void ui_list_args_set_ondragstart(UiListArgs *args, ui_callback callback) { 1613 args->ondragstart = callback; 1614 } 1615 1616 void ui_list_args_set_ondragstartdata(UiListArgs *args, void *userdata) { 1617 args->ondragstartdata = userdata; 1618 } 1619 1620 void ui_list_args_set_ondragcomplete(UiListArgs *args, ui_callback callback) { 1621 args->ondragcomplete = callback; 1622 } 1623 1624 void ui_list_args_set_ondragcompletedata(UiListArgs *args, void *userdata) { 1625 args->ondragcompletedata = userdata; 1626 } 1627 1628 void ui_list_args_set_ondrop(UiListArgs *args, ui_callback callback) { 1629 args->ondrop = callback; 1630 } 1631 1632 void ui_list_args_set_ondropdata(UiListArgs *args, void *userdata) { 1633 args->ondropdata = userdata; 1634 } 1635 1636 void ui_list_args_set_onsave(UiListArgs *args, ui_list_savefunc onsave) { 1637 args->onsave = onsave; 1638 } 1639 1640 void ui_list_args_set_onsavedata(UiListArgs *args, void *userdata) { 1641 args->onsavedata = userdata; 1642 } 1643 1644 void ui_list_args_set_multiselection(UiListArgs *args, UiBool multiselection) { 1645 args->multiselection = multiselection; 1646 } 1647 1648 void ui_list_args_set_contextmenu(UiListArgs *args, UiMenuBuilder *menubuilder) { 1649 args->contextmenu = menubuilder; 1650 } 1651 1652 void ui_list_args_set_groups(UiListArgs *args, int *states, int numstates) { 1653 args->groups = calloc(numstates+1, sizeof(int)); 1654 memcpy((void*)args->groups, states, numstates * sizeof(int)); 1655 ((int*)args->groups)[numstates] = -1; 1656 } 1657 1658 void ui_list_args_free(UiListArgs *args) { 1659 free((void*)args->name); 1660 free((void*)args->style_class); 1661 free((void*)args->varname); 1662 if(args->static_elements) { 1663 for(int i=0;i<args->static_nelm;i++) { 1664 free(args->static_elements[i]); 1665 } 1666 free(args->static_elements); 1667 } 1668 free((void*)args->groups); 1669 free(args); 1670 } 1671 1672 1673 1674 /* ---------------------- SurceList ------------------------------------- */ 1675 1676 UiSourceListArgs* ui_sourcelist_args_new(void) { 1677 UiSourceListArgs *args = malloc(sizeof(UiSourceListArgs)); 1678 memset(args, 0, sizeof(UiSourceListArgs)); 1679 return args; 1680 } 1681 1682 1683 void ui_sourcelist_args_set_fill(UiSourceListArgs *args, UiBool fill) { 1684 args->fill = fill; 1685 } 1686 1687 1688 void ui_sourcelist_args_set_hexpand(UiSourceListArgs *args, UiBool value) { 1689 args->hexpand = value; 1690 } 1691 1692 1693 void ui_sourcelist_args_set_vexpand(UiSourceListArgs *args, UiBool value) { 1694 args->vexpand = value; 1695 } 1696 1697 1698 void ui_sourcelist_args_set_hfill(UiSourceListArgs *args, UiBool value) { 1699 args->hfill = value; 1700 } 1701 1702 1703 void ui_sourcelist_args_set_vfill(UiSourceListArgs *args, UiBool value) { 1704 args->vfill = value; 1705 } 1706 1707 1708 void ui_sourcelist_args_set_override_defaults(UiSourceListArgs *args, UiBool value) { 1709 args->override_defaults = value; 1710 } 1711 1712 1713 void ui_sourcelist_args_set_colspan(UiSourceListArgs *args, int colspan) { 1714 args->colspan = colspan; 1715 } 1716 1717 1718 void ui_sourcelist_args_set_rowspan(UiSourceListArgs *args, int rowspan) { 1719 args->rowspan = rowspan; 1720 } 1721 1722 1723 void ui_sourcelist_args_set_name(UiSourceListArgs *args, const char *name) { 1724 args->name = strdup(name); 1725 } 1726 1727 1728 void ui_sourcelist_args_set_style_class(UiSourceListArgs *args, const char *classname) { 1729 args->style_class = strdup(classname); 1730 } 1731 1732 UIEXPORT void ui_sourcelist_args_set_static_sublists(UiSourceListArgs *args, UiSubList *sublists, size_t numsublists) { 1733 args->sublists = calloc(numsublists, sizeof(UiSubList)); 1734 memcpy(args->sublists, sublists, numsublists * sizeof(UiSubList)); 1735 args->numsublists = numsublists; 1736 } 1737 1738 void ui_sourcelist_args_set_varname(UiSourceListArgs *args, const char *varname) { 1739 args->varname = strdup(varname); 1740 } 1741 1742 1743 void ui_sourcelist_args_set_dynamic_sublists(UiSourceListArgs *args, UiList *value) { 1744 args->dynamic_sublist = value; 1745 } 1746 1747 1748 void ui_sourcelist_args_set_getvalue_func(UiSourceListArgs *args, ui_sublist_getvalue_func getvalue) { 1749 args->getvalue = getvalue; 1750 } 1751 1752 void ui_sourcelist_args_set_getvalue_userdata(UiSourceListArgs *args, void *userdata) { 1753 args->getvaluedata = userdata; 1754 } 1755 1756 void ui_sourcelist_args_set_onactivate(UiSourceListArgs *args, ui_callback callback) { 1757 args->onactivate = callback; 1758 } 1759 1760 1761 void ui_sourcelist_args_set_onactivatedata(UiSourceListArgs *args, void *userdata) { 1762 args->onactivatedata = userdata; 1763 } 1764 1765 1766 void ui_sourcelist_args_set_onbuttonclick(UiSourceListArgs *args, ui_callback callback) { 1767 args->onbuttonclick = callback; 1768 1769 } 1770 1771 1772 void ui_sourcelist_args_set_onbuttonclickdata(UiSourceListArgs *args, void *userdata) { 1773 args->onbuttonclickdata = userdata; 1774 } 1775 1776 void ui_sourcelist_args_set_contextmenu(UiSourceListArgs *args, UiMenuBuilder *menubuilder) { 1777 args->contextmenu = menubuilder; 1778 } 1779 1780 void ui_sourcelist_args_free(UiSourceListArgs *args) { 1781 free((void*)args->name); 1782 free((void*)args->style_class); 1783 free((void*)args->varname); 1784 free((void*)args->sublists); 1785 free((void*)args->groups); 1786 free(args); 1787 } 1788 1789 1790 /* ------------------------- UiTextAreaArgs ----------------------------*/ 1791 1792 UiTextAreaArgs* ui_textarea_args_new(void) { 1793 UiTextAreaArgs *args = malloc(sizeof(UiTextAreaArgs)); 1794 memset(args, 0, sizeof(UiTextAreaArgs)); 1795 return args; 1796 } 1797 1798 1799 void ui_textarea_args_set_fill(UiTextAreaArgs *args, UiBool fill) { 1800 args->fill = fill; 1801 } 1802 1803 1804 void ui_textarea_args_set_hexpand(UiTextAreaArgs *args, UiBool value) { 1805 args->hexpand = value; 1806 } 1807 1808 1809 void ui_textarea_args_set_vexpand(UiTextAreaArgs *args, UiBool value) { 1810 args->vexpand = value; 1811 } 1812 1813 1814 void ui_textarea_args_set_hfill(UiTextAreaArgs *args, UiBool value) { 1815 args->hfill = value; 1816 } 1817 1818 1819 void ui_textarea_args_set_vfill(UiTextAreaArgs *args, UiBool value) { 1820 args->vfill = value; 1821 } 1822 1823 1824 void ui_textarea_args_set_override_defaults(UiTextAreaArgs *args, UiBool value) { 1825 args->override_defaults = value; 1826 } 1827 1828 1829 void ui_textarea_args_set_colspan(UiTextAreaArgs *args, int colspan) { 1830 args->colspan = colspan; 1831 } 1832 1833 1834 void ui_textarea_args_set_rowspan(UiTextAreaArgs *args, int rowspan) { 1835 args->rowspan = rowspan; 1836 } 1837 1838 1839 void ui_textarea_args_set_name(UiTextAreaArgs *args, const char *name) { 1840 args->name = strdup(name); 1841 } 1842 1843 1844 void ui_textarea_args_set_style_class(UiTextAreaArgs *args, const char *classname) { 1845 args->style_class = strdup(classname); 1846 } 1847 1848 void ui_textarea_args_set_onchange(UiTextAreaArgs *args, ui_callback callback){ 1849 args->onchange = callback; 1850 } 1851 1852 1853 void ui_textarea_args_set_onchangedata(UiTextAreaArgs *args, void *onchangedata){ 1854 args->onchangedata = onchangedata; 1855 } 1856 1857 void ui_textarea_args_set_varname(UiTextAreaArgs *args, const char *varname) { 1858 args->varname = strdup(varname); 1859 } 1860 1861 void ui_textarea_args_set_value(UiTextAreaArgs *args, UiText *value) { 1862 args->value = value; 1863 } 1864 1865 void ui_textarea_args_set_groups(UiTextAreaArgs *args, int *states, int numstates) { 1866 args->groups = calloc(numstates+1, sizeof(int)); 1867 memcpy((void*)args->groups, states, numstates * sizeof(int)); 1868 ((int*)args->groups)[numstates] = -1; 1869 } 1870 1871 void ui_textarea_args_free(UiTextAreaArgs *args) { 1872 free((void*)args->name); 1873 free((void*)args->style_class); 1874 free((void*)args->varname); 1875 free((void*)args->groups); 1876 free(args); 1877 } 1878 1879 1880 1881 /* ------------------------- UiTextFieldArgs ----------------------------*/ 1882 1883 UiTextFieldArgs* ui_textfield_args_new(void) { 1884 UiTextFieldArgs *args = malloc(sizeof(UiTextFieldArgs)); 1885 memset(args, 0, sizeof(UiTextFieldArgs)); 1886 return args; 1887 } 1888 1889 1890 void ui_textfield_args_set_fill(UiTextFieldArgs *args, UiBool fill) { 1891 args->fill = fill; 1892 } 1893 1894 1895 void ui_textfield_args_set_hexpand(UiTextFieldArgs *args, UiBool value) { 1896 args->hexpand = value; 1897 } 1898 1899 1900 void ui_textfield_args_set_vexpand(UiTextFieldArgs *args, UiBool value) { 1901 args->vexpand = value; 1902 } 1903 1904 1905 void ui_textfield_args_set_hfill(UiTextFieldArgs *args, UiBool value) { 1906 args->hfill = value; 1907 } 1908 1909 1910 void ui_textfield_args_set_vfill(UiTextFieldArgs *args, UiBool value) { 1911 args->vfill = value; 1912 } 1913 1914 1915 void ui_textfield_args_set_override_defaults(UiTextFieldArgs *args, UiBool value) { 1916 args->override_defaults = value; 1917 } 1918 1919 1920 void ui_textfield_args_set_colspan(UiTextFieldArgs *args, int colspan) { 1921 args->colspan = colspan; 1922 } 1923 1924 1925 void ui_textfield_args_set_rowspan(UiTextFieldArgs *args, int rowspan) { 1926 args->rowspan = rowspan; 1927 } 1928 1929 1930 void ui_textfield_args_set_name(UiTextFieldArgs *args, const char *name) { 1931 args->name = strdup(name); 1932 } 1933 1934 1935 void ui_textfield_args_set_style_class(UiTextFieldArgs *args, const char *classname) { 1936 args->style_class = strdup(classname); 1937 } 1938 1939 void ui_textfield_args_set_onchange(UiTextFieldArgs *args, ui_callback callback){ 1940 args->onchange = callback; 1941 } 1942 1943 1944 void ui_textfield_args_set_onchangedata(UiTextFieldArgs *args, void *onchangedata){ 1945 args->onchangedata = onchangedata; 1946 } 1947 1948 void ui_textfield_args_set_onactivate(UiTextFieldArgs *args, ui_callback callback){ 1949 args->onactivate = callback; 1950 } 1951 1952 1953 void ui_textfield_args_set_onactivatedata(UiTextFieldArgs *args, void *onactivatedata){ 1954 args->onactivatedata = onactivatedata; 1955 } 1956 1957 void ui_textfield_args_set_varname(UiTextFieldArgs *args, const char *varname) { 1958 args->varname = strdup(varname); 1959 } 1960 1961 void ui_textfield_args_set_value(UiTextFieldArgs *args, UiString *value) { 1962 args->value = value; 1963 } 1964 1965 void ui_textfield_args_set_groups(UiTextFieldArgs *args, int *states, int numstates) { 1966 args->groups = calloc(numstates+1, sizeof(int)); 1967 memcpy((void*)args->groups, states, numstates * sizeof(int)); 1968 ((int*)args->groups)[numstates] = -1; 1969 } 1970 1971 void ui_textfield_args_free(UiTextFieldArgs *args) { 1972 free((void*)args->name); 1973 free((void*)args->style_class); 1974 free((void*)args->varname); 1975 free((void*)args->groups); 1976 free(args); 1977 } 1978 1979 1980 /* ------------------------- UiSpinBoxArgs ----------------------------*/ 1981 1982 UiSpinBoxArgs* ui_spinbox_args_new(void) { 1983 UiSpinBoxArgs *args = malloc(sizeof(UiSpinBoxArgs)); 1984 memset(args, 0, sizeof(UiSpinBoxArgs)); 1985 return args; 1986 } 1987 1988 void ui_spinbox_args_set_fill(UiSpinBoxArgs *args, UiBool fill) { 1989 args->fill = fill; 1990 } 1991 1992 void ui_spinbox_args_set_hexpand(UiSpinBoxArgs *args, UiBool value) { 1993 args->hexpand = value; 1994 } 1995 1996 void ui_spinbox_args_set_vexpand(UiSpinBoxArgs *args, UiBool value) { 1997 args->vexpand = value; 1998 } 1999 2000 void ui_spinbox_args_set_hfill(UiSpinBoxArgs *args, UiBool value) { 2001 args->hfill = value; 2002 } 2003 2004 void ui_spinbox_args_set_vfill(UiSpinBoxArgs *args, UiBool value) { 2005 args->vfill = value; 2006 } 2007 2008 void ui_spinbox_args_set_override_defaults(UiSpinBoxArgs *args, UiBool value) { 2009 args->override_defaults = value; 2010 } 2011 2012 void ui_spinbox_args_set_colspan(UiSpinBoxArgs *args, int colspan) { 2013 args->colspan = colspan; 2014 } 2015 2016 void ui_spinbox_args_set_rowspan(UiSpinBoxArgs *args, int rowspan) { 2017 args->rowspan = rowspan; 2018 } 2019 2020 void ui_spinbox_args_set_name(UiSpinBoxArgs *args, const char *name) { 2021 args->name = strdup(name); 2022 } 2023 2024 void ui_spinbox_args_set_style_class(UiSpinBoxArgs *args, const char *classname) { 2025 args->style_class = strdup(classname); 2026 } 2027 2028 void ui_spinbox_args_set_onchange(UiSpinBoxArgs *args, ui_callback callback) { 2029 args->onchange = callback; 2030 } 2031 2032 void ui_spinbox_args_set_onchangedata(UiSpinBoxArgs *args, void *onchangedata) { 2033 args->onchangedata = onchangedata; 2034 } 2035 2036 void ui_spinbox_args_set_min(UiSpinBoxArgs *args, double min) { 2037 args->min = min; 2038 } 2039 2040 void ui_spinbox_args_set_max(UiSpinBoxArgs *args, double max) { 2041 args->max = max; 2042 } 2043 2044 void ui_spinbox_args_set_step(UiSpinBoxArgs *args, double step) { 2045 args->step = step; 2046 } 2047 2048 void ui_spinbox_args_set_digits(UiSpinBoxArgs *args, int digits) { 2049 args->digits; 2050 } 2051 2052 void ui_spinbox_args_set_varname(UiSpinBoxArgs *args, const char *varname) { 2053 args->varname = strdup(varname); 2054 } 2055 2056 void ui_spinbox_args_set_intvalue(UiSpinBoxArgs *args, UiInteger *value) { 2057 args->intvalue = value; 2058 } 2059 2060 void ui_spinbox_args_set_doublevalue(UiSpinBoxArgs *args, UiDouble *value) { 2061 args->doublevalue = value; 2062 } 2063 2064 void ui_spinbox_args_set_rangevalue(UiSpinBoxArgs *args, UiRange *value) { 2065 args->rangevalue = value; 2066 } 2067 2068 void ui_spinbox_args_set_groups(UiSpinBoxArgs *args, int *states, int numstates) { 2069 args->groups = calloc(numstates+1, sizeof(int)); 2070 memcpy((void*)args->groups, states, numstates * sizeof(int)); 2071 ((int*)args->groups)[numstates] = -1; 2072 } 2073 2074 void ui_spinbox_args_free(UiSpinBoxArgs *args) { 2075 free((void*)args->name); 2076 free((void*)args->style_class); 2077 free((void*)args->varname); 2078 free((void*)args->groups); 2079 free(args); 2080 } 2081 2082 2083 /* ------------------------- UiWebviewArgs ----------------------------*/ 2084 2085 UiWebviewArgs* ui_webview_args_new(void) { 2086 UiWebviewArgs *args = malloc(sizeof(UiWebviewArgs)); 2087 memset(args, 0, sizeof(UiWebviewArgs)); 2088 return args; 2089 } 2090 2091 2092 void ui_webview_args_set_fill(UiWebviewArgs *args, UiBool fill) { 2093 args->fill = fill; 2094 } 2095 2096 2097 void ui_webview_args_set_hexpand(UiWebviewArgs *args, UiBool value) { 2098 args->hexpand = value; 2099 } 2100 2101 2102 void ui_webview_args_set_vexpand(UiWebviewArgs *args, UiBool value) { 2103 args->vexpand = value; 2104 } 2105 2106 2107 void ui_webview_args_set_hfill(UiWebviewArgs *args, UiBool value) { 2108 args->hfill = value; 2109 } 2110 2111 2112 void ui_webview_args_set_vfill(UiWebviewArgs *args, UiBool value) { 2113 args->vfill = value; 2114 } 2115 2116 2117 void ui_webview_args_set_override_defaults(UiWebviewArgs *args, UiBool value) { 2118 args->override_defaults = value; 2119 } 2120 2121 2122 void ui_webview_args_set_colspan(UiWebviewArgs *args, int colspan) { 2123 args->colspan = colspan; 2124 } 2125 2126 2127 void ui_webview_args_set_rowspan(UiWebviewArgs *args, int rowspan) { 2128 args->rowspan = rowspan; 2129 } 2130 2131 2132 void ui_webview_args_set_name(UiWebviewArgs *args, const char *name) { 2133 args->name = strdup(name); 2134 } 2135 2136 2137 void ui_webview_args_set_style_class(UiWebviewArgs *args, const char *classname) { 2138 args->style_class = strdup(classname); 2139 } 2140 2141 void ui_webview_args_set_varname(UiWebviewArgs *args, const char *varname) { 2142 args->varname = strdup(varname); 2143 } 2144 2145 void ui_webview_args_set_value(UiWebviewArgs *args, UiGeneric *value) { 2146 args->value = value; 2147 } 2148 2149 void ui_webview_args_set_groups(UiWebviewArgs *args, int *states, int numstates) { 2150 args->groups = calloc(numstates+1, sizeof(int)); 2151 memcpy((void*)args->groups, states, numstates * sizeof(int)); 2152 ((int*)args->groups)[numstates] = -1; 2153 } 2154 2155 void ui_webview_args_free(UiWebviewArgs *args) { 2156 free((void*)args->name); 2157 free((void*)args->style_class); 2158 free((void*)args->varname); 2159 free((void*)args->groups); 2160 free(args); 2161 } 2162 2163