| 699 free((void*)args->varname); |
699 free((void*)args->varname); |
| 700 free((void*)args->groups); |
700 free((void*)args->groups); |
| 701 free(args); |
701 free(args); |
| 702 } |
702 } |
| 703 |
703 |
| |
704 |
| |
705 /* ------------------------- UiListArgs ----------------------------*/ |
| |
706 |
| |
707 UiListArgs* ui_list_args_new(void) { |
| |
708 UiListArgs *args = malloc(sizeof(UiListArgs)); |
| |
709 memset(args, 0, sizeof(UiListArgs)); |
| |
710 return args; |
| |
711 } |
| |
712 |
| |
713 void ui_list_args_set_fill(UiListArgs *args, UiBool fill) { |
| |
714 args->fill = fill ? UI_ON : UI_OFF; |
| |
715 } |
| |
716 |
| |
717 void ui_list_args_set_hexpand(UiListArgs *args, UiBool value) { |
| |
718 args->hexpand = value; |
| |
719 } |
| |
720 |
| |
721 void ui_list_args_set_vexpand(UiListArgs *args, UiBool value) { |
| |
722 args->vexpand = value; |
| |
723 } |
| |
724 |
| |
725 void ui_list_args_set_hfill(UiListArgs *args, UiBool value) { |
| |
726 args->hfill = value; |
| |
727 } |
| |
728 |
| |
729 void ui_list_args_set_vfill(UiListArgs *args, UiBool value) { |
| |
730 args->vfill = value; |
| |
731 } |
| |
732 |
| |
733 void ui_list_args_set_override_defaults(UiListArgs *args, UiBool value) { |
| |
734 args->override_defaults = value; |
| |
735 } |
| |
736 |
| |
737 void ui_list_args_set_colspan(UiListArgs *args, int colspan) { |
| |
738 args->colspan = colspan; |
| |
739 } |
| |
740 |
| |
741 void ui_list_args_set_rowspan(UiListArgs *args, int rowspan) { |
| |
742 args->rowspan = rowspan; |
| |
743 } |
| |
744 |
| |
745 void ui_list_args_set_name(UiListArgs *args, const char *name) { |
| |
746 args->name = strdup(name); |
| |
747 } |
| |
748 |
| |
749 void ui_list_args_set_style_class(UiListArgs *args, const char *classname) { |
| |
750 args->style_class = classname; |
| |
751 } |
| |
752 |
| |
753 void ui_list_args_set_varname(UiListArgs *args, const char *varname) { |
| |
754 args->varname = strdup(varname); |
| |
755 } |
| |
756 |
| |
757 void ui_list_args_set_value(UiListArgs *args, UiList *value) { |
| |
758 args->list = value; |
| |
759 } |
| |
760 |
| |
761 void ui_list_args_set_model(UiListArgs *args, UiModel *model) { |
| |
762 args->model = model; |
| |
763 } |
| |
764 |
| |
765 void ui_list_args_set_static_elements(UiListArgs *args, char **strarray, size_t nelm) { |
| |
766 char **array = calloc(nelm, sizeof(char*)); |
| |
767 for(int i=0;i<nelm;i++) { |
| |
768 array[i] = strdup(strarray[i]); |
| |
769 } |
| |
770 args->static_elements = array; |
| |
771 args->static_nelm = nelm; |
| |
772 } |
| |
773 |
| |
774 void ui_list_args_set_getvalue_func(UiListArgs *args, ui_getvaluefunc getvalue) { |
| |
775 args->getvalue = getvalue; |
| |
776 } |
| |
777 |
| |
778 void ui_list_args_set_onactivate(UiListArgs *args, ui_callback callback) { |
| |
779 args->onactivate = callback; |
| |
780 } |
| |
781 |
| |
782 void ui_list_args_set_onactivatedata(UiListArgs *args, void *userdata) { |
| |
783 args->onactivatedata = userdata; |
| |
784 } |
| |
785 |
| |
786 void ui_list_args_set_onselection(UiListArgs *args, ui_callback callback) { |
| |
787 args->onselection = callback; |
| |
788 } |
| |
789 |
| |
790 void ui_list_args_set_onselectiondata(UiListArgs *args, void *userdata) { |
| |
791 args->onselectiondata = userdata; |
| |
792 } |
| |
793 |
| |
794 void ui_list_args_set_ondragstart(UiListArgs *args, ui_callback callback) { |
| |
795 args->ondragstart = callback; |
| |
796 } |
| |
797 |
| |
798 void ui_list_args_set_ondragstartdata(UiListArgs *args, void *userdata) { |
| |
799 args->ondragstartdata = userdata; |
| |
800 } |
| |
801 |
| |
802 void ui_list_args_set_ondragcomplete(UiListArgs *args, ui_callback callback) { |
| |
803 args->ondragcomplete = callback; |
| |
804 } |
| |
805 |
| |
806 void ui_list_args_set_ondragcompletedata(UiListArgs *args, void *userdata) { |
| |
807 args->ondragcompletedata = userdata; |
| |
808 } |
| |
809 |
| |
810 void ui_list_args_set_ondrop(UiListArgs *args, ui_callback callback) { |
| |
811 args->ondrop = callback; |
| |
812 } |
| |
813 |
| |
814 void ui_list_args_set_ondropdata(UiListArgs *args, void *userdata) { |
| |
815 args->ondropdata = userdata; |
| |
816 } |
| |
817 |
| |
818 void ui_list_args_set_multiselection(UiListArgs *args, UiBool multiselection) { |
| |
819 args->multiselection = multiselection; |
| |
820 } |
| |
821 |
| |
822 void ui_list_args_set_contextmenu(UiListArgs *args, UiMenuBuilder *menubuilder) { |
| |
823 args->contextmenu = menubuilder; |
| |
824 } |
| |
825 |
| |
826 void ui_list_args_set_groups(UiListArgs *args, int *groups) { |
| |
827 // TODO |
| |
828 } |
| |
829 |
| |
830 void ui_list_args_free(UiListArgs *args) { |
| |
831 free((void*)args->name); |
| |
832 free((void*)args->style_class); |
| |
833 free((void*)args->varname); |
| |
834 if(args->static_elements) { |
| |
835 for(int i=0;i<args->static_nelm;i++) { |
| |
836 free(args->static_elements[i]); |
| |
837 } |
| |
838 free(args->static_elements); |
| |
839 } |
| |
840 free(args); |
| |
841 } |
| |
842 |