⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unitconvertor.c

📁 mtk工具箱,计算器的详细设计,可以由此入手了解mtk的
💻 C
📖 第 1 页 / 共 5 页
字号:


/*****************************************************************************
 * FUNCTION
 *  mmi_uconv_highlight_weight
 * DESCRIPTION
 *  Highlight handler of Weight menu in Unit Convertor
 *  Register key handlers.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_uconv_highlight_weight(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_uconv_cntx->CurrHiliteUnitType = UCONV_WEIGHT;
    SetLeftSoftkeyFunction(mmi_uconv_goto_compute_screen_lg, KEY_EVENT_UP);
    SetKeyHandler(mmi_uconv_goto_compute_screen_lg, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_uconv_highlight_shoes
 * DESCRIPTION
 *  Highlight handler of Shoes menu in Unit Convertor
 *  Register key handlers.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_uconv_highlight_shoes(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_uconv_cntx->CurrHiliteUnitType = UCONV_SHOES;
    SetLeftSoftkeyFunction(mmi_uconv_goto_compute_screen_lg, KEY_EVENT_UP);
    SetKeyHandler(mmi_uconv_goto_compute_screen_lg, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_uconv_highlight_clothes
 * DESCRIPTION
 *  Highlight handler of Clothes menu in Unit Convertor
 *  Register key handlers.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_uconv_highlight_clothes(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_uconv_cntx->CurrHiliteUnitType = UCONV_CLOTHES;
    SetLeftSoftkeyFunction(mmi_uconv_goto_compute_screen_lg, KEY_EVENT_UP);
    SetKeyHandler(mmi_uconv_goto_compute_screen_lg, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_uconv_highlight_surface
 * DESCRIPTION
 *  Highlight handler of Surface menu in Unit Convertor
 *  Register key handlers.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_uconv_highlight_surface(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_uconv_cntx->CurrHiliteUnitType = UCONV_SURFACE;
    SetLeftSoftkeyFunction(mmi_uconv_goto_compute_screen_lg, KEY_EVENT_UP);
    SetKeyHandler(mmi_uconv_goto_compute_screen_lg, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_uconv_fill_inline_struct_lg
 * DESCRIPTION
 *  Fill inline structure of inline items in convertor with LG style
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_uconv_fill_inline_struct_lg(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S8 ansii_str_i[32], unicode_str_o[32];

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    DisableInlineInputMethodHints();

    /* Selectors */
    SetInlineItemActivation(&wgui_inline_items[UCONV_UNIT1], INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, 0);
    SetInlineItemActivation(&wgui_inline_items[UCONV_UNIT2], INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, 0);

    /* unit1 input */
    SetInlineItemActivation(&wgui_inline_items[UCONV_INPUT1], INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, 0);
    SetInlineItemTextEdit(
        &wgui_inline_items[UCONV_INPUT1],
        (U8*) g_uconv_cntx->InputBuf1,
        (UCONV_MAX_INPUT + 1),
        INPUT_TYPE_DECIMAL_NUMERIC);
    EnableInlineItemBoundary(&wgui_inline_items[UCONV_INPUT1]);
    RightJustifyInlineItem(&wgui_inline_items[UCONV_INPUT1]);

    /* unit2 result */
    SetInlineItemActivation(&wgui_inline_items[UCONV_RESULT], INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, 0);
    SetInlineItemTextEdit(
        &wgui_inline_items[UCONV_RESULT],
        (U8*) g_uconv_cntx->InputBuf2,
        (UCONV_MAX_INPUT + 1),
        INPUT_TYPE_DECIMAL_NUMERIC);
    EnableInlineItemBoundary(&wgui_inline_items[UCONV_RESULT]);
    RightJustifyInlineItem(&wgui_inline_items[UCONV_RESULT]);
    DisableInlineItem(&wgui_inline_items[UCONV_RESULT], UCONV_RESULT);

    if (g_uconv_cntx->CurrHiliteUnitType == UCONV_LENGTH)   /* length */
    {
        g_uconv_cntx->UnitListLg[0] = GetString(STR_ID_UNITCONVERTOR_LENGTH_MM);
        g_uconv_cntx->UnitListLg[1] = GetString(STR_ID_UNITCONVERTOR_LENGTH_CM);
        g_uconv_cntx->UnitListLg[2] = GetString(STR_ID_UNITCONVERTOR_LENGTH_M);
        g_uconv_cntx->UnitListLg[3] = GetString(STR_ID_UNITCONVERTOR_LENGTH_KM);
        g_uconv_cntx->UnitListLg[4] = GetString(STR_ID_UNITCONVERTOR_LENGTH_INCH);
        g_uconv_cntx->UnitListLg[5] = GetString(STR_ID_UNITCONVERTOR_LENGTH_FEET);
        g_uconv_cntx->UnitListLg[6] = GetString(STR_ID_UNITCONVERTOR_LENGTH_YARD);
        g_uconv_cntx->UnitListLg[7] = GetString(STR_ID_UNITCONVERTOR_LENGTH_MILES);

        /* units */
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT1],
            UCONV_LENGTH_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit1);
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT2],
            UCONV_LENGTH_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit2);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT1], mmi_uconv_highlight_inline_select1);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT2], mmi_uconv_highlight_inline_select2);
        RegisterInlineFullScreenEditValidationFunction(&wgui_inline_items[UCONV_INPUT1], mmi_uconv_compute_result);

    }
    else if (g_uconv_cntx->CurrHiliteUnitType == UCONV_WEIGHT)  /* weight */
    {
        g_uconv_cntx->UnitListLg[0] = GetString(STR_ID_UNITCONVERTOR_WEIGHT_MG);
        g_uconv_cntx->UnitListLg[1] = GetString(STR_ID_UNITCONVERTOR_WEIGHT_G);
        g_uconv_cntx->UnitListLg[2] = GetString(STR_ID_UNITCONVERTOR_WEIGHT_KG);
        g_uconv_cntx->UnitListLg[3] = GetString(STR_ID_UNITCONVERTOR_WEIGHT_TON);
        g_uconv_cntx->UnitListLg[4] = GetString(STR_ID_UNITCONVERTOR_WEIGHT_OUNCE);
        g_uconv_cntx->UnitListLg[5] = GetString(STR_ID_UNITCONVERTOR_WEIGHT_POUND);

        /* units */
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT1],
            UCONV_WEIGHT_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit1);
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT2],
            UCONV_WEIGHT_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit2);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT1], mmi_uconv_highlight_inline_select1);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT2], mmi_uconv_highlight_inline_select2);
        RegisterInlineFullScreenEditValidationFunction(&wgui_inline_items[UCONV_INPUT1], mmi_uconv_compute_result);

    }
    else if (g_uconv_cntx->CurrHiliteUnitType == UCONV_VOLUME)  /* volume */
    {
        g_uconv_cntx->UnitListLg[0] = GetString(STR_ID_UNITCONVERTOR_MILLILITER);
        g_uconv_cntx->UnitListLg[1] = GetString(STR_ID_UNITCONVERTOR_LITER);
        g_uconv_cntx->UnitListLg[2] = GetString(STR_ID_UNITCONVERTOR_CUBICMM);
        g_uconv_cntx->UnitListLg[3] = GetString(STR_ID_UNITCONVERTOR_CUBICCM);
        g_uconv_cntx->UnitListLg[4] = GetString(STR_ID_UNITCONVERTOR_CUBICMETER);
        g_uconv_cntx->UnitListLg[5] = GetString(STR_ID_UNITCONVERTOR_CUBICINCH);
        g_uconv_cntx->UnitListLg[6] = GetString(STR_ID_UNITCONVERTOR_GALLON);
        g_uconv_cntx->UnitListLg[7] = GetString(STR_ID_UNITCONVERTOR_LIQPT);
        g_uconv_cntx->UnitListLg[8] = GetString(STR_ID_UNITCONVERTOR_LIQOZ);
        g_uconv_cntx->UnitListLg[9] = GetString(STR_ID_UNITCONVERTOR_FLOZ);
        g_uconv_cntx->UnitListLg[10] = GetString(STR_ID_UNITCONVERTOR_BARREL);

        /* units */
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT1],
            UCONV_VOLUME_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit1);
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT2],
            UCONV_VOLUME_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit2);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT1], mmi_uconv_highlight_inline_select1);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT2], mmi_uconv_highlight_inline_select2);
        RegisterInlineFullScreenEditValidationFunction(&wgui_inline_items[UCONV_INPUT1], mmi_uconv_compute_result);
    }
    else if (g_uconv_cntx->CurrHiliteUnitType == UCONV_TEMPERATURE)     /* Temperature */
    {
        g_uconv_cntx->UnitListLg[0] = GetString(STR_ID_UNITCONVERTOR_CELSIUS);
        g_uconv_cntx->UnitListLg[1] = GetString(STR_ID_UNITCONVERTOR_FAHRENHEIT);

        g_uconv_cntx->UnitListLg2[0] = g_unitlist2;
        UCS2Strcpy(g_uconv_cntx->UnitListLg2[0], g_uconv_cntx->UnitListLg[1]);
        /* units */
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT1],
            UCONV_TEMPERATURE_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit1);
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT2],
            UCONV_TEMPERATURE_UNIT_NUM - 1,
            (U8 **) g_uconv_cntx->UnitListLg2,
            &g_uconv_cntx->CurrInlineSelectUnit2);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT1], mmi_uconv_highlight_inline_select1);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT2], mmi_uconv_highlight_inline_select2);
        RegisterInlineFullScreenEditValidationFunction(
            &wgui_inline_items[UCONV_INPUT1],
            mmi_uconv_compute_temperature_result);
    }
    else if (g_uconv_cntx->CurrHiliteUnitType == UCONV_VELOCITY)        /* Velocity */
    {
        g_uconv_cntx->UnitListLg[0] = GetString(STR_ID_UNITCONVERTOR_KMH);
        g_uconv_cntx->UnitListLg[1] = GetString(STR_ID_UNITCONVERTOR_METERSEC);
        g_uconv_cntx->UnitListLg[2] = GetString(STR_ID_UNITCONVERTOR_MPH);
        g_uconv_cntx->UnitListLg[3] = GetString(STR_ID_UNITCONVERTOR_FEETSEC);

        /* units */
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT1],
            UCONV_VELOCITY_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit1);
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT2],
            UCONV_VELOCITY_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit2);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT1], mmi_uconv_highlight_inline_select1);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT2], mmi_uconv_highlight_inline_select2);
        RegisterInlineFullScreenEditValidationFunction(&wgui_inline_items[UCONV_INPUT1], mmi_uconv_compute_result);
    }   /* Sophie { */
    else if (g_uconv_cntx->CurrHiliteUnitType == UCONV_SHOES)   /* SHOES */
    {
        g_uconv_cntx->UnitListLg[0] = GetString(STR_ID_UNITCONVERTOR_SHOES_USA);
        g_uconv_cntx->UnitListLg[1] = GetString(STR_ID_UNITCONVERTOR_SHOES_EUROPE);
        g_uconv_cntx->UnitListLg[2] = GetString(STR_ID_UNITCONVERTOR_SHOES_KOREA);

        /* units */
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT1],
            UCONV_SHOES_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit1);
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT2],
            UCONV_SHOES_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit2);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT1], mmi_uconv_highlight_inline_select1);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT2], mmi_uconv_highlight_inline_select2);
        SetInlineTextEditCustomFunction(&wgui_inline_items[UCONV_INPUT1], UConvCustomInlineFunction);

    }
    else if (g_uconv_cntx->CurrHiliteUnitType == UCONV_CLOTHES) /* CLOTHES */
    {
        g_uconv_cntx->UnitListLg[0] = GetString(STR_ID_UNITCONVERTOR_CLOTHES_EUROPE);
        g_uconv_cntx->UnitListLg[1] = GetString(STR_ID_UNITCONVERTOR_CLOTHES_KOREA1);
        g_uconv_cntx->UnitListLg[2] = GetString(STR_ID_UNITCONVERTOR_CLOTHES_KOREA2);
        g_uconv_cntx->UnitListLg[3] = GetString(STR_ID_UNITCONVERTOR_CLOTHES_JAPAN);
        g_uconv_cntx->UnitListLg[4] = GetString(STR_ID_UNITCONVERTOR_CLOTHES_USA);
        g_uconv_cntx->UnitListLg[5] = GetString(STR_ID_UNITCONVERTOR_CLOTHES_UK);

        /* units */
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT1],
            UCONV_CLOTHES_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit1);
        SetInlineItemSelect(
            &wgui_inline_items[UCONV_UNIT2],
            UCONV_CLOTHES_UNIT_NUM,
            (U8 **) g_uconv_cntx->UnitListLg,
            &g_uconv_cntx->CurrInlineSelectUnit2);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT1], mmi_uconv_highlight_inline_select1);
        RegisterInlineSelectHighlightHandler(&wgui_inline_items[UCONV_UNIT2], mmi_uconv_highlight_inline_select2);
        SetInlineTextEditCustomFunction(&wgui_inline_items[UCONV_INPUT1], UConvCustomInlineFunction);
    }
    else if (g_uconv_cntx->CurrHiliteUnitType == UCONV_SURFACE) /* surface */
    {
        g_uconv_cntx->UnitListLg[0] = GetString(STR_ID_UNITCONVERTOR_SURFACE_ACRE);
        g_uconv_cntx->UnitListLg[1] = GetString(STR_ID_UNITCONVERTOR_SURFACE_HECTARE);
        g_uconv_cntx->UnitListLg[2] = GetString(STR_ID_UNITCONVERTOR_SURFACE_SQUARE_MM);
        g_uconv_cntx->UnitListLg[3] = GetString(STR_ID_UNITCONVERTOR_SURFACE_SQUARE_CM);
        g_uconv_cntx->UnitListLg[4] = GetString(STR_ID_UNITCONVERTOR_SURFACE_SQUARE_M);
        g_uconv_cntx->UnitListLg[5] = GetString(STR_ID_UNITCONVERTOR_SURFACE_SQUARE_KM);
        g_uconv_cntx->UnitListLg[6] = GetString(STR_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -