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, int numstates) { 137 args->lbutton1_states = calloc(numstates+1, sizeof(int)); 138 memcpy((void*)args->lbutton1_states, states, numstates * sizeof(int)); 139 ((int*)args->lbutton1_states)[numstates] = -1; 140 } 141 142 void ui_dialogwindow_args_set_lbutton2_states(UiDialogWindowArgs *args, const int *states, int numstates) { 143 args->lbutton2_states = calloc(numstates+1, sizeof(int)); 144 memcpy((void*)args->lbutton2_states, states, numstates * sizeof(int)); 145 ((int*)args->lbutton2_states)[numstates] = -1; 146 } 147 148 void ui_dialogwindow_args_set_rbutton3_states(UiDialogWindowArgs *args, const int *states, int numstates) { 149 args->rbutton3_states = calloc(numstates+1, sizeof(int)); 150 memcpy((void*)args->rbutton3_states, states, numstates * sizeof(int)); 151 ((int*)args->rbutton3_states)[numstates] = -1; 152 } 153 154 void ui_dialogwindow_args_set_rbutton4_states(UiDialogWindowArgs *args, const int *states, int numstates) { 155 args->rbutton4_states = calloc(numstates+1, sizeof(int)); 156 memcpy((void*)args->rbutton4_states, states, numstates * sizeof(int)); 157 ((int*)args->rbutton4_states)[numstates] = -1; 158 } 159 160 void ui_dialogwindow_args_set_default_button(UiDialogWindowArgs *args, int button) { 161 args->default_button = button; 162 } 163 164 void ui_dialogwindow_args_set_width(UiDialogWindowArgs *args, int width) { 165 args->width = width; 166 } 167 168 void ui_dialogwindow_args_set_height(UiDialogWindowArgs *args, int height) { 169 args->height = height; 170 } 171 172 void ui_dialogwindow_args_set_onclick(UiDialogWindowArgs *args, ui_callback cb) { 173 args->onclick = cb; 174 } 175 176 void ui_dialogwindow_args_set_onclickdata(UiDialogWindowArgs *args, void *userdata) { 177 args->onclickdata = userdata; 178 } 179 180 void ui_dialogwindow_args_free(UiDialogWindowArgs *args) { 181 free((void*)args->title); 182 free((void*)args->lbutton1); 183 free((void*)args->lbutton2); 184 free((void*)args->rbutton3); 185 free((void*)args->rbutton4); 186 free((void*)args->lbutton1_states); 187 free((void*)args->lbutton2_states); 188 free((void*)args->rbutton3_states); 189 free((void*)args->rbutton4_states); 190 free(args); 191 } 192 193 194 /* ---------------------------- UiMenuItemArgs ---------------------------- */ 195 196 UiMenuItemArgs* ui_menuitem_args_new(void) { 197 UiMenuItemArgs *args = malloc(sizeof(UiMenuItemArgs)); 198 memset(args, 0, sizeof(UiMenuItemArgs)); 199 return args; 200 } 201 202 void ui_menuitem_args_set_label(UiMenuItemArgs *args, const char *label) { 203 args->label = strdup(label); 204 } 205 206 void ui_menuitem_args_set_icon(UiMenuItemArgs *args, const char *icon) { 207 args->icon = strdup(icon); 208 } 209 210 void ui_menuitem_args_set_onclick(UiMenuItemArgs *args, ui_callback callback) { 211 args->onclick = callback; 212 } 213 214 void ui_menuitem_args_set_onclickdata(UiMenuItemArgs *args, void *onclickdata) { 215 args->onclickdata = onclickdata; 216 } 217 218 void ui_menuitem_args_free(UiMenuItemArgs *args) { 219 free((void*)args->label); 220 free((void*)args->icon); 221 free(args); 222 } 223 224 225 /* ---------------------------- UiMenuToggleItemArgs ---------------------------- */ 226 227 UiMenuToggleItemArgs* ui_menutoggleitem_args_new(void) { 228 UiMenuToggleItemArgs *args = malloc(sizeof(UiMenuToggleItemArgs)); 229 memset(args, 0, sizeof(UiMenuToggleItemArgs)); 230 return args; 231 } 232 233 void ui_menutoggleitem_args_set_label(UiMenuToggleItemArgs *args, const char *label) { 234 args->label = strdup(label); 235 } 236 237 void ui_menutoggleitem_args_set_icon(UiMenuToggleItemArgs *args, const char *icon) { 238 args->icon = strdup(icon); 239 } 240 241 void ui_menutoggleitem_args_set_varname(UiMenuToggleItemArgs *args, const char *varname) { 242 args->varname = strdup(varname); 243 } 244 245 void ui_menutoggleitem_args_set_onchange(UiMenuToggleItemArgs *args, ui_callback callback) { 246 args->onchange = callback; 247 } 248 249 void ui_menutoggleitem_args_set_onchangedata(UiMenuToggleItemArgs *args, void *onclickdata) { 250 args->onchangedata = onclickdata; 251 } 252 253 void ui_menutoggleitem_args_free(UiMenuToggleItemArgs *args) { 254 free((void*)args->label); 255 free((void*)args->icon); 256 free((void*)args->varname); 257 free(args); 258 } 259 260 /* --------------------------- UiMenuItemListArgs --------------------------- */ 261 262 UiMenuItemListArgs* ui_menuitemlist_args_new(void) { 263 UiMenuItemListArgs *args = malloc(sizeof(UiMenuItemListArgs)); 264 memset(args, 0, sizeof(UiMenuItemListArgs)); 265 return args; 266 } 267 268 void ui_menuitemlist_args_set_varname(UiMenuItemListArgs *args, const char *varname) { 269 args->varname = strdup(varname); 270 } 271 272 void ui_menuitemlist_args_set_getvalue(UiMenuItemListArgs *args, ui_getvaluefunc func) { 273 args->getvalue = func; 274 } 275 276 void ui_menuitemlist_args_set_onselect(UiMenuItemListArgs *args, ui_callback callback) { 277 args->onselect = callback; 278 } 279 280 void ui_menuitemlist_args_set_onselectdata(UiMenuItemListArgs *args, void *data){ 281 args->onselectdata = data; 282 } 283 284 void ui_menuitemlist_args_set_addseparator(UiMenuItemListArgs *args, UiBool value) { 285 args->addseparator = value; 286 } 287 288 void ui_menuitemlist_args_free(UiMenuItemListArgs *args){ 289 free((void*)args->varname); 290 free(args); 291 } 292 293 /* --------------------------- UiToolbarItemArgs --------------------------- */ 294 295 UiToolbarItemArgs* ui_toolbar_item_args_new(void) { 296 UiToolbarItemArgs *args = malloc(sizeof(UiToolbarItemArgs)); 297 memset(args, 0, sizeof(UiToolbarItemArgs)); 298 return args; 299 } 300 301 void ui_toolbar_item_args_set_label(UiToolbarItemArgs *args, const char *label) { 302 args->label = strdup(label); 303 } 304 305 void ui_toolbar_item_args_set_icon(UiToolbarItemArgs *args, const char *icon) { 306 args->icon = strdup(icon); 307 } 308 309 void ui_toolbar_item_args_set_tooltip(UiToolbarItemArgs *args, const char *tooltip) { 310 args->tooltip = strdup(tooltip); 311 } 312 313 void ui_toolbar_item_args_set_onclick(UiToolbarItemArgs *args, ui_callback callback) { 314 args->onclick = callback; 315 } 316 317 void ui_toolbar_item_args_set_onclickdata(UiToolbarItemArgs *args, void *onclickdata) { 318 args->onclickdata = onclickdata; 319 } 320 321 void ui_toolbar_item_args_set_states(UiToolbarItemArgs *args, int *states, int numstates) { 322 args->states = calloc(numstates+1, sizeof(int)); 323 memcpy((void*)args->states, states, numstates * sizeof(int)); 324 ((int*)args->states)[numstates] = -1; 325 } 326 void ui_toolbar_item_args_free(UiToolbarItemArgs *args) { 327 free((void*)args->label); 328 free((void*)args->icon); 329 free((void*)args->tooltip); 330 free((void*)args->states); 331 free(args); 332 } 333 334 /* ---------------------------- UiToolbarToggleItemArgs ---------------------------- */ 335 336 UiToolbarToggleItemArgs* ui_toolbar_toggleitem_args_new(void) { 337 UiToolbarToggleItemArgs *args = malloc(sizeof(UiToolbarToggleItemArgs)); 338 memset(args, 0, sizeof(UiToolbarToggleItemArgs)); 339 return args; 340 } 341 342 void ui_toolbar_toggleitem_args_set_label(UiToolbarToggleItemArgs *args, const char *label) { 343 args->label = strdup(label); 344 } 345 346 void ui_toolbar_toggleitem_args_set_icon(UiToolbarToggleItemArgs *args, const char *icon) { 347 args->icon = strdup(icon); 348 } 349 350 void ui_toolbar_toggleitem_args_set_tooltip(UiToolbarToggleItemArgs *args, const char *tooltip) { 351 args->tooltip = strdup(tooltip); 352 } 353 354 void ui_toolbar_toggleitem_args_set_varname(UiToolbarToggleItemArgs *args, const char *varname) { 355 args->varname = strdup(varname); 356 } 357 358 void ui_toolbar_toggleitem_args_set_onchange(UiToolbarToggleItemArgs *args, ui_callback callback) { 359 args->onchange = callback; 360 } 361 362 void ui_toolbar_toggleitem_args_set_onchangedata(UiToolbarToggleItemArgs *args, void *onchangedata) { 363 args->onchangedata = onchangedata; 364 } 365 366 void ui_toolbar_toggleitem_args_set_states(UiToolbarToggleItemArgs *args,int *states, int numstates) { 367 args->states = calloc(numstates+1, sizeof(int)); 368 memcpy((void*)args->states, states, numstates * sizeof(int)); 369 ((int*)args->states)[numstates] = -1; 370 } 371 372 void ui_toolbar_toggleitem_args_free(UiToolbarToggleItemArgs *args) { 373 free((void*)args->label); 374 free((void*)args->icon); 375 free((void*)args->tooltip); 376 free((void*)args->varname); 377 free((void*)args->states); 378 free(args); 379 } 380 381 /* ---------------------------- UiToolbarMenuArgs ---------------------------- */ 382 383 384 UiToolbarMenuArgs* ui_toolbar_menu_args_new(void) { 385 UiToolbarMenuArgs *args = malloc(sizeof(UiToolbarMenuArgs)); 386 memset(args, 0, sizeof(UiToolbarMenuArgs)); 387 return args; 388 } 389 390 void ui_toolbar_menu_args_set_label(UiToolbarMenuArgs *args, const char *label) { 391 args->label = strdup(label); 392 } 393 394 void ui_toolbar_menu_args_set_icon(UiToolbarMenuArgs *args, const char *icon) { 395 args->icon = strdup(icon); 396 } 397 398 void ui_toolbar_menu_args_set_tooltip(UiToolbarMenuArgs *args, const char *tooltip) { 399 args->tooltip = strdup(tooltip); 400 } 401 402 void ui_toolbar_menu_args_free(UiToolbarMenuArgs *args) { 403 free((void*)args->label); 404 free((void*)args->icon); 405 free((void*)args->tooltip); 406 free(args); 407 } 408 409 410 /* ---------------------------- UiContainerArgs ---------------------------- */ 411 412 UiContainerArgs* ui_container_args_new(void) { 413 UiContainerArgs *args = malloc(sizeof(UiContainerArgs)); 414 memset(args, 0, sizeof(UiContainerArgs)); 415 return args; 416 } 417 418 void ui_container_args_set_fill(UiContainerArgs *args, UiBool fill) { 419 args->fill = fill; 420 } 421 422 void ui_container_args_set_hexpand(UiContainerArgs *args, UiBool value) { 423 args->hexpand = value; 424 } 425 426 427 void ui_container_args_set_vexpand(UiContainerArgs *args, UiBool value) { 428 args->vexpand = value; 429 } 430 431 432 void ui_container_args_set_hfill(UiContainerArgs *args, UiBool value) { 433 args->hfill = value; 434 } 435 436 437 void ui_container_args_set_vfill(UiContainerArgs *args, UiBool value) { 438 args->vfill = value; 439 } 440 441 442 void ui_container_args_set_override_defaults(UiContainerArgs *args, UiBool value) { 443 args->override_defaults = value; 444 } 445 446 447 void ui_container_args_set_colspan(UiContainerArgs *args, int colspan) { 448 args->colspan = colspan; 449 } 450 451 452 void ui_container_args_set_rowspan(UiContainerArgs *args, int rowspan) { 453 args->rowspan = rowspan; 454 } 455 456 457 void ui_container_args_set_def_hexpand(UiContainerArgs *args, UiBool value) { 458 args->def_hexpand = value; 459 } 460 461 462 void ui_container_args_set_def_vexpand(UiContainerArgs *args, UiBool value) { 463 args->def_vexpand = value; 464 } 465 466 467 void ui_container_args_set_def_hfill(UiContainerArgs *args, UiBool value) { 468 args->def_hfill = value; 469 } 470 471 472 void ui_container_args_set_def_vfill(UiContainerArgs *args, UiBool value) { 473 args->def_vfill = value; 474 } 475 476 477 void ui_container_args_set_name(UiContainerArgs *args, const char *name) { 478 args->name = strdup(name); 479 } 480 481 482 void ui_container_args_set_style_class(UiContainerArgs *args, const char *classname) { 483 args->style_class = strdup(classname); 484 } 485 486 487 void ui_container_args_set_margin(UiContainerArgs *args, int value) { 488 args->margin = value; 489 } 490 491 void ui_container_args_set_margin_left(UiContainerArgs *args, int value) { 492 args->margin_left = value; 493 } 494 495 void ui_container_args_set_margin_right(UiContainerArgs *args, int value) { 496 args->margin_right = value; 497 } 498 499 void ui_container_args_set_margin_top(UiContainerArgs *args, int value) { 500 args->margin_top = value; 501 } 502 503 void ui_container_args_set_margin_bottom(UiContainerArgs *args, int value) { 504 args->margin_bottom = value; 505 } 506 507 508 void ui_container_args_set_spacing(UiContainerArgs *args, int value) { 509 args->spacing = value; 510 } 511 512 513 void ui_container_args_set_columnspacing(UiContainerArgs *args, int value) { 514 args->columnspacing = value; 515 } 516 517 518 void ui_container_args_set_rowspacing(UiContainerArgs *args, int value) { 519 args->rowspacing = value; 520 } 521 522 523 void ui_container_args_free(UiContainerArgs *args) { 524 free((void*)args->name); 525 free((void*)args->style_class); 526 free(args); 527 } 528 529 530 /* ------------------------------- UiFrameArgs ------------------------------*/ 531 532 UiFrameArgs* ui_frame_args_new(void) { 533 UiFrameArgs *args = malloc(sizeof(UiFrameArgs)); 534 memset(args, 0, sizeof(UiContainerArgs)); 535 return args; 536 } 537 538 539 void ui_frame_args_set_fill(UiFrameArgs *args, UiBool fill) { 540 args->fill = fill; 541 } 542 543 544 void ui_frame_args_set_hexpand(UiFrameArgs *args, UiBool value) { 545 args->hexpand = value; 546 } 547 548 549 void ui_frame_args_set_vexpand(UiFrameArgs *args, UiBool value) { 550 args->vexpand = value; 551 } 552 553 554 void ui_frame_args_set_hfill(UiFrameArgs *args, UiBool value) { 555 args->hfill = value; 556 } 557 558 559 void ui_frame_args_set_vfill(UiFrameArgs *args, UiBool value) { 560 args->vfill = value; 561 } 562 563 564 void ui_frame_args_set_override_defaults(UiFrameArgs *args, UiBool value) { 565 args->override_defaults = value; 566 } 567 568 void ui_frame_args_set_margin(UiFrameArgs *args, int value) { 569 args->margin = value; 570 } 571 572 void ui_frame_args_set_margin_left(UiFrameArgs *args, int value) { 573 args->margin_left = value; 574 } 575 576 void ui_frame_args_set_margin_right(UiFrameArgs *args, int value) { 577 args->margin_right = value; 578 } 579 580 void ui_frame_args_set_margin_top(UiFrameArgs *args, int value) { 581 args->margin_top = value; 582 } 583 584 void ui_frame_args_set_margin_bottom(UiFrameArgs *args, int value) { 585 args->margin_bottom = value; 586 } 587 588 589 void ui_frame_args_set_colspan(UiFrameArgs *args, int colspan) { 590 args->colspan = colspan; 591 } 592 593 594 void ui_frame_args_set_rowspan(UiFrameArgs *args, int rowspan) { 595 args->rowspan = rowspan; 596 } 597 598 599 void ui_frame_args_set_name(UiFrameArgs *args, const char *name) { 600 args->name = strdup(name); 601 } 602 603 604 void ui_frame_args_set_style_class(UiFrameArgs *args, const char *classname) { 605 args->style_class = strdup(classname); 606 } 607 608 void ui_frame_args_set_subcontainer(UiFrameArgs *args, UiSubContainerType subcontainer) { 609 args->subcontainer = subcontainer; 610 } 611 612 void ui_frame_args_set_padding(UiFrameArgs *args, int value) { 613 args->padding = value; 614 } 615 616 void ui_frame_args_set_spacing(UiFrameArgs *args, int value) { 617 args->spacing = value; 618 } 619 620 621 void ui_frame_args_set_columnspacing(UiFrameArgs *args, int value) { 622 args->columnspacing = value; 623 } 624 625 626 void ui_frame_args_set_rowspacing(UiFrameArgs *args, int value) { 627 args->rowspacing = value; 628 } 629 630 631 void ui_frame_args_set_expanded(UiFrameArgs *args, UiBool value) { 632 args->isexpanded = value; 633 } 634 635 636 void ui_frame_args_set_label(UiFrameArgs *args, const char *label) { 637 args->label = strdup(label); 638 } 639 640 void ui_frame_args_free(UiFrameArgs *args) { 641 free((void*)args->name); 642 free((void*)args->style_class); 643 free((void*)args->label); 644 free(args); 645 } 646 647 648 /* ---------------------------- UiSidebarArgs -------------------------------*/ 649 650 UiSidebarArgs* ui_sidebar_args_new(void) { 651 UiSidebarArgs *args = malloc(sizeof(UiSidebarArgs)); 652 memset(args, 0, sizeof(UiSidebarArgs)); 653 return args; 654 } 655 656 void ui_sidebar_args_set_name(UiSidebarArgs *args, const char *name) { 657 args->name = strdup(name); 658 } 659 660 void ui_sidebar_args_set_style_class(UiSidebarArgs *args, const char *classname) { 661 args->style_class = strdup(classname); 662 } 663 664 void ui_sidebar_args_set_margin(UiSidebarArgs *args, int value) { 665 args->margin = value; 666 } 667 668 void ui_sidebar_args_set_margin_left(UiSidebarArgs *args, int value) { 669 args->margin_left = value; 670 } 671 672 void ui_sidebar_args_set_margin_right(UiSidebarArgs *args, int value) { 673 args->margin_right = value; 674 } 675 676 void ui_sidebar_args_set_margin_top(UiSidebarArgs *args, int value) { 677 args->margin_top = value; 678 } 679 680 void ui_sidebar_args_set_margin_bottom(UiSidebarArgs *args, int value) { 681 args->margin_bottom = value; 682 } 683 684 void ui_sidebar_args_set_spacing(UiSidebarArgs *args, int value) { 685 args->spacing = value; 686 } 687 688 void ui_sidebar_args_free(UiSidebarArgs *args) { 689 free((void*)args->name); 690 free((void*)args->style_class); 691 free(args); 692 } 693 694 695 /* --------------------------- UiSplitPaneArgs ------------------------------*/ 696 697 UiSplitPaneArgs* ui_splitpane_args_new(void) { 698 UiSplitPaneArgs *args = malloc(sizeof(UiSplitPaneArgs)); 699 memset(args, 0, sizeof(UiSplitPaneArgs)); 700 return args; 701 } 702 703 void ui_splitpane_args_set_fill(UiSplitPaneArgs *args, UiBool fill) { 704 args->fill = fill; 705 } 706 707 void ui_splitpane_args_set_hexpand(UiSplitPaneArgs *args, UiBool value) { 708 args->hexpand = value; 709 } 710 711 void ui_splitpane_args_set_vexpand(UiSplitPaneArgs *args, UiBool value) { 712 args->vexpand = value; 713 } 714 715 void ui_splitpane_args_set_hfill(UiSplitPaneArgs *args, UiBool value) { 716 args->hfill = value; 717 } 718 719 void ui_splitpane_args_set_vfill(UiSplitPaneArgs *args, UiBool value) { 720 args->vfill = value; 721 } 722 723 void ui_splitpane_args_set_override_defaults(UiSplitPaneArgs *args, UiBool value) { 724 args->override_defaults = value; 725 } 726 727 void ui_splitpane_args_set_colspan(UiSplitPaneArgs *args, int colspan) { 728 args->colspan = colspan; 729 } 730 731 void ui_splitpane_args_set_rowspan(UiSplitPaneArgs *args, int rowspan) { 732 args->rowspan = rowspan; 733 } 734 735 void ui_splitpane_args_set_name(UiSplitPaneArgs *args, const char *name) { 736 args->name = strdup(name); 737 } 738 739 void ui_splitpane_args_set_style_class(UiSplitPaneArgs *args, const char *classname) { 740 args->style_class = strdup(classname); 741 } 742 743 void ui_splitpane_args_set_margin(UiSplitPaneArgs *args, int value) { 744 args->margin = value; 745 } 746 747 void ui_splitpane_args_set_margin_left(UiSplitPaneArgs *args, int value) { 748 args->margin_left = value; 749 } 750 751 void ui_splitpane_args_set_margin_right(UiSplitPaneArgs *args, int value) { 752 args->margin_right = value; 753 } 754 755 void ui_splitpane_args_set_margin_top(UiSplitPaneArgs *args, int value) { 756 args->margin_top = value; 757 } 758 759 void ui_splitpane_args_set_margin_bottom(UiSplitPaneArgs *args, int value) { 760 args->margin_bottom = value; 761 } 762 763 764 void ui_splitpane_args_set_spacing(UiSplitPaneArgs *args, int value) { 765 args->spacing = value; 766 } 767 768 769 void ui_splitpane_args_set_columnspacing(UiSplitPaneArgs *args, int value) { 770 args->columnspacing = value; 771 } 772 773 774 void ui_splitpane_args_set_rowspacing(UiSplitPaneArgs *args, int value) { 775 args->rowspacing = value; 776 } 777 778 779 void ui_splitpane_args_set_initial_position(UiSplitPaneArgs *args, int pos) { 780 args->initial_position = pos; 781 } 782 783 void ui_splitpane_args_set_position_property(UiSplitPaneArgs *args, const char *propname) { 784 args->position_property = strdup(propname); 785 } 786 787 void ui_splitpane_args_set_varname(UiSplitPaneArgs *args, const char *varname) { 788 args->varname = strdup(varname); 789 } 790 791 792 void ui_splitpane_args_set_value(UiSplitPaneArgs *args, UiInteger *value) { 793 args->value = value; 794 } 795 796 void ui_splitpane_args_set_max_panes(UiSplitPaneArgs *args, int max) { 797 args->max_panes = max; 798 } 799 800 void ui_splitpane_args_free(UiSplitPaneArgs *args) { 801 free((void*)args->name); 802 free((void*)args->style_class); 803 free((void*)args->varname); 804 free((void*)args->position_property); 805 free(args); 806 } 807 808 809 /* ---------------------------- UiTabViewArgs ---------------------------- */ 810 811 UiTabViewArgs* ui_tabview_args_new(void) { 812 UiTabViewArgs *args = malloc(sizeof(UiTabViewArgs)); 813 memset(args, 0, sizeof(UiTabViewArgs)); 814 return args; 815 } 816 817 void ui_tabview_args_set_fill(UiTabViewArgs *args, UiBool fill) { 818 args->fill = fill; 819 } 820 821 void ui_tabview_args_set_hexpand(UiTabViewArgs *args, UiBool value) { 822 args->hexpand = value; 823 } 824 825 void ui_tabview_args_set_vexpand(UiTabViewArgs *args, UiBool value) { 826 args->vexpand = value; 827 } 828 829 void ui_tabview_args_set_hfill(UiTabViewArgs *args, UiBool value) { 830 args->hfill = value; 831 } 832 833 void ui_tabview_args_set_vfill(UiTabViewArgs *args, UiBool value) { 834 args->vfill = value; 835 } 836 837 void ui_tabview_args_set_override_defaults(UiTabViewArgs *args, UiBool value) { 838 args->override_defaults = value; 839 } 840 841 void ui_tabview_args_set_colspan(UiTabViewArgs *args, int colspan) { 842 args->colspan = colspan; 843 } 844 845 void ui_tabview_args_set_rowspan(UiTabViewArgs *args, int rowspan) { 846 args->rowspan = rowspan; 847 } 848 849 void ui_tabview_args_set_name(UiTabViewArgs *args, const char *name) { 850 args->name = strdup(name); 851 } 852 853 void ui_tabview_args_set_style_class(UiTabViewArgs *args, const char *classname) { 854 args->style_class = strdup(classname); 855 } 856 857 void ui_tabview_args_set_margin(UiTabViewArgs *args, int value) { 858 args->margin = value; 859 } 860 861 void ui_tabview_args_set_margin_left(UiTabViewArgs *args, int value) { 862 args->margin_left = value; 863 } 864 865 void ui_tabview_args_set_margin_right(UiTabViewArgs *args, int value) { 866 args->margin_right = value; 867 } 868 869 void ui_tabview_args_set_margin_top(UiTabViewArgs *args, int value) { 870 args->margin_top = value; 871 } 872 873 void ui_tabview_args_set_margin_bottom(UiTabViewArgs *args, int value) { 874 args->margin_bottom = value; 875 } 876 877 void ui_tabview_args_set_padding(UiTabViewArgs *args, int value) { 878 args->padding = value; 879 } 880 881 void ui_tabview_args_set_spacing(UiTabViewArgs *args, int value) { 882 args->spacing = value; 883 } 884 885 void ui_tabview_args_set_columnspacing(UiTabViewArgs *args, int value) { 886 args->columnspacing = value; 887 } 888 889 890 void ui_tabview_args_set_rowspacing(UiTabViewArgs *args, int value) { 891 args->rowspacing = value; 892 } 893 894 void ui_tabview_args_set_type(UiTabViewArgs *args, UiTabViewType tabview) { 895 args->tabview = tabview; 896 } 897 898 void ui_tabview_args_set_onchange(UiTabViewArgs *args, ui_callback cb) { 899 args->onchange = cb; 900 } 901 902 void ui_tabview_args_set_onchangedata(UiTabViewArgs *args, void *userdata) { 903 args->onchangedata = userdata; 904 } 905 906 void ui_tabview_args_set_varname(UiTabViewArgs *args, const char *varname) { 907 args->varname = strdup(varname); 908 } 909 910 void ui_tabview_args_set_value(UiTabViewArgs *args, UiInteger *value) { 911 args->value = value; 912 } 913 914 void ui_tabview_args_set_subcontainer(UiTabViewArgs *args, UiSubContainerType subcontainer) { 915 args->subcontainer = subcontainer; 916 } 917 918 void ui_tabview_args_free(UiTabViewArgs *args) { 919 free((void*)args->name); 920 free((void*)args->style_class); 921 free((void*)args->varname); 922 free(args); 923 } 924 925 926 /* ------------------------- UiWidgetArgs ----------------------------*/ 927 928 UiWidgetArgs* ui_widget_args_new(void) { 929 UiWidgetArgs *args = malloc(sizeof(UiWidgetArgs)); 930 memset(args, 0, sizeof(UiWidgetArgs)); 931 return args; 932 } 933 934 935 void ui_widget_args_set_fill(UiWidgetArgs *args, UiBool fill) { 936 args->fill = fill; 937 } 938 939 940 void ui_widget_args_set_hexpand(UiWidgetArgs *args, UiBool value) { 941 args->hexpand = value; 942 } 943 944 945 void ui_widget_args_set_vexpand(UiWidgetArgs *args, UiBool value) { 946 args->vexpand = value; 947 } 948 949 950 void ui_widget_args_set_hfill(UiWidgetArgs *args, UiBool value) { 951 args->hfill = value; 952 } 953 954 955 void ui_widget_args_set_vfill(UiWidgetArgs *args, UiBool value) { 956 args->vfill = value; 957 } 958 959 960 void ui_widget_args_set_override_defaults(UiWidgetArgs *args, UiBool value) { 961 args->override_defaults = value; 962 } 963 964 void ui_widget_args_set_margin(UiWidgetArgs *args, int value) { 965 args->margin = value; 966 } 967 968 void ui_widget_args_set_margin_left(UiWidgetArgs *args, int value) { 969 args->margin_left = value; 970 } 971 972 void ui_widget_args_set_margin_right(UiWidgetArgs *args, int value) { 973 args->margin_right = value; 974 } 975 976 void ui_widget_args_set_margin_top(UiWidgetArgs *args, int value) { 977 args->margin_top = value; 978 } 979 980 void ui_widget_args_set_margin_bottom(UiWidgetArgs *args, int value) { 981 args->margin_bottom = value; 982 } 983 984 void ui_widget_args_set_colspan(UiWidgetArgs *args, int colspan) { 985 args->colspan = colspan; 986 } 987 988 989 void ui_widget_args_set_rowspan(UiWidgetArgs *args, int rowspan) { 990 args->rowspan = rowspan; 991 } 992 993 994 void ui_widget_args_set_name(UiWidgetArgs *args, const char *name) { 995 args->name = strdup(name); 996 } 997 998 999 void ui_widget_args_set_style_class(UiWidgetArgs *args, const char *classname) { 1000 args->style_class = strdup(classname); 1001 } 1002 1003 void ui_widget_args_free(UiWidgetArgs *args) { 1004 free((void*)args->name); 1005 free((void*)args->style_class); 1006 free(args); 1007 } 1008 1009 1010 /* ------------------------- UiLabelArgs ----------------------------*/ 1011 1012 1013 UiLabelArgs* ui_label_args_new(void) { 1014 UiLabelArgs *args = malloc(sizeof(UiLabelArgs)); 1015 memset(args, 0, sizeof(UiLabelArgs)); 1016 return args; 1017 } 1018 1019 void ui_label_args_set_fill(UiLabelArgs *args, UiBool fill) { 1020 args->fill = fill; 1021 } 1022 1023 void ui_label_args_set_hexpand(UiLabelArgs *args, UiBool value) { 1024 args->hexpand = value; 1025 } 1026 1027 void ui_label_args_set_vexpand(UiLabelArgs *args, UiBool value) { 1028 args->vexpand = value; 1029 } 1030 1031 void ui_label_args_set_hfill(UiLabelArgs *args, UiBool value) { 1032 args->hfill = value; 1033 } 1034 1035 void ui_label_args_set_vfill(UiLabelArgs *args, UiBool value) { 1036 args->vfill = value; 1037 } 1038 1039 void ui_label_args_set_override_defaults(UiLabelArgs *args, UiBool value) { 1040 args->override_defaults = value; 1041 } 1042 1043 void ui_label_args_set_margin(UiLabelArgs *args, int value) { 1044 args->margin = value; 1045 } 1046 1047 void ui_label_args_set_margin_left(UiLabelArgs *args, int value) { 1048 args->margin_left = value; 1049 } 1050 1051 void ui_label_args_set_margin_right(UiLabelArgs *args, int value){ 1052 args->margin_right = value; 1053 } 1054 1055 void ui_label_args_set_margin_top(UiLabelArgs *args, int value) { 1056 args->margin_top = value; 1057 } 1058 1059 void ui_label_args_set_margin_bottom(UiLabelArgs *args, int value) { 1060 args->margin_bottom = value; 1061 } 1062 1063 void ui_label_args_set_colspan(UiLabelArgs *args, int colspan) { 1064 args->colspan = colspan; 1065 } 1066 1067 1068 void ui_label_args_set_rowspan(UiLabelArgs *args, int rowspan) { 1069 args->rowspan = rowspan; 1070 } 1071 1072 void ui_label_args_set_name(UiLabelArgs *args, const char *name) { 1073 args->name = strdup(name); 1074 } 1075 1076 void ui_label_args_set_style_class(UiLabelArgs *args, const char *classname) { 1077 args->style_class = strdup(classname); 1078 } 1079 1080 void ui_label_args_set_label(UiLabelArgs *args, const char *label){ 1081 args->label = strdup(label); 1082 } 1083 1084 void ui_label_args_set_align(UiLabelArgs *args, UiAlignment align) { 1085 args->align = align; 1086 } 1087 1088 void ui_label_args_set_style(UiLabelArgs *args, UiLabelStyle style) { 1089 args->style = style; 1090 } 1091 1092 void ui_label_args_set_varname(UiLabelArgs *args, const char *varname) { 1093 args->varname = strdup(varname); 1094 } 1095 1096 void ui_label_args_set_value(UiLabelArgs *args, UiString *value) { 1097 args->value = value; 1098 } 1099 1100 void ui_label_args_free(UiLabelArgs *args) { 1101 free((void*)args->name); 1102 free((void*)args->style_class); 1103 free((void*)args->label); 1104 free((void*)args->varname); 1105 free(args); 1106 } 1107 1108 1109 /* ------------------------- UiProgressbarArgs ----------------------------*/ 1110 1111 1112 UiProgressbarArgs* ui_progressbar_args_new(void) { 1113 UiProgressbarArgs *args = malloc(sizeof(UiProgressbarArgs)); 1114 memset(args, 0, sizeof(UiProgressbarArgs)); 1115 return args; 1116 } 1117 1118 1119 void ui_progressbar_args_set_fill(UiProgressbarArgs *args, UiBool fill) { 1120 args->fill = fill; 1121 } 1122 1123 1124 void ui_progressbar_args_set_hexpand(UiProgressbarArgs *args, UiBool value) { 1125 args->hexpand = value; 1126 } 1127 1128 1129 void ui_progressbar_args_set_vexpand(UiProgressbarArgs *args, UiBool value) { 1130 args->vexpand = value; 1131 } 1132 1133 1134 void ui_progressbar_args_set_hfill(UiProgressbarArgs *args, UiBool value) { 1135 args->hfill = value; 1136 } 1137 1138 1139 void ui_progressbar_args_set_vfill(UiProgressbarArgs *args, UiBool value) { 1140 args->vfill = value; 1141 } 1142 1143 1144 void ui_progressbar_args_set_override_defaults(UiProgressbarArgs *args, UiBool value) { 1145 args->override_defaults = value; 1146 } 1147 1148 void ui_progressbar_args_set_margin(UiProgressbarArgs *args, int value) { 1149 args->margin = value; 1150 } 1151 1152 void ui_progressbar_args_set_margin_left(UiProgressbarArgs *args, int value) { 1153 args->margin_left = value; 1154 } 1155 1156 void ui_progressbar_args_set_margin_right(UiProgressbarArgs *args, int value) { 1157 args->margin_right = value; 1158 } 1159 1160 void ui_progressbar_args_set_margin_top(UiProgressbarArgs *args, int value) { 1161 args->margin_top = value; 1162 } 1163 1164 void ui_progressbar_args_set_margin_bottom(UiProgressbarArgs *args, int value) { 1165 args->margin_bottom = value; 1166 } 1167 1168 void ui_progressbar_args_set_colspan(UiProgressbarArgs *args, int colspan) { 1169 args->colspan = colspan; 1170 } 1171 1172 1173 void ui_progressbar_args_set_rowspan(UiProgressbarArgs *args, int rowspan) { 1174 args->rowspan = rowspan; 1175 } 1176 1177 1178 void ui_progressbar_args_set_name(UiProgressbarArgs *args, const char *name) { 1179 args->name = strdup(name); 1180 } 1181 1182 1183 void ui_progressbar_args_set_style_class(UiProgressbarArgs *args, const char *classname) { 1184 args->style_class = strdup(classname); 1185 } 1186 1187 void ui_progressbar_args_set_min(UiProgressbarArgs *args, double min) { 1188 args->min = min; 1189 } 1190 1191 void ui_progressbar_args_set_max(UiProgressbarArgs *args, double max) { 1192 args->max = max; 1193 } 1194 1195 void ui_progressbar_args_set_varname(UiProgressbarArgs *args, const char *varname) { 1196 args->varname = strdup(varname); 1197 } 1198 1199 void ui_progressbar_args_set_value(UiProgressbarArgs *args, UiDouble *value) { 1200 args->value = value; 1201 } 1202 1203 void ui_progressbar_args_free(UiProgressbarArgs *args) { 1204 free((void*)args->name); 1205 free((void*)args->style_class); 1206 free((void*)args->varname); 1207 free(args); 1208 } 1209 1210 1211 /* ------------------------- UiProgressbarSpinnerArgs ----------------------------*/ 1212 1213 UiProgressbarSpinnerArgs* ui_progress_spinner_args_new(void) { 1214 UiProgressbarSpinnerArgs *args = malloc(sizeof(UiProgressbarSpinnerArgs)); 1215 memset(args, 0, sizeof(UiProgressbarSpinnerArgs)); 1216 return args; 1217 } 1218 1219 void ui_progress_spinner_args_set_fill(UiProgressbarSpinnerArgs *args, UiBool fill) { 1220 args->fill = fill; 1221 } 1222 1223 void ui_progress_spinner_args_set_hexpand(UiProgressbarSpinnerArgs *args, UiBool value) { 1224 args->hexpand = value; 1225 } 1226 1227 void ui_progress_spinner_args_set_vexpand(UiProgressbarSpinnerArgs *args, UiBool value) { 1228 args->vexpand = value; 1229 } 1230 1231 void ui_progress_spinner_args_set_hfill(UiProgressbarSpinnerArgs *args, UiBool value) { 1232 args->hfill = value; 1233 } 1234 1235 void ui_progress_spinner_args_set_vfill(UiProgressbarSpinnerArgs *args, UiBool value) { 1236 args->vfill = value; 1237 } 1238 1239 void ui_progress_spinner_args_set_override_defaults(UiProgressbarSpinnerArgs *args, UiBool value) { 1240 args->override_defaults = value; 1241 } 1242 1243 void ui_progress_spinner_args_set_margin(UiProgressbarSpinnerArgs *args, int value) { 1244 args->margin = value; 1245 } 1246 1247 void ui_progress_spinner_args_set_margin_left(UiProgressbarSpinnerArgs *args, int value) { 1248 args->margin_left = value; 1249 } 1250 1251 void ui_progress_spinner_args_set_margin_right(UiProgressbarSpinnerArgs *args, int value) { 1252 args->margin_right = value; 1253 } 1254 1255 void ui_progress_spinner_args_set_margin_top(UiProgressbarSpinnerArgs *args, int value) { 1256 args->margin_top = value; 1257 } 1258 1259 void ui_progress_spinner_args_set_margin_bottom(UiProgressbarSpinnerArgs *args, int value) { 1260 args->margin_bottom = value; 1261 } 1262 1263 void ui_progress_spinner_args_set_colspan(UiProgressbarSpinnerArgs *args, int colspan) { 1264 args->colspan = colspan; 1265 } 1266 1267 void ui_progress_spinner_args_set_rowspan(UiProgressbarSpinnerArgs *args, int rowspan) { 1268 args->rowspan = rowspan; 1269 } 1270 1271 void ui_progress_spinner_args_set_name(UiProgressbarSpinnerArgs *args, const char *name) { 1272 args->name = strdup(name); 1273 } 1274 1275 void ui_progress_spinner_args_set_style_class(UiProgressbarSpinnerArgs *args, const char *classname) { 1276 args->style_class = strdup(classname); 1277 } 1278 1279 void ui_progress_spinner_args_set_varname(UiProgressbarSpinnerArgs *args, const char *varname) { 1280 args->varname = strdup(varname); 1281 } 1282 1283 void ui_progress_spinner_args_set_value(UiProgressbarSpinnerArgs *args, UiInteger *value) { 1284 args->value = value; 1285 } 1286 1287 void ui_progress_spinner_args_free(UiProgressbarSpinnerArgs *args) { 1288 free((void*)args->name); 1289 free((void*)args->style_class); 1290 free((void*)args->varname); 1291 free(args); 1292 } 1293 1294 1295 /* ---------------------------- UiButtonArgs -------------------------------*/ 1296 1297 UiButtonArgs* ui_button_args_new(void) { 1298 UiButtonArgs *args = malloc(sizeof(UiButtonArgs)); 1299 memset(args, 0, sizeof(UiButtonArgs)); 1300 return args; 1301 } 1302 1303 1304 void ui_button_args_set_fill(UiButtonArgs *args, UiBool fill) { 1305 args->fill = fill; 1306 } 1307 1308 1309 void ui_button_args_set_hexpand(UiButtonArgs *args, UiBool value) { 1310 args->hexpand = value; 1311 } 1312 1313 1314 void ui_button_args_set_vexpand(UiButtonArgs *args, UiBool value) { 1315 args->vexpand = value; 1316 } 1317 1318 1319 void ui_button_args_set_hfill(UiButtonArgs *args, UiBool value) { 1320 args->hfill = value; 1321 } 1322 1323 1324 void ui_button_args_set_vfill(UiButtonArgs *args, UiBool value) { 1325 args->vfill = value; 1326 } 1327 1328 1329 void ui_button_args_set_override_defaults(UiButtonArgs *args, UiBool value) { 1330 args->override_defaults = value; 1331 } 1332 1333 void ui_button_args_set_margin(UiButtonArgs *args, int value) { 1334 args->margin = value; 1335 } 1336 1337 void ui_button_args_set_margin_left(UiButtonArgs *args, int value) { 1338 args->margin_left = value; 1339 } 1340 1341 void ui_button_args_set_margin_right(UiButtonArgs *args, int value) { 1342 args->margin_right = value; 1343 } 1344 1345 void ui_button_args_set_margin_top(UiButtonArgs *args, int value) { 1346 args->margin_top = value; 1347 } 1348 1349 void ui_button_args_set_margin_bottom(UiButtonArgs *args, int value) { 1350 args->margin_bottom = value; 1351 } 1352 1353 void ui_button_args_set_colspan(UiButtonArgs *args, int colspan) { 1354 args->colspan = colspan; 1355 } 1356 1357 1358 void ui_button_args_set_rowspan(UiButtonArgs *args, int rowspan) { 1359 args->rowspan = rowspan; 1360 } 1361 1362 void ui_button_args_set_name(UiButtonArgs *args, const char *name) { 1363 args->name = strdup(name); 1364 } 1365 1366 void ui_button_args_set_style_class(UiButtonArgs *args, const char *classname) { 1367 args->style_class = strdup(classname); 1368 } 1369 1370 void ui_button_args_set_label(UiButtonArgs *args, const char *label){ 1371 args->label = strdup(label); 1372 } 1373 1374 void ui_button_args_set_icon(UiButtonArgs *args, const char *icon){ 1375 args->icon = strdup(icon); 1376 } 1377 1378 void ui_button_args_set_tooltip(UiButtonArgs *args, const char *tooltip) { 1379 args->tooltip = strdup(tooltip); 1380 } 1381 1382 void ui_button_args_set_labeltype(UiButtonArgs *args, int labeltype){ 1383 args->labeltype = labeltype; 1384 } 1385 1386 void ui_button_args_set_onclick(UiButtonArgs *args, ui_callback callback){ 1387 args->onclick = callback; 1388 } 1389 1390 void ui_button_args_set_onclickdata(UiButtonArgs *args, void *onclickdata){ 1391 args->onclickdata = onclickdata; 1392 } 1393 1394 void ui_button_args_set_states(UiButtonArgs *args, int *states, int numstates) { 1395 args->states = calloc(numstates+1, sizeof(int)); 1396 memcpy((void*)args->states, states, numstates * sizeof(int)); 1397 ((int*)args->states)[numstates] = -1; 1398 } 1399 1400 void ui_button_args_free(UiButtonArgs *args) { 1401 free((void*)args->name); 1402 free((void*)args->style_class); 1403 free((void*)args->label); 1404 free((void*)args->icon); 1405 free((void*)args->tooltip); 1406 free((void*)args->states); 1407 free(args); 1408 } 1409 1410 1411 /* ------------------------- UiToggleArgs ----------------------------*/ 1412 1413 1414 UiToggleArgs* ui_toggle_args_new(void) { 1415 UiToggleArgs *args = malloc(sizeof(UiToggleArgs)); 1416 memset(args, 0, sizeof(UiToggleArgs)); 1417 return args; 1418 } 1419 1420 void ui_toggle_args_set_fill(UiToggleArgs *args, UiBool fill) { 1421 args->fill = fill; 1422 } 1423 1424 void ui_toggle_args_set_hexpand(UiToggleArgs *args, UiBool value) { 1425 args->hexpand = value; 1426 } 1427 1428 void ui_toggle_args_set_vexpand(UiToggleArgs *args, UiBool value) { 1429 args->vexpand = value; 1430 } 1431 1432 void ui_toggle_args_set_hfill(UiToggleArgs *args, UiBool value) { 1433 args->hfill = value; 1434 } 1435 1436 void ui_toggle_args_set_vfill(UiToggleArgs *args, UiBool value) { 1437 args->vfill = value; 1438 } 1439 1440 void ui_toggle_args_set_override_defaults(UiToggleArgs *args, UiBool value) { 1441 args->override_defaults = value; 1442 } 1443 1444 void ui_toggle_args_set_margin(UiToggleArgs *args, int value) { 1445 args->margin = value; 1446 } 1447 1448 void ui_toggle_args_set_margin_left(UiToggleArgs *args, int value) { 1449 args->margin_left = value; 1450 } 1451 1452 void ui_toggle_args_set_margin_right(UiToggleArgs *args, int value) { 1453 args->margin_right = value; 1454 } 1455 1456 void ui_toggle_args_set_margin_top(UiToggleArgs *args, int value) { 1457 args->margin_top = value; 1458 } 1459 1460 void ui_toggle_args_set_margin_bottom(UiToggleArgs *args, int value) { 1461 args->margin_bottom = value; 1462 } 1463 1464 void ui_toggle_args_set_colspan(UiToggleArgs *args, int colspan) { 1465 args->colspan = colspan; 1466 } 1467 1468 void ui_toggle_args_set_rowspan(UiToggleArgs *args, int rowspan) { 1469 args->rowspan = rowspan; 1470 } 1471 1472 1473 void ui_toggle_args_set_name(UiToggleArgs *args, const char *name) { 1474 args->name = strdup(name); 1475 } 1476 1477 void ui_toggle_args_set_style_class(UiToggleArgs *args, const char *classname) { 1478 args->style_class = strdup(classname); 1479 } 1480 1481 void ui_toggle_args_set_label(UiToggleArgs *args, const char *label){ 1482 args->label = strdup(label); 1483 } 1484 1485 void ui_toggle_args_set_icon(UiToggleArgs *args, const char *icon){ 1486 args->icon = strdup(icon); 1487 } 1488 1489 void ui_toggle_args_set_tooltip(UiToggleArgs *args, const char *tooltip) { 1490 args->tooltip = strdup(tooltip); 1491 } 1492 1493 void ui_toggle_args_set_labeltype(UiToggleArgs *args, int labeltype){ 1494 args->labeltype = labeltype; 1495 } 1496 1497 void ui_toggle_args_set_onchange(UiToggleArgs *args, ui_callback callback){ 1498 args->onchange = callback; 1499 } 1500 1501 void ui_toggle_args_set_onchangedata(UiToggleArgs *args, void *onchangedata){ 1502 args->onchangedata = onchangedata; 1503 } 1504 1505 void ui_toggle_args_set_varname(UiToggleArgs *args, const char *varname) { 1506 args->varname = strdup(varname); 1507 } 1508 1509 void ui_toggle_args_set_value(UiToggleArgs *args, UiInteger *value) { 1510 args->value = value; 1511 } 1512 1513 void ui_toggle_args_set_enablestate(UiToggleArgs *args, int state) { 1514 args->enable_state = state; 1515 } 1516 1517 void ui_toggle_args_set_states(UiToggleArgs *args, int *states, int numstates) { 1518 args->states = calloc(numstates+1, sizeof(int)); 1519 memcpy((void*)args->states, states, numstates * sizeof(int)); 1520 ((int*)args->states)[numstates] = -1; 1521 } 1522 1523 void ui_toggle_args_free(UiToggleArgs *args) { 1524 free((void*)args->name); 1525 free((void*)args->style_class); 1526 free((void*)args->label); 1527 free((void*)args->icon); 1528 free((void*)args->tooltip); 1529 free((void*)args->varname); 1530 free((void*)args->states); 1531 free(args); 1532 } 1533 1534 /* ------------------------- UiLinkButtonArgs ----------------------------*/ 1535 1536 1537 UiLinkButtonArgs* ui_linkbutton_args_new(void) { 1538 UiLinkButtonArgs *args = malloc(sizeof(UiLinkButtonArgs)); 1539 memset(args, 0, sizeof(UiLinkButtonArgs)); 1540 return args; 1541 } 1542 1543 1544 void ui_linkbutton_args_set_fill(UiLinkButtonArgs *args, UiBool fill) { 1545 args->fill = fill; 1546 } 1547 1548 1549 void ui_linkbutton_args_set_hexpand(UiLinkButtonArgs *args, UiBool value) { 1550 args->hexpand = value; 1551 } 1552 1553 1554 void ui_linkbutton_args_set_vexpand(UiLinkButtonArgs *args, UiBool value) { 1555 args->vexpand = value; 1556 } 1557 1558 1559 void ui_linkbutton_args_set_hfill(UiLinkButtonArgs *args, UiBool value) { 1560 args->hfill = value; 1561 } 1562 1563 1564 void ui_linkbutton_args_set_vfill(UiLinkButtonArgs *args, UiBool value) { 1565 args->vfill = value; 1566 } 1567 1568 1569 void ui_linkbutton_args_set_override_defaults(UiLinkButtonArgs *args, UiBool value) { 1570 args->override_defaults = value; 1571 } 1572 1573 void ui_linkbutton_args_set_margin(UiLinkButtonArgs *args, int value) { 1574 args->margin = value; 1575 } 1576 1577 void ui_linkbutton_args_set_margin_left(UiLinkButtonArgs *args, int value) { 1578 args->margin_left = value; 1579 } 1580 1581 void ui_linkbutton_args_set_margin_right(UiLinkButtonArgs *args, int value) { 1582 args->margin_right = value; 1583 } 1584 1585 void ui_linkbutton_args_set_margin_top(UiLinkButtonArgs *args, int value) { 1586 args->margin_top = value; 1587 } 1588 1589 void ui_linkbutton_args_set_margin_bottom(UiLinkButtonArgs *args, int value) { 1590 args->margin_bottom = value; 1591 } 1592 1593 void ui_linkbutton_args_set_colspan(UiLinkButtonArgs *args, int colspan) { 1594 args->colspan = colspan; 1595 } 1596 1597 1598 void ui_linkbutton_args_set_rowspan(UiLinkButtonArgs *args, int rowspan) { 1599 args->rowspan = rowspan; 1600 } 1601 1602 1603 void ui_linkbutton_args_set_name(UiLinkButtonArgs *args, const char *name) { 1604 args->name = strdup(name); 1605 } 1606 1607 1608 void ui_linkbutton_args_set_style_class(UiLinkButtonArgs *args, const char *classname) { 1609 args->style_class = strdup(classname); 1610 } 1611 1612 void ui_linkbutton_args_set_label(UiLinkButtonArgs *args, const char *label){ 1613 args->label = strdup(label); 1614 } 1615 1616 void ui_linkbutton_args_set_uri(UiLinkButtonArgs *args, const char *uri) { 1617 args->uri = strdup(uri); 1618 } 1619 1620 void ui_linkbutton_args_set_onclick(UiLinkButtonArgs *args, ui_callback callback) { 1621 args->onclick = callback; 1622 } 1623 1624 void ui_linkbutton_args_set_onclickdata(UiLinkButtonArgs *args, void *userdata) { 1625 args->onclickdata = userdata; 1626 } 1627 1628 void ui_linkbutton_args_set_nofollow(UiLinkButtonArgs *args, UiBool value) { 1629 args->nofollow = value; 1630 } 1631 1632 void ui_linkbutton_args_set_type(UiLinkButtonArgs *args, UiLinkType type) { 1633 args->type = type; 1634 } 1635 1636 void ui_linkbutton_args_set_varname(UiLinkButtonArgs *args, const char *varname) { 1637 args->varname = strdup(varname); 1638 } 1639 1640 void ui_linkbutton_args_set_value(UiLinkButtonArgs *args, UiString *value) { 1641 args->value = value; 1642 } 1643 1644 void ui_linkbutton_args_set_states(UiLinkButtonArgs *args, int *states, int numstates) { 1645 args->states = calloc(numstates+1, sizeof(int)); 1646 memcpy((void*)args->states, states, numstates * sizeof(int)); 1647 ((int*)args->states)[numstates] = -1; 1648 } 1649 1650 void ui_linkbutton_args_free(UiLinkButtonArgs *args) { 1651 free((void*)args->name); 1652 free((void*)args->style_class); 1653 free((void*)args->label); 1654 free((void*)args->uri); 1655 free((void*)args->varname); 1656 free((void*)args->states); 1657 free(args); 1658 } 1659 1660 1661 /* ------------------------- UiListArgs ----------------------------*/ 1662 1663 UiListArgs* ui_list_args_new(void) { 1664 UiListArgs *args = malloc(sizeof(UiListArgs)); 1665 memset(args, 0, sizeof(UiListArgs)); 1666 return args; 1667 } 1668 1669 void ui_list_args_set_fill(UiListArgs *args, UiBool fill) { 1670 args->fill = fill; 1671 } 1672 1673 void ui_list_args_set_hexpand(UiListArgs *args, UiBool value) { 1674 args->hexpand = value; 1675 } 1676 1677 void ui_list_args_set_vexpand(UiListArgs *args, UiBool value) { 1678 args->vexpand = value; 1679 } 1680 1681 void ui_list_args_set_hfill(UiListArgs *args, UiBool value) { 1682 args->hfill = value; 1683 } 1684 1685 void ui_list_args_set_vfill(UiListArgs *args, UiBool value) { 1686 args->vfill = value; 1687 } 1688 1689 void ui_list_args_set_override_defaults(UiListArgs *args, UiBool value) { 1690 args->override_defaults = value; 1691 } 1692 1693 void ui_list_args_set_margin(UiListArgs *args, int value) { 1694 args->margin = value; 1695 } 1696 1697 void ui_list_args_set_margin_left(UiListArgs *args, int value) { 1698 args->margin_left = value; 1699 } 1700 1701 void ui_list_args_set_margin_right(UiListArgs *args, int value) { 1702 args->margin_right = value; 1703 } 1704 1705 void ui_list_args_set_margin_top(UiListArgs *args, int value) { 1706 args->margin_top = value; 1707 } 1708 1709 void ui_list_args_set_margin_bottom(UiListArgs *args, int value) { 1710 args->margin_bottom = value; 1711 } 1712 1713 void ui_list_args_set_colspan(UiListArgs *args, int colspan) { 1714 args->colspan = colspan; 1715 } 1716 1717 void ui_list_args_set_rowspan(UiListArgs *args, int rowspan) { 1718 args->rowspan = rowspan; 1719 } 1720 1721 void ui_list_args_set_name(UiListArgs *args, const char *name) { 1722 args->name = strdup(name); 1723 } 1724 1725 void ui_list_args_set_style_class(UiListArgs *args, const char *classname) { 1726 args->style_class = classname; 1727 } 1728 1729 void ui_list_args_set_varname(UiListArgs *args, const char *varname) { 1730 args->varname = strdup(varname); 1731 } 1732 1733 void ui_list_args_set_value(UiListArgs *args, UiList *value) { 1734 args->list = value; 1735 } 1736 1737 void ui_list_args_set_model(UiListArgs *args, UiModel *model) { 1738 args->model = model; 1739 } 1740 1741 void ui_list_args_set_static_elements(UiListArgs *args, char **strarray, size_t nelm) { 1742 char **array = calloc(nelm, sizeof(char*)); 1743 for(int i=0;i<nelm;i++) { 1744 array[i] = strdup(strarray[i]); 1745 } 1746 args->static_elements = array; 1747 args->static_nelm = nelm; 1748 } 1749 1750 void ui_list_args_set_getvalue_func(UiListArgs *args, ui_getvaluefunc getvalue) { 1751 args->getvalue = getvalue; 1752 } 1753 1754 void ui_list_args_set_getvalue_func2(UiListArgs *args, ui_getvaluefunc2 getvalue) { 1755 args->getvalue2 = getvalue; 1756 } 1757 1758 void ui_list_args_set_getvalue_data(UiListArgs *args, void *userdata) { 1759 args->getvalue2data = userdata; 1760 } 1761 1762 void ui_list_args_set_getstyle_func(UiListArgs *args, ui_getstylefunc getstyle) { 1763 args->getstyle = getstyle; 1764 } 1765 1766 void ui_list_args_set_getstyle_data(UiListArgs *args, void *userdata) { 1767 args->getstyledata = userdata; 1768 } 1769 1770 void ui_list_args_set_onactivate(UiListArgs *args, ui_callback callback) { 1771 args->onactivate = callback; 1772 } 1773 1774 void ui_list_args_set_onactivatedata(UiListArgs *args, void *userdata) { 1775 args->onactivatedata = userdata; 1776 } 1777 1778 void ui_list_args_set_onselection(UiListArgs *args, ui_callback callback) { 1779 args->onselection = callback; 1780 } 1781 1782 void ui_list_args_set_onselectiondata(UiListArgs *args, void *userdata) { 1783 args->onselectiondata = userdata; 1784 } 1785 1786 void ui_list_args_set_ondragstart(UiListArgs *args, ui_callback callback) { 1787 args->ondragstart = callback; 1788 } 1789 1790 void ui_list_args_set_ondragstartdata(UiListArgs *args, void *userdata) { 1791 args->ondragstartdata = userdata; 1792 } 1793 1794 void ui_list_args_set_ondragcomplete(UiListArgs *args, ui_callback callback) { 1795 args->ondragcomplete = callback; 1796 } 1797 1798 void ui_list_args_set_ondragcompletedata(UiListArgs *args, void *userdata) { 1799 args->ondragcompletedata = userdata; 1800 } 1801 1802 void ui_list_args_set_ondrop(UiListArgs *args, ui_callback callback) { 1803 args->ondrop = callback; 1804 } 1805 1806 void ui_list_args_set_ondropdata(UiListArgs *args, void *userdata) { 1807 args->ondropdata = userdata; 1808 } 1809 1810 void ui_list_args_set_onsave(UiListArgs *args, ui_list_savefunc onsave) { 1811 args->onsave = onsave; 1812 } 1813 1814 void ui_list_args_set_onsavedata(UiListArgs *args, void *userdata) { 1815 args->onsavedata = userdata; 1816 } 1817 1818 void ui_list_args_set_multiselection(UiListArgs *args, UiBool multiselection) { 1819 args->multiselection = multiselection; 1820 } 1821 1822 void ui_list_args_set_contextmenu(UiListArgs *args, UiMenuBuilder *menubuilder) { 1823 args->contextmenu = menubuilder; 1824 } 1825 1826 void ui_list_args_set_states(UiListArgs *args, int *states, int numstates) { 1827 args->states = calloc(numstates+1, sizeof(int)); 1828 memcpy((void*)args->states, states, numstates * sizeof(int)); 1829 ((int*)args->states)[numstates] = -1; 1830 } 1831 1832 void ui_list_args_free(UiListArgs *args) { 1833 free((void*)args->name); 1834 free((void*)args->style_class); 1835 free((void*)args->varname); 1836 if(args->static_elements) { 1837 for(int i=0;i<args->static_nelm;i++) { 1838 free(args->static_elements[i]); 1839 } 1840 free(args->static_elements); 1841 } 1842 free((void*)args->states); 1843 free(args); 1844 } 1845 1846 1847 1848 /* ---------------------- SurceList ------------------------------------- */ 1849 1850 UiSourceListArgs* ui_sourcelist_args_new(void) { 1851 UiSourceListArgs *args = malloc(sizeof(UiSourceListArgs)); 1852 memset(args, 0, sizeof(UiSourceListArgs)); 1853 return args; 1854 } 1855 1856 1857 void ui_sourcelist_args_set_fill(UiSourceListArgs *args, UiBool fill) { 1858 args->fill = fill; 1859 } 1860 1861 1862 void ui_sourcelist_args_set_hexpand(UiSourceListArgs *args, UiBool value) { 1863 args->hexpand = value; 1864 } 1865 1866 1867 void ui_sourcelist_args_set_vexpand(UiSourceListArgs *args, UiBool value) { 1868 args->vexpand = value; 1869 } 1870 1871 1872 void ui_sourcelist_args_set_hfill(UiSourceListArgs *args, UiBool value) { 1873 args->hfill = value; 1874 } 1875 1876 1877 void ui_sourcelist_args_set_vfill(UiSourceListArgs *args, UiBool value) { 1878 args->vfill = value; 1879 } 1880 1881 1882 void ui_sourcelist_args_set_override_defaults(UiSourceListArgs *args, UiBool value) { 1883 args->override_defaults = value; 1884 } 1885 1886 void ui_sourcelist_args_set_margin(UiSourceListArgs *args, int value) { 1887 args->margin = value; 1888 } 1889 1890 void ui_sourcelist_args_set_margin_left(UiSourceListArgs *args, int value) { 1891 args->margin_left = value; 1892 } 1893 1894 void ui_sourcelist_args_set_margin_right(UiSourceListArgs *args, int value) { 1895 args->margin_right = value; 1896 } 1897 1898 void ui_sourcelist_args_set_margin_top(UiSourceListArgs *args, int value) { 1899 args->margin_top = value; 1900 } 1901 1902 void ui_sourcelist_args_set_margin_bottom(UiSourceListArgs *args, int value) { 1903 args->margin_bottom = value; 1904 } 1905 1906 void ui_sourcelist_args_set_colspan(UiSourceListArgs *args, int colspan) { 1907 args->colspan = colspan; 1908 } 1909 1910 1911 void ui_sourcelist_args_set_rowspan(UiSourceListArgs *args, int rowspan) { 1912 args->rowspan = rowspan; 1913 } 1914 1915 1916 void ui_sourcelist_args_set_name(UiSourceListArgs *args, const char *name) { 1917 args->name = strdup(name); 1918 } 1919 1920 1921 void ui_sourcelist_args_set_style_class(UiSourceListArgs *args, const char *classname) { 1922 args->style_class = strdup(classname); 1923 } 1924 1925 UIEXPORT void ui_sourcelist_args_set_static_sublists(UiSourceListArgs *args, UiSubList *sublists, size_t numsublists) { 1926 args->sublists = calloc(numsublists, sizeof(UiSubList)); 1927 memcpy(args->sublists, sublists, numsublists * sizeof(UiSubList)); 1928 args->numsublists = numsublists; 1929 } 1930 1931 void ui_sourcelist_args_set_varname(UiSourceListArgs *args, const char *varname) { 1932 args->varname = strdup(varname); 1933 } 1934 1935 1936 void ui_sourcelist_args_set_dynamic_sublists(UiSourceListArgs *args, UiList *value) { 1937 args->dynamic_sublist = value; 1938 } 1939 1940 1941 void ui_sourcelist_args_set_getvalue_func(UiSourceListArgs *args, ui_sublist_getvalue_func getvalue) { 1942 args->getvalue = getvalue; 1943 } 1944 1945 void ui_sourcelist_args_set_getvalue_userdata(UiSourceListArgs *args, void *userdata) { 1946 args->getvaluedata = userdata; 1947 } 1948 1949 void ui_sourcelist_args_set_onactivate(UiSourceListArgs *args, ui_callback callback) { 1950 args->onactivate = callback; 1951 } 1952 1953 1954 void ui_sourcelist_args_set_onactivatedata(UiSourceListArgs *args, void *userdata) { 1955 args->onactivatedata = userdata; 1956 } 1957 1958 1959 void ui_sourcelist_args_set_onbuttonclick(UiSourceListArgs *args, ui_callback callback) { 1960 args->onbuttonclick = callback; 1961 1962 } 1963 1964 1965 void ui_sourcelist_args_set_onbuttonclickdata(UiSourceListArgs *args, void *userdata) { 1966 args->onbuttonclickdata = userdata; 1967 } 1968 1969 void ui_sourcelist_args_set_contextmenu(UiSourceListArgs *args, UiMenuBuilder *menubuilder) { 1970 args->contextmenu = menubuilder; 1971 } 1972 1973 void ui_sourcelist_args_set_header_is_item(UiSourceListArgs *args, UiBool value) { 1974 args->header_is_item = value; 1975 } 1976 1977 void ui_sourcelist_args_free(UiSourceListArgs *args) { 1978 free((void*)args->name); 1979 free((void*)args->style_class); 1980 free((void*)args->varname); 1981 free((void*)args->sublists); 1982 free((void*)args->states); 1983 free(args); 1984 } 1985 1986 1987 /* ------------------------- UiTextAreaArgs ----------------------------*/ 1988 1989 UiTextAreaArgs* ui_textarea_args_new(void) { 1990 UiTextAreaArgs *args = malloc(sizeof(UiTextAreaArgs)); 1991 memset(args, 0, sizeof(UiTextAreaArgs)); 1992 return args; 1993 } 1994 1995 1996 void ui_textarea_args_set_fill(UiTextAreaArgs *args, UiBool fill) { 1997 args->fill = fill; 1998 } 1999 2000 2001 void ui_textarea_args_set_hexpand(UiTextAreaArgs *args, UiBool value) { 2002 args->hexpand = value; 2003 } 2004 2005 2006 void ui_textarea_args_set_vexpand(UiTextAreaArgs *args, UiBool value) { 2007 args->vexpand = value; 2008 } 2009 2010 2011 void ui_textarea_args_set_hfill(UiTextAreaArgs *args, UiBool value) { 2012 args->hfill = value; 2013 } 2014 2015 2016 void ui_textarea_args_set_vfill(UiTextAreaArgs *args, UiBool value) { 2017 args->vfill = value; 2018 } 2019 2020 2021 void ui_textarea_args_set_override_defaults(UiTextAreaArgs *args, UiBool value) { 2022 args->override_defaults = value; 2023 } 2024 2025 void ui_textarea_args_set_margin(UiTextAreaArgs *args, int value) { 2026 args->margin = value; 2027 } 2028 2029 void ui_textarea_args_set_margin_left(UiTextAreaArgs *args, int value) { 2030 args->margin_left = value; 2031 } 2032 2033 void ui_textarea_args_set_margin_right(UiTextAreaArgs *args, int value) { 2034 args->margin_right = value; 2035 } 2036 2037 void ui_textarea_args_set_margin_top(UiTextAreaArgs *args, int value) { 2038 args->margin_top = value; 2039 } 2040 2041 void ui_textarea_args_set_margin_bottom(UiTextAreaArgs *args, int value) { 2042 args->margin_bottom = value; 2043 } 2044 2045 2046 void ui_textarea_args_set_colspan(UiTextAreaArgs *args, int colspan) { 2047 args->colspan = colspan; 2048 } 2049 2050 2051 void ui_textarea_args_set_rowspan(UiTextAreaArgs *args, int rowspan) { 2052 args->rowspan = rowspan; 2053 } 2054 2055 2056 void ui_textarea_args_set_name(UiTextAreaArgs *args, const char *name) { 2057 args->name = strdup(name); 2058 } 2059 2060 2061 void ui_textarea_args_set_style_class(UiTextAreaArgs *args, const char *classname) { 2062 args->style_class = strdup(classname); 2063 } 2064 2065 void ui_textarea_args_set_onchange(UiTextAreaArgs *args, ui_callback callback){ 2066 args->onchange = callback; 2067 } 2068 2069 2070 void ui_textarea_args_set_onchangedata(UiTextAreaArgs *args, void *onchangedata){ 2071 args->onchangedata = onchangedata; 2072 } 2073 2074 void ui_textarea_args_set_varname(UiTextAreaArgs *args, const char *varname) { 2075 args->varname = strdup(varname); 2076 } 2077 2078 void ui_textarea_args_set_value(UiTextAreaArgs *args, UiText *value) { 2079 args->value = value; 2080 } 2081 2082 void ui_textarea_args_set_states(UiTextAreaArgs *args, int *states, int numstates) { 2083 args->states = calloc(numstates+1, sizeof(int)); 2084 memcpy((void*)args->states, states, numstates * sizeof(int)); 2085 ((int*)args->states)[numstates] = -1; 2086 } 2087 2088 void ui_textarea_args_free(UiTextAreaArgs *args) { 2089 free((void*)args->name); 2090 free((void*)args->style_class); 2091 free((void*)args->varname); 2092 free((void*)args->states); 2093 free(args); 2094 } 2095 2096 2097 2098 /* ------------------------- UiTextFieldArgs ----------------------------*/ 2099 2100 UiTextFieldArgs* ui_textfield_args_new(void) { 2101 UiTextFieldArgs *args = malloc(sizeof(UiTextFieldArgs)); 2102 memset(args, 0, sizeof(UiTextFieldArgs)); 2103 return args; 2104 } 2105 2106 2107 void ui_textfield_args_set_fill(UiTextFieldArgs *args, UiBool fill) { 2108 args->fill = fill; 2109 } 2110 2111 2112 void ui_textfield_args_set_hexpand(UiTextFieldArgs *args, UiBool value) { 2113 args->hexpand = value; 2114 } 2115 2116 2117 void ui_textfield_args_set_vexpand(UiTextFieldArgs *args, UiBool value) { 2118 args->vexpand = value; 2119 } 2120 2121 2122 void ui_textfield_args_set_hfill(UiTextFieldArgs *args, UiBool value) { 2123 args->hfill = value; 2124 } 2125 2126 2127 void ui_textfield_args_set_vfill(UiTextFieldArgs *args, UiBool value) { 2128 args->vfill = value; 2129 } 2130 2131 2132 void ui_textfield_args_set_override_defaults(UiTextFieldArgs *args, UiBool value) { 2133 args->override_defaults = value; 2134 } 2135 2136 void ui_textfield_args_set_margin(UiTextFieldArgs *args, int value) { 2137 args->margin = value; 2138 } 2139 2140 void ui_textfield_args_set_margin_left(UiTextFieldArgs *args, int value) { 2141 args->margin_left = value; 2142 } 2143 2144 void ui_textfield_args_set_margin_right(UiTextFieldArgs *args, int value) { 2145 args->margin_right = value; 2146 } 2147 2148 void ui_textfield_args_set_margin_top(UiTextFieldArgs *args, int value) { 2149 args->margin_top = value; 2150 } 2151 2152 void ui_textfield_args_set_margin_bottom(UiTextFieldArgs *args, int value) { 2153 args->margin_bottom = value; 2154 } 2155 2156 2157 void ui_textfield_args_set_colspan(UiTextFieldArgs *args, int colspan) { 2158 args->colspan = colspan; 2159 } 2160 2161 2162 void ui_textfield_args_set_rowspan(UiTextFieldArgs *args, int rowspan) { 2163 args->rowspan = rowspan; 2164 } 2165 2166 2167 void ui_textfield_args_set_name(UiTextFieldArgs *args, const char *name) { 2168 args->name = strdup(name); 2169 } 2170 2171 2172 void ui_textfield_args_set_style_class(UiTextFieldArgs *args, const char *classname) { 2173 args->style_class = strdup(classname); 2174 } 2175 2176 void ui_textfield_args_set_onchange(UiTextFieldArgs *args, ui_callback callback){ 2177 args->onchange = callback; 2178 } 2179 2180 2181 void ui_textfield_args_set_onchangedata(UiTextFieldArgs *args, void *onchangedata){ 2182 args->onchangedata = onchangedata; 2183 } 2184 2185 void ui_textfield_args_set_onactivate(UiTextFieldArgs *args, ui_callback callback){ 2186 args->onactivate = callback; 2187 } 2188 2189 2190 void ui_textfield_args_set_onactivatedata(UiTextFieldArgs *args, void *onactivatedata){ 2191 args->onactivatedata = onactivatedata; 2192 } 2193 2194 void ui_textfield_args_set_varname(UiTextFieldArgs *args, const char *varname) { 2195 args->varname = strdup(varname); 2196 } 2197 2198 void ui_textfield_args_set_value(UiTextFieldArgs *args, UiString *value) { 2199 args->value = value; 2200 } 2201 2202 void ui_textfield_args_set_states(UiTextFieldArgs *args, int *states, int numstates) { 2203 args->states = calloc(numstates+1, sizeof(int)); 2204 memcpy((void*)args->states, states, numstates * sizeof(int)); 2205 ((int*)args->states)[numstates] = -1; 2206 } 2207 2208 void ui_textfield_args_free(UiTextFieldArgs *args) { 2209 free((void*)args->name); 2210 free((void*)args->style_class); 2211 free((void*)args->varname); 2212 free((void*)args->states); 2213 free(args); 2214 } 2215 2216 2217 /* ------------------------- UiSpinBoxArgs ----------------------------*/ 2218 2219 UiSpinBoxArgs* ui_spinbox_args_new(void) { 2220 UiSpinBoxArgs *args = malloc(sizeof(UiSpinBoxArgs)); 2221 memset(args, 0, sizeof(UiSpinBoxArgs)); 2222 return args; 2223 } 2224 2225 void ui_spinbox_args_set_fill(UiSpinBoxArgs *args, UiBool fill) { 2226 args->fill = fill; 2227 } 2228 2229 void ui_spinbox_args_set_hexpand(UiSpinBoxArgs *args, UiBool value) { 2230 args->hexpand = value; 2231 } 2232 2233 void ui_spinbox_args_set_vexpand(UiSpinBoxArgs *args, UiBool value) { 2234 args->vexpand = value; 2235 } 2236 2237 void ui_spinbox_args_set_hfill(UiSpinBoxArgs *args, UiBool value) { 2238 args->hfill = value; 2239 } 2240 2241 void ui_spinbox_args_set_vfill(UiSpinBoxArgs *args, UiBool value) { 2242 args->vfill = value; 2243 } 2244 2245 void ui_spinbox_args_set_override_defaults(UiSpinBoxArgs *args, UiBool value) { 2246 args->override_defaults = value; 2247 } 2248 2249 void ui_spinbox_args_set_colspan(UiSpinBoxArgs *args, int colspan) { 2250 args->colspan = colspan; 2251 } 2252 2253 void ui_spinbox_args_set_rowspan(UiSpinBoxArgs *args, int rowspan) { 2254 args->rowspan = rowspan; 2255 } 2256 2257 void ui_spinbox_args_set_name(UiSpinBoxArgs *args, const char *name) { 2258 args->name = strdup(name); 2259 } 2260 2261 void ui_spinbox_args_set_style_class(UiSpinBoxArgs *args, const char *classname) { 2262 args->style_class = strdup(classname); 2263 } 2264 2265 void ui_spinbox_args_set_onchange(UiSpinBoxArgs *args, ui_callback callback) { 2266 args->onchange = callback; 2267 } 2268 2269 void ui_spinbox_args_set_onchangedata(UiSpinBoxArgs *args, void *onchangedata) { 2270 args->onchangedata = onchangedata; 2271 } 2272 2273 void ui_spinbox_args_set_margin(UiSpinBoxArgs *args, int value) { 2274 args->margin = value; 2275 } 2276 2277 void ui_spinbox_args_set_margin_left(UiSpinBoxArgs *args, int value) { 2278 args->margin_left = value; 2279 } 2280 2281 void ui_spinbox_args_set_margin_right(UiSpinBoxArgs *args, int value) { 2282 args->margin_right = value; 2283 } 2284 2285 void ui_spinbox_args_set_margin_top(UiSpinBoxArgs *args, int value) { 2286 args->margin_top = value; 2287 } 2288 2289 void ui_spinbox_args_set_margin_bottom(UiSpinBoxArgs *args, int value) { 2290 args->margin_bottom = value; 2291 } 2292 2293 void ui_spinbox_args_set_min(UiSpinBoxArgs *args, double min) { 2294 args->min = min; 2295 } 2296 2297 void ui_spinbox_args_set_max(UiSpinBoxArgs *args, double max) { 2298 args->max = max; 2299 } 2300 2301 void ui_spinbox_args_set_step(UiSpinBoxArgs *args, double step) { 2302 args->step = step; 2303 } 2304 2305 void ui_spinbox_args_set_digits(UiSpinBoxArgs *args, int digits) { 2306 args->digits = digits; 2307 } 2308 2309 void ui_spinbox_args_set_varname(UiSpinBoxArgs *args, const char *varname) { 2310 args->varname = strdup(varname); 2311 } 2312 2313 void ui_spinbox_args_set_intvalue(UiSpinBoxArgs *args, UiInteger *value) { 2314 args->intvalue = value; 2315 } 2316 2317 void ui_spinbox_args_set_doublevalue(UiSpinBoxArgs *args, UiDouble *value) { 2318 args->doublevalue = value; 2319 } 2320 2321 void ui_spinbox_args_set_rangevalue(UiSpinBoxArgs *args, UiRange *value) { 2322 args->rangevalue = value; 2323 } 2324 2325 void ui_spinbox_args_set_states(UiSpinBoxArgs *args, int *states, int numstates) { 2326 args->states = calloc(numstates+1, sizeof(int)); 2327 memcpy((void*)args->states, states, numstates * sizeof(int)); 2328 ((int*)args->states)[numstates] = -1; 2329 } 2330 2331 void ui_spinbox_args_free(UiSpinBoxArgs *args) { 2332 free((void*)args->name); 2333 free((void*)args->style_class); 2334 free((void*)args->varname); 2335 free((void*)args->states); 2336 free(args); 2337 } 2338 2339 2340 /* ------------------------- UiWebviewArgs ----------------------------*/ 2341 2342 UiWebviewArgs* ui_webview_args_new(void) { 2343 UiWebviewArgs *args = malloc(sizeof(UiWebviewArgs)); 2344 memset(args, 0, sizeof(UiWebviewArgs)); 2345 return args; 2346 } 2347 2348 2349 void ui_webview_args_set_fill(UiWebviewArgs *args, UiBool fill) { 2350 args->fill = fill; 2351 } 2352 2353 2354 void ui_webview_args_set_hexpand(UiWebviewArgs *args, UiBool value) { 2355 args->hexpand = value; 2356 } 2357 2358 2359 void ui_webview_args_set_vexpand(UiWebviewArgs *args, UiBool value) { 2360 args->vexpand = value; 2361 } 2362 2363 2364 void ui_webview_args_set_hfill(UiWebviewArgs *args, UiBool value) { 2365 args->hfill = value; 2366 } 2367 2368 2369 void ui_webview_args_set_vfill(UiWebviewArgs *args, UiBool value) { 2370 args->vfill = value; 2371 } 2372 2373 2374 void ui_webview_args_set_override_defaults(UiWebviewArgs *args, UiBool value) { 2375 args->override_defaults = value; 2376 } 2377 2378 void ui_webview_args_set_margin(UiWebviewArgs *args, int value) { 2379 args->margin = value; 2380 } 2381 2382 void ui_webview_args_set_margin_left(UiWebviewArgs *args, int value) { 2383 args->margin_left = value; 2384 } 2385 2386 void ui_webview_args_set_margin_right(UiWebviewArgs *args, int value) { 2387 args->margin_right = value; 2388 } 2389 2390 void ui_webview_args_set_margin_top(UiWebviewArgs *args, int value) { 2391 args->margin_top = value; 2392 } 2393 2394 void ui_webview_args_set_margin_bottom(UiWebviewArgs *args, int value) { 2395 args->margin_bottom = value; 2396 } 2397 2398 void ui_webview_args_set_colspan(UiWebviewArgs *args, int colspan) { 2399 args->colspan = colspan; 2400 } 2401 2402 2403 void ui_webview_args_set_rowspan(UiWebviewArgs *args, int rowspan) { 2404 args->rowspan = rowspan; 2405 } 2406 2407 2408 void ui_webview_args_set_name(UiWebviewArgs *args, const char *name) { 2409 args->name = strdup(name); 2410 } 2411 2412 2413 void ui_webview_args_set_style_class(UiWebviewArgs *args, const char *classname) { 2414 args->style_class = strdup(classname); 2415 } 2416 2417 void ui_webview_args_set_varname(UiWebviewArgs *args, const char *varname) { 2418 args->varname = strdup(varname); 2419 } 2420 2421 void ui_webview_args_set_value(UiWebviewArgs *args, UiGeneric *value) { 2422 args->value = value; 2423 } 2424 2425 void ui_webview_args_set_states(UiWebviewArgs *args, int *states, int numstates) { 2426 args->states = calloc(numstates+1, sizeof(int)); 2427 memcpy((void*)args->states, states, numstates * sizeof(int)); 2428 ((int*)args->states)[numstates] = -1; 2429 } 2430 2431 void ui_webview_args_free(UiWebviewArgs *args) { 2432 free((void*)args->name); 2433 free((void*)args->style_class); 2434 free((void*)args->varname); 2435 free((void*)args->states); 2436 free(args); 2437 } 2438 2439