diff -r 99b5d52096b5 -r b3eb3a25fb46 ui/wpf/text.c --- a/ui/wpf/text.c Sat Feb 01 09:54:45 2025 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,140 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright 2015 Olaf Wintermann. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include <stdio.h> -#include <stdlib.h> - -#include "text.h" - -UIWIDGET ui_textarea(UiObject *obj, UiText *value) { - UiContainer *container = uic_get_current_container(obj); - UIWIDGET textarea = UItextarea(container, value ? value->value : NULL); - - if(value) { - value->get = ui_textarea_get; - value->set = ui_textarea_set; - value->getsubstr = ui_textarea_getsubstr; - value->insert = ui_textarea_insert; - value->position = ui_textarea_position; - value->selection = ui_textarea_selection; - value->length = ui_textarea_length; - value->remove = ui_textarea_remove; - value->value = NULL; - value->obj = textarea; - if(!value->undomgr) { - //value->undomgr = ; - } - } - - return textarea; -} - -UIWIDGET ui_textarea_nv(UiObject *obj, char *varname) { - UiVar *var = uic_connect_var(obj->ctx, varname, UI_VAR_TEXT); - if(var) { - UiText *value = var->value; - return ui_textarea(obj, value); - } else { - // TODO: error - } - return NULL; -} - -char* ui_textarea_get(UiText *text) { - if(text->value) { - UIfreestr(text->value); - } - text->value = UItextarea_get(text->obj); - return text->value; -} - -void ui_textarea_set(UiText *text, char *str) { - if(text->value) { - UIfreestr(text->value); - text->value = NULL; - } - UItextarea_set(text->obj, str); -} - -char* ui_textarea_getsubstr(UiText *text, int begin, int end) { - if(text->value) { - UIfreestr(text->value); - } - text->value = UItextarea_getsubstr(text->obj, begin, end); - return text->value; -} - -void ui_textarea_insert(UiText *text, int pos, char *str) { - if(text->value) { - UIfreestr(text->value); - text->value = NULL; - } - UItextarea_insert(text->obj, pos, str); -} - -int ui_textarea_position(UiText *text) { - return UItextarea_position(text->obj); -} - -void ui_textarea_selection(UiText *text, int *begin, int *end) { - UItextarea_selection(text->obj, begin, end); -} - -int ui_textarea_length(UiText *text) { - return UItextarea_length(text->obj); -} - -void ui_textarea_remove(UiText *text, int begin, int end) { - if(text->value) { - UIfreestr(text->value); - text->value = NULL; - } - UItextarea_remove(text->obj, begin, end); -} - - -UIWIDGET ui_textfield(UiObject *obj, UiString *value) { - UiContainer *container = uic_get_current_container(obj); - UIWIDGET textfield = UItextfield(container, value ? value->value : NULL); - - if(value) { - // TODO - } - return textfield; -} - -UIWIDGET ui_textfield_nv(UiObject *obj, char *varname) { - UiVar *var = uic_connect_var(obj->ctx, varname, UI_VAR_STRING); - if(var) { - UiString *value = var->value; - return ui_textfield(obj, value); - } else { - // TODO: error - } - return NULL; -}