关于使用category57screen屏幕的几点思考

关于使用category57screen屏幕的几点思考

inlineItemselect的数组要声明成全局变量,如果不:

1.把inlineitemselect放在第一行,能有使用,放在其他位置就不行,显示字符串部分成乱码。

2.无法进行选择,一旦选择就中断。

其他内联的功能参见

 

Full screen edit:

void custom_setup_function(void)

{

ChangeLeftSoftkey (STR_GLOBAL_OPTIONS, IMG_GLOBAL_OPTIONS);

SetLeftSoftkeyFunction(EntryScrForInputMethodAndDone, KEY_EVENT_UP);

SetInputMethodAndDoneCaptionIcon(IMG_SCR_PBOOK_CAPTION);

}

UI_character_type my_string[100];

SetInlineItemActivation(&wgui_inline_items[inline_item_index],KEY_LSK,KEY_EVENT_UP);

SetInlineItemFullScreenEdit( &wgui_inline_items[inline_item_index],TITLE_ID, TITLE_ICON_ID, (PU8)my_string,100, INPUT_TYPE_ALPHANUMERIC_SENTENCECASE );

SetInlineFullScreenEditCustomFunction(&wgui_inline_items[inline_item_index], custom_setup_function);

Text edit:

UI_character_type my_string[100];

SetInlineItemTextEdit( &wgui_inline_items[inline_item_index], (U8*)PU8)my_string, 100, INPUT_TYPE_DECIMAL_NUMERIC );

Multiline edit:

UI_character_type my_string[100];

SetInlineItemMultiLineEdit( &wgui_inline_items[inline_item_index], my_string,

(U8*)GetString(STR_EMAIL_SIGNATURE_TEXT),

100, INPUT_TYPE_ALPHANUMERIC_SENTENCECASE );

Multiline read only:

UI_character_type my_string[100];

SetInlineMultiLineRdOnly ( &wgui_inline_items[inline_item_index],

(U8*)PU8)my_string, 100, INPUT_TYPE_USE_ENCODING_BASED_LENGTH |

INPUT_TYPE_ALPHANUMERIC_SENTENCECASE, 3);

Select:

S32 my_select_index = 0;

S32 num_of_items = 3;

UI_character_type list_of_items[3][] = {L”slect 1”, L”select 2”, L”selct 3”};

SetInlineItemSelect(&(wgui_inline_items[inline_item_index]), num_of_items, (U8**)list_of_items, &my_select_index );

Color select:

void color_highlighted_callback(U16 index)

{

//Save index

}

U16 HilitedColor = 1;

color color_list[3] = {{0,255,255}, {255,0,0}, {0,255,0}};

SetInlineItemColorSelect(&wgui_inline_items[inline_item_index], 3, HilitedColor , color_list, color_highlighted_callback);

User defined select:

U8* current_item_callback()

{

return (U8*)L”index 2”;

}

U8* previous_item_callback()

{

return (U8*)L”index 1”;

}

U8* next_item_callback()

{

return (U8*)L”index 3”;

}

SetInlineItemUserDefinedSelect(&wgui_inline_items[inline_item_index],current_item_callback, previous_item_callback, next_item_callback);

Date:

void DateEditorCallback(U8 *DateStr, U8 *day,U8 *month,U8 *year) //show date string callback

{

pfnUnicodeStrcpy((S8*)DateStr,(S8*)year); pfnUnicodeStrcat((S8*)DateStr,(S8*)"/");

pfnUnicodeStrcat((S8*)DateStr,(S8*)month); pfnUnicodeStrcat((S8*)DateStr,(S8*)"/");

pfnUnicodeStrcat((S8*)DateStr,(S8*)day);

}

SetInlineItemDate( (&(wgui_inline_items[inline_item_index]), (U8*)gDate,(U8*)gMonth,(U8*)gYear, DateEditorCallback);

set_inline_date_boundary(2030, 2000, 12, 1); //year from 2000 to 2030,month from 1 to 12

Time:

void TimeEditorCallBack(U8 *string_buffer,U8* hours_buffer,U8* min_buffer,U8* AM_PM_flag)

{

pfnUnicodeStrcpy((S8*)string_buffer,(S8*)hours_buffer);

pfnUnicodeStrcat((S8*)string_buffer,(S8*)":");

pfnUnicodeStrcat((S8*)string_buffer,(S8*)min_buffer);

}

SetInlineItemTime (&wgui_inline_items[inline_item_index], (U8*)HourBuf, (U8*)MinBuf,NULL, TimeEditorCallBack);

Time period:

void TimeEditorCallBack(U8* string_buffer, U8* hours_buffer1, U8* minutes_buffer1, U8* AM_PM_flag1,

U8* hours_buffer2,U8* minutes_buffer2,U8* AM_PM_flag2)

{

//Set string_buffer such as “12:30 – 17:50”

}

SetInlineItemTimePeriod(&(wgui_inline_items[inline_item_index]),(U8*)HourBuff1, (U8*)MinBuff1, NULL,

(U8*)HourBuff2, (U8*)MinBuff2, NULL, TimeEditorCallBack);

Dow(day of week) select:

S32 HilitedDays = 3;

U8 gDaysStates[7] = {1,0,0,0,1,1,0};

SetInlineItemDOWSelect(&(wgui_inline_items[inline_item_index]),HilitedDays, gDaysStates);

Activation:

S32 key_code = INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT; // Or KEY_0 to MAX_KEYS

S32 key_event = 0; //Or KEY_EVENT_DOWN / KEY_EVENT_UP / KEY_LONG_PRESS / KEY_REPEAT

SetInlineItemActivation(&(wgui_inline_items[inline_item_index]), key_code, key_event );

Display only:

SetInlineItemDisplayOnly(&(wgui_inline_items[inline_item_index]), my_string);

Caption:

SetInlineItemCaption(&wgui_inline_items[inline_item_index], (U8*)my_sting);

Ip4 edit:

void ip_addr_callback(U8* string_buffer,U8 *IP1,U8 *IP2,U8 *IP3,U8 *IP4)

{

//Set string_buffer such as “172.021.210.70”

}

UI_character_type ip_string[4][4]; //255.255.255.255

SetInlineItemIP4(&wgui_inline_items[inline_item_index], ip_string[0], ip_string[1], ip_string[2], ip_string[3], ip_addr_callback);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值