mirror of
https://github.com/zlgopen/awtk.git
synced 2025-05-08 19:44:45 +08:00
improve slide view
This commit is contained in:
parent
2fde66b67e
commit
e6f6cefa3e
@ -597,6 +597,7 @@ static ret_t on_clone_self(void* ctx, event_t* e) {
|
||||
static ret_t on_clone_view(void* ctx, event_t* e) {
|
||||
widget_t* widget = WIDGET(ctx);
|
||||
widget_t* iter = widget;
|
||||
widget_t* native_window = widget_get_window(widget);
|
||||
|
||||
while (iter != NULL) {
|
||||
if (tk_str_eq(widget_get_type(iter), WIDGET_TYPE_VIEW)) {
|
||||
@ -609,7 +610,7 @@ static ret_t on_clone_view(void* ctx, event_t* e) {
|
||||
widget_set_text_utf8(lb_view_index, text);
|
||||
}
|
||||
install_click_hander(clone);
|
||||
return RET_OK;
|
||||
return widget_invalidate(native_window, NULL);
|
||||
}
|
||||
iter = iter->parent;
|
||||
}
|
||||
@ -1012,6 +1013,23 @@ static ret_t on_click_scroll(void* ctx, event_t* e) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t on_click_slide_view_appoint_remove_evt(void* ctx, event_t* e) {
|
||||
widget_t* widget = WIDGET(ctx);
|
||||
return_value_if_fail(widget != NULL, RET_BAD_PARAMS);
|
||||
widget_t* native_window = widget_get_window(widget);
|
||||
|
||||
widget_t* slide_view = widget_lookup(widget->parent, "appoint_view", TRUE);
|
||||
return_value_if_fail(slide_view != NULL, RET_BAD_PARAMS);
|
||||
|
||||
widget_t* spin_box = widget_lookup(widget->parent, "spin_appoint_index", TRUE);
|
||||
return_value_if_fail(spin_box != NULL, RET_BAD_PARAMS);
|
||||
|
||||
int32_t val = edit_get_int(WIDGET(&SPIN_BOX(spin_box)->edit));
|
||||
slide_view_remove_index(slide_view, val - 1);
|
||||
|
||||
return widget_invalidate(native_window, NULL);
|
||||
}
|
||||
|
||||
static ret_t install_one(void* ctx, const void* iter) {
|
||||
widget_t* widget = WIDGET(iter);
|
||||
widget_t* win = widget_get_window(widget);
|
||||
@ -1132,6 +1150,8 @@ static ret_t install_one(void* ctx, const void* iter) {
|
||||
widget_on(widget, EVT_CLICK, on_click_clone_combo_box_ex, win);
|
||||
} else if (strstr(name, "combo_box_ex_for_clone") == name) {
|
||||
combo_box_set_on_item_click(widget, on_combo_box_ex_item_click, win);
|
||||
} else if (tk_str_eq(name, "remove_appoint_index")) {
|
||||
widget_on(widget, EVT_CLICK, on_click_slide_view_appoint_remove_evt, widget);
|
||||
} else if (strstr(name, "scroll:") == name) {
|
||||
widget_on(widget, EVT_CLICK, on_click_scroll, (void*)(name + strlen("scroll:")));
|
||||
}
|
||||
|
@ -14,6 +14,7 @@
|
||||
<button name="open:slide_view_remove" h="30" text="remove"/>
|
||||
<button name="open:slide_view_remove_loop" h="30" text="remove loop"/>
|
||||
<button name="open:slide_view_animating_time" h="30" text="animating time"/>
|
||||
<button name="open:slide_view_appoint_remove" h="30" text="remove appoint index"/>
|
||||
<button name="close" h="30" text="Close"/>
|
||||
</scroll_view>
|
||||
</window>
|
20
design/default/ui/slide_view_appoint_remove.xml
Normal file
20
design/default/ui/slide_view_appoint_remove.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<window anim_hint="htranslate">
|
||||
<slide_view x="0" y="0" w="100%" h="100%" name="appoint_view" style="dot" child_number="1">
|
||||
<view x="0" y="0" w="100%" h="80%" children_layout="default(c=1,r=2)">
|
||||
<label name="view_index" text="0"/>
|
||||
<button x="c" w="50%" h="40" name="clone_view" text="clone"/>
|
||||
</view>
|
||||
<view x="0" y="0" w="100%" h="100%" children_layout="default(c=1,r=2)">
|
||||
<label name="view_index" x="c" text="1"/>
|
||||
<button x="c" w="50%" h="40" name="clone_view" text="clone"/>
|
||||
</view>
|
||||
<view x="0" y="0" w="100%" h="100%" children_layout="default(c=1,r=2)">
|
||||
<label name="view_index" x="c" text="2"/>
|
||||
<button x="c" w="50%" h="40" name="clone_view" text="clone"/>
|
||||
</view>
|
||||
</slide_view>
|
||||
<spin_box x="c" y="b:90" w="50%" h="30" name="spin_appoint_index" min="1" max="99" step="1"
|
||||
input_type="int" auto_fix="true"/>
|
||||
<button x="c" y="b:40" w="50%" h="30" name="remove_appoint_index" text="remove"/>
|
||||
<slide_indicator_arc x="0" y="b" w="100%" h="20" default_paint="stroke_dot"/>
|
||||
</window>
|
@ -2,6 +2,9 @@
|
||||
|
||||
2023/04/28
|
||||
* 修复由于未初始化预留空间而导致的bsvg打包频繁更新问题(感谢高源提供补丁)。
|
||||
* 修复slide\_view删除元素与实际页面元素不对问题(感谢高源提供补丁)。
|
||||
* 修复slide\_view删除后当前选中下标元素错乱问题(感谢高源提供补丁)。
|
||||
* 新增 demouiold slide\_view删除指定下标页面的测试用例(感谢高源提供补丁)。
|
||||
|
||||
2023/04/27
|
||||
* 修复scroll\_bar滑块位置没有正确更新(感谢煜楷提供补丁)
|
||||
|
@ -188,6 +188,7 @@ extern TK_CONST_DATA_ALIGN(const unsigned char ui_text_selector_fscript[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_button_fscript[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_file_chooser_for_save[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_system_bar[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_slide_view_appoint_remove[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_accordion1[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_menu_right_bottom[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_list_view_d[]);
|
||||
@ -1104,6 +1105,7 @@ ret_t assets_init_dark(void) {
|
||||
assets_manager_add(am, ui_button_fscript);
|
||||
assets_manager_add(am, ui_file_chooser_for_save);
|
||||
assets_manager_add(am, ui_system_bar);
|
||||
assets_manager_add(am, ui_slide_view_appoint_remove);
|
||||
assets_manager_add(am, ui_accordion1);
|
||||
assets_manager_add(am, ui_menu_right_bottom);
|
||||
assets_manager_add(am, ui_list_view_d);
|
||||
|
@ -188,6 +188,7 @@
|
||||
#include "default/inc/ui/button_fscript.data"
|
||||
#include "default/inc/ui/file_chooser_for_save.data"
|
||||
#include "default/inc/ui/system_bar.data"
|
||||
#include "default/inc/ui/slide_view_appoint_remove.data"
|
||||
#include "default/inc/ui/accordion1.data"
|
||||
#include "default/inc/ui/menu_right_bottom.data"
|
||||
#include "default/inc/ui/list_view_d.data"
|
||||
@ -1104,6 +1105,7 @@ ret_t assets_init_default(void) {
|
||||
assets_manager_add(am, ui_button_fscript);
|
||||
assets_manager_add(am, ui_file_chooser_for_save);
|
||||
assets_manager_add(am, ui_system_bar);
|
||||
assets_manager_add(am, ui_slide_view_appoint_remove);
|
||||
assets_manager_add(am, ui_accordion1);
|
||||
assets_manager_add(am, ui_menu_right_bottom);
|
||||
assets_manager_add(am, ui_list_view_d);
|
||||
|
@ -183,6 +183,7 @@ extern TK_CONST_DATA_ALIGN(const unsigned char ui_text_selector_fscript[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_button_fscript[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_file_chooser_for_save[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_system_bar[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_slide_view_appoint_remove[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_accordion1[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_menu_right_bottom[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_list_view_d[]);
|
||||
@ -720,6 +721,7 @@ ret_t assets_init_dark(void) {
|
||||
assets_manager_add(am, ui_button_fscript);
|
||||
assets_manager_add(am, ui_file_chooser_for_save);
|
||||
assets_manager_add(am, ui_system_bar);
|
||||
assets_manager_add(am, ui_slide_view_appoint_remove);
|
||||
assets_manager_add(am, ui_accordion1);
|
||||
assets_manager_add(am, ui_menu_right_bottom);
|
||||
assets_manager_add(am, ui_list_view_d);
|
||||
|
@ -183,6 +183,7 @@
|
||||
#include "default/inc/ui/button_fscript.data"
|
||||
#include "default/inc/ui/file_chooser_for_save.data"
|
||||
#include "default/inc/ui/system_bar.data"
|
||||
#include "default/inc/ui/slide_view_appoint_remove.data"
|
||||
#include "default/inc/ui/accordion1.data"
|
||||
#include "default/inc/ui/menu_right_bottom.data"
|
||||
#include "default/inc/ui/list_view_d.data"
|
||||
@ -720,6 +721,7 @@ ret_t assets_init_default(void) {
|
||||
assets_manager_add(am, ui_button_fscript);
|
||||
assets_manager_add(am, ui_file_chooser_for_save);
|
||||
assets_manager_add(am, ui_system_bar);
|
||||
assets_manager_add(am, ui_slide_view_appoint_remove);
|
||||
assets_manager_add(am, ui_accordion1);
|
||||
assets_manager_add(am, ui_menu_right_bottom);
|
||||
assets_manager_add(am, ui_list_view_d);
|
||||
|
@ -1,5 +1,5 @@
|
||||
TK_CONST_DATA_ALIGN(const unsigned char ui_slide_view[]) = {
|
||||
0x04,0x00,0x01,0x01,0x99,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x6c,0x69,0x64,0x65,0x5f,0x76,0x69,
|
||||
0x04,0x00,0x01,0x01,0x09,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x6c,0x69,0x64,0x65,0x5f,0x76,0x69,
|
||||
0x65,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x12,0x12,0x22,0x11,0x77,0x69,0x6e,0x64,0x6f,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
@ -84,5 +84,11 @@ TK_CONST_DATA_ALIGN(const unsigned char ui_slide_view[]) = {
|
||||
0x74,0x00,0x61,0x6e,0x69,0x6d,0x61,0x74,0x69,0x6e,0x67,0x20,0x74,0x69,0x6d,0x65,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6c,0x6f,0x73,0x65,0x00,0x74,0x65,
|
||||
0x78,0x74,0x00,0x43,0x6c,0x6f,0x73,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*1737*/
|
||||
0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x65,0x6e,0x3a,0x73,0x6c,0x69,
|
||||
0x64,0x65,0x5f,0x76,0x69,0x65,0x77,0x5f,0x61,0x70,0x70,0x6f,0x69,0x6e,0x74,0x5f,0x72,0x65,0x6d,0x6f,
|
||||
0x76,0x65,0x00,0x74,0x65,0x78,0x74,0x00,0x72,0x65,0x6d,0x6f,0x76,0x65,0x20,0x61,0x70,0x70,0x6f,0x69,
|
||||
0x6e,0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x6e,
|
||||
0x61,0x6d,0x65,0x00,0x63,0x6c,0x6f,0x73,0x65,0x00,0x74,0x65,0x78,0x74,0x00,0x43,0x6c,0x6f,0x73,0x65,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*1849*/
|
||||
|
84
res/assets/default/inc/ui/slide_view_appoint_remove.data
Normal file
84
res/assets/default/inc/ui/slide_view_appoint_remove.data
Normal file
@ -0,0 +1,84 @@
|
||||
TK_CONST_DATA_ALIGN(const unsigned char ui_slide_view_appoint_remove[]) = {
|
||||
0x04,0x00,0x01,0x01,0x49,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x6c,0x69,0x64,0x65,0x5f,0x76,0x69,
|
||||
0x65,0x77,0x5f,0x61,0x70,0x70,0x6f,0x69,0x6e,0x74,0x5f,0x72,0x65,0x6d,0x6f,0x76,0x65,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x12,0x12,0x22,0x11,0x77,0x69,0x6e,0x64,0x6f,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x6e,0x69,0x6d,
|
||||
0x5f,0x68,0x69,0x6e,0x74,0x00,0x68,0x74,0x72,0x61,0x6e,0x73,0x6c,0x61,0x74,0x65,0x00,0x00,0x73,0x6c,
|
||||
0x69,0x64,0x65,0x5f,0x76,0x69,0x65,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x00,
|
||||
0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,
|
||||
0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,
|
||||
0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x61,0x70,0x70,0x6f,0x69,0x6e,
|
||||
0x74,0x5f,0x76,0x69,0x65,0x77,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x64,0x6f,0x74,0x00,0x63,0x68,0x69,
|
||||
0x6c,0x64,0x5f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x00,0x31,0x00,0x00,0x76,0x69,0x65,0x77,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x50,0x00,0x00,
|
||||
0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,
|
||||
0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x38,0x30,
|
||||
0x25,0x29,0x00,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,
|
||||
0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x63,0x3d,0x31,0x2c,0x72,0x3d,0x32,0x29,0x00,0x00,0x6c,0x61,0x62,
|
||||
0x65,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x6e,0x61,0x6d,0x65,0x00,0x76,0x69,0x65,0x77,0x5f,0x69,0x6e,0x64,0x65,0x78,
|
||||
0x00,0x74,0x65,0x78,0x74,0x00,0x30,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x73,0x65,
|
||||
0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,
|
||||
0x63,0x2c,0x77,0x3d,0x35,0x30,0x25,0x2c,0x68,0x3d,0x34,0x30,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,
|
||||
0x6c,0x6f,0x6e,0x65,0x5f,0x76,0x69,0x65,0x77,0x00,0x74,0x65,0x78,0x74,0x00,0x63,0x6c,0x6f,0x6e,0x65,
|
||||
0x00,0x00,0x00,0x00,0x76,0x69,0x65,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,
|
||||
0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,
|
||||
0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x63,0x68,0x69,0x6c,0x64,
|
||||
0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x63,
|
||||
0x3d,0x31,0x2c,0x72,0x3d,0x32,0x29,0x00,0x00,0x6c,0x61,0x62,0x65,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x65,0x6c,
|
||||
0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,
|
||||
0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x76,0x69,0x65,0x77,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x74,0x65,
|
||||
0x78,0x74,0x00,0x31,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,
|
||||
0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x2c,0x77,
|
||||
0x3d,0x35,0x30,0x25,0x2c,0x68,0x3d,0x34,0x30,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6c,0x6f,0x6e,
|
||||
0x65,0x5f,0x76,0x69,0x65,0x77,0x00,0x74,0x65,0x78,0x74,0x00,0x63,0x6c,0x6f,0x6e,0x65,0x00,0x00,0x00,
|
||||
0x00,0x76,0x69,0x65,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,
|
||||
0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,
|
||||
0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,
|
||||
0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x63,0x3d,0x31,0x2c,
|
||||
0x72,0x3d,0x32,0x29,0x00,0x00,0x6c,0x61,0x62,0x65,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,
|
||||
0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x29,0x00,0x6e,
|
||||
0x61,0x6d,0x65,0x00,0x76,0x69,0x65,0x77,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x32,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,
|
||||
0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x2c,0x77,0x3d,0x35,0x30,
|
||||
0x25,0x2c,0x68,0x3d,0x34,0x30,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6c,0x6f,0x6e,0x65,0x5f,0x76,
|
||||
0x69,0x65,0x77,0x00,0x74,0x65,0x78,0x74,0x00,0x63,0x6c,0x6f,0x6e,0x65,0x00,0x00,0x00,0x00,0x00,0x73,
|
||||
0x70,0x69,0x6e,0x5f,0x62,0x6f,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,
|
||||
0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,
|
||||
0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x2c,0x79,0x3d,0x62,0x3a,0x39,0x30,0x2c,0x77,0x3d,
|
||||
0x35,0x30,0x25,0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x69,0x6e,0x70,0x75,0x74,0x5f,0x74,0x79,0x70,0x65,
|
||||
0x00,0x69,0x6e,0x74,0x00,0x6e,0x61,0x6d,0x65,0x00,0x73,0x70,0x69,0x6e,0x5f,0x61,0x70,0x70,0x6f,0x69,
|
||||
0x6e,0x74,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x6d,0x69,0x6e,0x00,0x31,0x00,0x6d,0x61,0x78,0x00,0x39,
|
||||
0x39,0x00,0x73,0x74,0x65,0x70,0x00,0x31,0x00,0x61,0x75,0x74,0x6f,0x5f,0x66,0x69,0x78,0x00,0x74,0x72,
|
||||
0x75,0x65,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,
|
||||
0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x2c,0x79,0x3d,0x62,
|
||||
0x3a,0x34,0x30,0x2c,0x77,0x3d,0x35,0x30,0x25,0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x72,0x65,0x6d,0x6f,0x76,0x65,0x5f,0x61,0x70,0x70,0x6f,0x69,0x6e,0x74,0x5f,0x69,0x6e,0x64,0x65,
|
||||
0x78,0x00,0x74,0x65,0x78,0x74,0x00,0x72,0x65,0x6d,0x6f,0x76,0x65,0x00,0x00,0x00,0x73,0x6c,0x69,0x64,
|
||||
0x65,0x5f,0x69,0x6e,0x64,0x69,0x63,0x61,0x74,0x6f,0x72,0x5f,0x61,0x72,0x63,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x00,0x00,0x00,
|
||||
0x14,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,
|
||||
0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x62,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,
|
||||
0x3d,0x32,0x30,0x29,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x5f,0x70,0x61,0x69,0x6e,0x74,0x00,0x73,
|
||||
0x74,0x72,0x6f,0x6b,0x65,0x5f,0x64,0x6f,0x74,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*1657*/
|
Binary file not shown.
BIN
res/assets/default/raw/ui/slide_view_appoint_remove.bin
Normal file
BIN
res/assets/default/raw/ui/slide_view_appoint_remove.bin
Normal file
Binary file not shown.
@ -188,6 +188,7 @@
|
||||
#include "assets/default/inc/ui/button_fscript.data"
|
||||
#include "assets/default/inc/ui/file_chooser_for_save.data"
|
||||
#include "assets/default/inc/ui/system_bar.data"
|
||||
#include "assets/default/inc/ui/slide_view_appoint_remove.data"
|
||||
#include "assets/default/inc/ui/accordion1.data"
|
||||
#include "assets/default/inc/ui/menu_right_bottom.data"
|
||||
#include "assets/default/inc/ui/list_view_d.data"
|
||||
@ -1104,6 +1105,7 @@ ret_t assets_init(void) {
|
||||
assets_manager_add(am, ui_button_fscript);
|
||||
assets_manager_add(am, ui_file_chooser_for_save);
|
||||
assets_manager_add(am, ui_system_bar);
|
||||
assets_manager_add(am, ui_slide_view_appoint_remove);
|
||||
assets_manager_add(am, ui_accordion1);
|
||||
assets_manager_add(am, ui_menu_right_bottom);
|
||||
assets_manager_add(am, ui_list_view_d);
|
||||
|
@ -188,6 +188,7 @@
|
||||
#include "assets/default/inc/ui/button_fscript.data"
|
||||
#include "assets/default/inc/ui/file_chooser_for_save.data"
|
||||
#include "assets/default/inc/ui/system_bar.data"
|
||||
#include "assets/default/inc/ui/slide_view_appoint_remove.data"
|
||||
#include "assets/default/inc/ui/accordion1.data"
|
||||
#include "assets/default/inc/ui/menu_right_bottom.data"
|
||||
#include "assets/default/inc/ui/list_view_d.data"
|
||||
@ -1104,6 +1105,7 @@ ret_t assets_init(void) {
|
||||
assets_manager_add(am, ui_button_fscript);
|
||||
assets_manager_add(am, ui_file_chooser_for_save);
|
||||
assets_manager_add(am, ui_system_bar);
|
||||
assets_manager_add(am, ui_slide_view_appoint_remove);
|
||||
assets_manager_add(am, ui_accordion1);
|
||||
assets_manager_add(am, ui_menu_right_bottom);
|
||||
assets_manager_add(am, ui_list_view_d);
|
||||
|
@ -183,6 +183,7 @@
|
||||
#include "assets/default/inc/ui/button_fscript.data"
|
||||
#include "assets/default/inc/ui/file_chooser_for_save.data"
|
||||
#include "assets/default/inc/ui/system_bar.data"
|
||||
#include "assets/default/inc/ui/slide_view_appoint_remove.data"
|
||||
#include "assets/default/inc/ui/accordion1.data"
|
||||
#include "assets/default/inc/ui/menu_right_bottom.data"
|
||||
#include "assets/default/inc/ui/list_view_d.data"
|
||||
@ -720,6 +721,7 @@ ret_t assets_init(void) {
|
||||
assets_manager_add(am, ui_button_fscript);
|
||||
assets_manager_add(am, ui_file_chooser_for_save);
|
||||
assets_manager_add(am, ui_system_bar);
|
||||
assets_manager_add(am, ui_slide_view_appoint_remove);
|
||||
assets_manager_add(am, ui_accordion1);
|
||||
assets_manager_add(am, ui_menu_right_bottom);
|
||||
assets_manager_add(am, ui_list_view_d);
|
||||
|
@ -183,6 +183,7 @@
|
||||
#include "assets/default/inc/ui/button_fscript.data"
|
||||
#include "assets/default/inc/ui/file_chooser_for_save.data"
|
||||
#include "assets/default/inc/ui/system_bar.data"
|
||||
#include "assets/default/inc/ui/slide_view_appoint_remove.data"
|
||||
#include "assets/default/inc/ui/accordion1.data"
|
||||
#include "assets/default/inc/ui/menu_right_bottom.data"
|
||||
#include "assets/default/inc/ui/list_view_d.data"
|
||||
@ -720,6 +721,7 @@ ret_t assets_init(void) {
|
||||
assets_manager_add(am, ui_button_fscript);
|
||||
assets_manager_add(am, ui_file_chooser_for_save);
|
||||
assets_manager_add(am, ui_system_bar);
|
||||
assets_manager_add(am, ui_slide_view_appoint_remove);
|
||||
assets_manager_add(am, ui_accordion1);
|
||||
assets_manager_add(am, ui_menu_right_bottom);
|
||||
assets_manager_add(am, ui_list_view_d);
|
||||
|
@ -174,8 +174,8 @@ static ret_t slide_view_on_scroll_done(void* ctx, event_t* e) {
|
||||
active = active == slide_view->last_active ? active : slide_view->last_active;
|
||||
}
|
||||
if (slide_view->remove_when_anim_done) {
|
||||
/* because of array, so do not need move item */
|
||||
widget_destroy(slide_view->prev);
|
||||
slide_view_set_active_no_animate_impl(widget, active, TRUE);
|
||||
} else {
|
||||
slide_view_set_active_no_animate(widget, active);
|
||||
}
|
||||
@ -950,8 +950,8 @@ static ret_t slide_view_set_active_animate(widget_t* widget, uint32_t active) {
|
||||
old_active = slide_view->active;
|
||||
|
||||
if ((old_active < active &&
|
||||
!(slide_view->loop && old_active == 0 && active == widget->children->size - 1)) ||
|
||||
(slide_view->loop && active == 0 && old_active == widget->children->size - 1)) {
|
||||
!(slide_view->loop && old_active == 0 && active == widget->children->size)) ||
|
||||
(slide_view->loop && active == 0 && old_active == widget->children->size)) {
|
||||
slide_view->prev = widget_get_child(widget, old_active);
|
||||
slide_view->next = widget_get_child(widget, active);
|
||||
xoffset_end = slide_view->vertical ? 0 : widget->w;
|
||||
@ -1088,41 +1088,40 @@ ret_t slide_view_set_auto_play(widget_t* widget, uint16_t auto_play) {
|
||||
|
||||
ret_t slide_view_remove_index(widget_t* widget, uint32_t index) {
|
||||
ret_t ret = RET_FAIL;
|
||||
int32_t active = -1;
|
||||
int32_t remove_index = -1;
|
||||
int32_t current_index = -1;
|
||||
slide_view_t* slide_view = SLIDE_VIEW(widget);
|
||||
|
||||
return_value_if_fail(widget != NULL && slide_view != NULL && widget->children != NULL,
|
||||
RET_BAD_PARAMS);
|
||||
return_value_if_fail(index < widget->children->size, RET_BAD_PARAMS);
|
||||
|
||||
active = (int32_t)slide_view->active;
|
||||
return_value_if_fail(widget->children->size > 0 && index < widget->children->size,
|
||||
RET_BAD_PARAMS);
|
||||
|
||||
if (widget->children->size > 1) {
|
||||
if (index < active) {
|
||||
ret = widget_destroy(widget_get_child(widget, index));
|
||||
remove_index = (int32_t)index;
|
||||
current_index = (int32_t)slide_view->active;
|
||||
|
||||
if (RET_OK == ret) {
|
||||
active = tk_max(active - 1, 0);
|
||||
slide_view_set_active_no_animate(widget, active);
|
||||
}
|
||||
} else if (index == active) {
|
||||
if (index == widget->children->size - 1) {
|
||||
active = slide_view->loop ? 0 : tk_max(active - 1, 0);
|
||||
} else {
|
||||
active++;
|
||||
}
|
||||
|
||||
slide_view->remove_when_anim_done = TRUE;
|
||||
ret = slide_view_set_active_animate(widget, active);
|
||||
|
||||
if (RET_OK != ret) {
|
||||
slide_view->remove_when_anim_done = FALSE;
|
||||
}
|
||||
if (widget->children->size != 1 && remove_index == current_index) {
|
||||
if (remove_index == widget->children->size - 1) {
|
||||
current_index = slide_view->loop ? 0 : remove_index - 1;
|
||||
} else {
|
||||
ret = widget_destroy(widget_get_child(widget, active));
|
||||
current_index = remove_index + 1;
|
||||
}
|
||||
|
||||
slide_view->remove_when_anim_done = TRUE;
|
||||
ret = slide_view_set_active_animate(widget, current_index);
|
||||
|
||||
if (ret != RET_OK) {
|
||||
slide_view->remove_when_anim_done = FALSE;
|
||||
}
|
||||
} else {
|
||||
ret = widget_destroy(widget_get_child(widget, active));
|
||||
ret = remove_index < current_index ?
|
||||
slide_view_set_active_no_animate(widget, current_index - 1) :
|
||||
RET_OK;
|
||||
|
||||
if (ret == RET_OK) {
|
||||
ret = widget_destroy(widget_get_child(widget, remove_index));
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
Loading…
x
Reference in New Issue
Block a user