--- a/dependencies/ABLD.BAT Sat Mar 27 03:52:59 2010 +0530
+++ b/dependencies/ABLD.BAT Sat Mar 27 10:26:12 2010 +0100
@@ -3,7 +3,7 @@
REM Bldmake-generated batch file - ABLD.BAT
REM ** DO NOT EDIT **
-perl -S ABLD.PL "\S60\devices\S60_5th_Edition_SDK_v1.0\homescreensrv\dependencies\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
+perl -S ABLD.PL "\homescreensrv\dependencies\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
if errorlevel==1 goto CheckPerl
goto End
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dependencies/aknlayout.lag Sat Mar 27 10:26:12 2010 +0100
@@ -0,0 +1,1090 @@
+// ..\cdl\AknLayout.lag generated by:
+// AknLayoutCompiler Cdl2Lag ..\cdl\AknLayout.lag ..\cdl\AknLayout.cdl ..\cdl\AknApacLayout.cdl
+#if !defined(AKNLAYOUT_LAG)
+#define AKNLAYOUT_LAG
+#include <aknlayout.cdl.h>
+#define AKN_LAYOUT_WINDOW_screen AknLayout::screen()
+#define AKN_LAYOUT_WINDOW_application_window AknLayout::application_window
+#define AKN_LAYOUT_WINDOW_status_pane AknLayout::status_pane
+#define AKN_LAYOUT_WINDOW_main_pane AknLayout::main_pane
+#define AKN_LAYOUT_WINDOW_control_pane AknLayout::control_pane
+#define AKN_LAYOUT_WINDOW_signal_pane AknLayout::signal_pane
+#define AKN_LAYOUT_WINDOW_context_pane AknLayout::context_pane
+#define AKN_LAYOUT_WINDOW_title_pane AknLayout::title_pane
+#define AKN_LAYOUT_WINDOW_battery_pane AknLayout::battery_pane
+#define AKN_LAYOUT_WINDOW_uni_indicator_pane AknLayout::uni_indicator_pane
+#define AKN_LAYOUT_WINDOW_navi_pane AknLayout::navi_pane
+#define AKN_LAYOUT_WINDOW_Status_pane_elements_Line_1 AknLayout::Status_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Status_pane_elements_Line_2 AknLayout::Status_pane_elements_Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Status_pane_elements_Limits AknLayout::Status_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Status_pane_elements AknLayout::Status_pane_elements
+#define AKN_LAYOUT_WINDOW_Signal_pane_elements_Line_1 AknLayout::Signal_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Signal_pane_elements_Line_2 AknLayout::Signal_pane_elements_Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Signal_pane_elements_Limits AknLayout::Signal_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Signal_pane_elements AknLayout::Signal_pane_elements
+#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_1 AknLayout::Signal_strength_area_values_Line_1()
+#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_2 AknLayout::Signal_strength_area_values_Line_2()
+#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_3 AknLayout::Signal_strength_area_values_Line_3()
+#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_4 AknLayout::Signal_strength_area_values_Line_4()
+#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_5 AknLayout::Signal_strength_area_values_Line_5()
+#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_6 AknLayout::Signal_strength_area_values_Line_6()
+#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_7 AknLayout::Signal_strength_area_values_Line_7()
+#define AKN_LAYOUT_WINDOW_Signal_strength_area_values_Line_8 AknLayout::Signal_strength_area_values_Line_8()
+#define AKN_LAYOUT_TABLE_LIMITS_Signal_strength_area_values_Limits AknLayout::Signal_strength_area_values_Limits()
+#define AKN_LAYOUT_TABLE_Signal_strength_area_values AknLayout::Signal_strength_area_values
+#define AKN_LAYOUT_WINDOW_Battery_pane_elements_Line_1 AknLayout::Battery_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Battery_pane_elements_Line_2 AknLayout::Battery_pane_elements_Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Battery_pane_elements_Limits AknLayout::Battery_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Battery_pane_elements AknLayout::Battery_pane_elements
+#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_1 AknLayout::Battery_strength_area_values_Line_1()
+#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_2 AknLayout::Battery_strength_area_values_Line_2()
+#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_3 AknLayout::Battery_strength_area_values_Line_3()
+#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_4 AknLayout::Battery_strength_area_values_Line_4()
+#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_5 AknLayout::Battery_strength_area_values_Line_5()
+#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_6 AknLayout::Battery_strength_area_values_Line_6()
+#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_7 AknLayout::Battery_strength_area_values_Line_7()
+#define AKN_LAYOUT_WINDOW_Battery_strength_area_values_Line_8 AknLayout::Battery_strength_area_values_Line_8()
+#define AKN_LAYOUT_TABLE_LIMITS_Battery_strength_area_values_Limits AknLayout::Battery_strength_area_values_Limits()
+#define AKN_LAYOUT_TABLE_Battery_strength_area_values AknLayout::Battery_strength_area_values
+#define AKN_LAYOUT_WINDOW_Context_pane_elements_Line_1 AknLayout::Context_pane_elements_Line_1()
+#define AKN_LAYOUT_TEXT_Title_pane_texts_Line_1 AknLayout::Title_pane_texts_Line_1
+#define AKN_LAYOUT_TEXT_Title_pane_texts_Line_2 AknLayout::Title_pane_texts_Line_2
+#define AKN_LAYOUT_MULTILINE_TEXT_Title_pane_texts_Line_2 AknLayout::Multiline_Title_pane_texts_Line_2
+#define AKN_LAYOUT_WINDOW_Title_pane_elements_Line_1 AknLayout::Title_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Universal_indicator_pane_elements_Line_1 AknLayout::Universal_indicator_pane_elements_Line_1
+#define AKN_LAYOUT_WINDOW_Navi_pane_arrow_elements_Line_1 AknLayout::Navi_pane_arrow_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Navi_pane_arrow_elements_Line_2 AknLayout::Navi_pane_arrow_elements_Line_2
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_1 AknLayout::Navi_pane_tab_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_2 AknLayout::Navi_pane_tab_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_3 AknLayout::Navi_pane_tab_elements_Line_3()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_4 AknLayout::Navi_pane_tab_elements_Line_4()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_5 AknLayout::Navi_pane_tab_elements_Line_5()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_6 AknLayout::Navi_pane_tab_elements_Line_6()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_7 AknLayout::Navi_pane_tab_elements_Line_7()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_8 AknLayout::Navi_pane_tab_elements_Line_8()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_9 AknLayout::Navi_pane_tab_elements_Line_9()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_10 AknLayout::Navi_pane_tab_elements_Line_10()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_11 AknLayout::Navi_pane_tab_elements_Line_11()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_12 AknLayout::Navi_pane_tab_elements_Line_12()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_13 AknLayout::Navi_pane_tab_elements_Line_13()
+#define AKN_LAYOUT_WINDOW_Navi_pane_tab_elements_Line_14 AknLayout::Navi_pane_tab_elements_Line_14()
+#define AKN_LAYOUT_TABLE_LIMITS_Navi_pane_tab_elements_Limits AknLayout::Navi_pane_tab_elements_Limits()
+#define AKN_LAYOUT_TABLE_Navi_pane_tab_elements AknLayout::Navi_pane_tab_elements
+#define AKN_LAYOUT_WINDOW_Elements_on_the_tabs_Line_1 AknLayout::Elements_on_the_tabs_Line_1
+#define AKN_LAYOUT_WINDOW_Elements_on_the_tabs_Line_2 AknLayout::Elements_on_the_tabs_Line_2
+#define AKN_LAYOUT_WINDOW_Elements_on_the_tabs_Line_3 AknLayout::Elements_on_the_tabs_Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_Elements_on_the_tabs_Limits AknLayout::Elements_on_the_tabs_Limits()
+#define AKN_LAYOUT_TABLE_Elements_on_the_tabs AknLayout::Elements_on_the_tabs
+#define AKN_LAYOUT_TEXT_Texts_on_the_tabs_Line_1 AknLayout::Texts_on_the_tabs_Line_1
+#define AKN_LAYOUT_TEXT_Texts_on_the_tabs_Line_2 AknLayout::Texts_on_the_tabs_Line_2
+#define AKN_LAYOUT_TEXT_Texts_on_the_tabs_Line_3 AknLayout::Texts_on_the_tabs_Line_3
+#define AKN_LAYOUT_TEXT_Texts_on_the_tabs_Line_4 AknLayout::Texts_on_the_tabs_Line_4
+#define AKN_LAYOUT_TEXT_Texts_on_the_tabs_Line_5 AknLayout::Texts_on_the_tabs_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Texts_on_the_tabs_Limits AknLayout::Texts_on_the_tabs_Limits()
+#define AKN_LAYOUT_TABLE_Texts_on_the_tabs AknLayout::Texts_on_the_tabs
+#define AKN_LAYOUT_WINDOW_Navi_pane_icons_Line_1 AknLayout::Navi_pane_icons_Line_1()
+#define AKN_LAYOUT_WINDOW_Navi_pane_icons_Line_2 AknLayout::Navi_pane_icons_Line_2
+#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_1 AknLayout::Navi_pane_texts_Line_1
+#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_2 AknLayout::Navi_pane_texts_Line_2
+#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_3 AknLayout::Navi_pane_texts_Line_3
+#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_4 AknLayout::Navi_pane_texts_Line_4()
+#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_5 AknLayout::Navi_pane_texts_Line_5()
+#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_6 AknLayout::Navi_pane_texts_Line_6
+#define AKN_LAYOUT_TEXT_Navi_pane_texts_Line_7 AknLayout::Navi_pane_texts_Line_7
+#define AKN_LAYOUT_WINDOW_Navi_pane_area_for_editing_status_icons_Line_1 AknLayout::Navi_pane_area_for_editing_status_icons_Line_1()
+#define AKN_LAYOUT_WINDOW_Volume_glider_elements__one__Line_1 AknLayout::Volume_glider_elements__one__Line_1
+#define AKN_LAYOUT_WINDOW_volume_navi_pane AknLayout::volume_navi_pane
+#define AKN_LAYOUT_TABLE_LIMITS_Volume_glider_elements__one__Limits AknLayout::Volume_glider_elements__one__Limits()
+#define AKN_LAYOUT_TABLE_Volume_glider_elements__one_ AknLayout::Volume_glider_elements__one_
+#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_1 AknLayout::Volume_pane_elements__one__Line_1
+#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_2 AknLayout::Volume_pane_elements__one__Line_2
+#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_3 AknLayout::Volume_pane_elements__one__Line_3
+#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_4 AknLayout::Volume_pane_elements__one__Line_4
+#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_5 AknLayout::Volume_pane_elements__one__Line_5
+#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_6 AknLayout::Volume_pane_elements__one__Line_6
+#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_7 AknLayout::Volume_pane_elements__one__Line_7
+#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_8 AknLayout::Volume_pane_elements__one__Line_8
+#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_9 AknLayout::Volume_pane_elements__one__Line_9
+#define AKN_LAYOUT_WINDOW_Volume_pane_elements__one__Line_10 AknLayout::Volume_pane_elements__one__Line_10
+#define AKN_LAYOUT_TABLE_LIMITS_Volume_pane_elements__one__Limits AknLayout::Volume_pane_elements__one__Limits()
+#define AKN_LAYOUT_TABLE_Volume_pane_elements__one_ AknLayout::Volume_pane_elements__one_
+#define AKN_LAYOUT_WINDOW_list_gen_pane AknLayout::list_gen_pane
+#define AKN_LAYOUT_WINDOW_find_pane AknLayout::find_pane()
+#define AKN_LAYOUT_WINDOW_wallpaper_pane AknLayout::wallpaper_pane()
+#define AKN_LAYOUT_WINDOW_indicator_pane AknLayout::indicator_pane()
+#define AKN_LAYOUT_WINDOW_soft_indicator_pane AknLayout::soft_indicator_pane
+#define AKN_LAYOUT_WINDOW_A_column AknLayout::A_column()
+#define AKN_LAYOUT_WINDOW_B_column AknLayout::B_column()
+#define AKN_LAYOUT_WINDOW_C_column AknLayout::C_column()
+#define AKN_LAYOUT_WINDOW_D_column AknLayout::D_column()
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_column_division_Limits AknLayout::List_pane_column_division_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_column_division AknLayout::List_pane_column_division
+#define AKN_LAYOUT_WINDOW_list_single_pane AknLayout::list_single_pane
+#define AKN_LAYOUT_WINDOW_list_single_number_pane AknLayout::list_single_number_pane
+#define AKN_LAYOUT_WINDOW_list_single_heading_pane AknLayout::list_single_heading_pane
+#define AKN_LAYOUT_WINDOW_list_single_graphic_pane AknLayout::list_single_graphic_pane
+#define AKN_LAYOUT_WINDOW_list_single_graphic_heading_pane AknLayout::list_single_graphic_heading_pane
+#define AKN_LAYOUT_WINDOW_list_single_number_heading_pane AknLayout::list_single_number_heading_pane
+#define AKN_LAYOUT_WINDOW_list_single_large_graphic_pane AknLayout::list_single_large_graphic_pane
+#define AKN_LAYOUT_WINDOW_list_double_pane AknLayout::list_double_pane
+#define AKN_LAYOUT_WINDOW_list_double2_pane AknLayout::list_double2_pane
+#define AKN_LAYOUT_WINDOW_list_double_number_pane_list_single_big_number_pane AknLayout::list_double_number_pane_list_single_big_number_pane
+#define AKN_LAYOUT_WINDOW_list_double_time_pane AknLayout::list_double_time_pane
+#define AKN_LAYOUT_WINDOW_list_double_large_graphic_pane_list_double2_large_graphic_pane_list_single_big_large_graphic_pane AknLayout::list_double_large_graphic_pane_list_double2_large_graphic_pane_list_single_big_large_graphic_pane
+#define AKN_LAYOUT_WINDOW_list_double_graphic_pane_list_double2_graphic_pane AknLayout::list_double_graphic_pane_list_double2_graphic_pane
+#define AKN_LAYOUT_WINDOW_list_single_big_heading_graphic_pane AknLayout::list_single_big_heading_graphic_pane
+#define AKN_LAYOUT_WINDOW_list_single_big_heading_pane AknLayout::list_single_big_heading_pane
+#define AKN_LAYOUT_WINDOW_list_setting_pane_list_big_setting_pane AknLayout::list_setting_pane_list_big_setting_pane
+#define AKN_LAYOUT_WINDOW_list_setting_number_pane_list_big_setting_number_pane AknLayout::list_setting_number_pane_list_big_setting_number_pane
+#define AKN_LAYOUT_WINDOW_list_setting_double2_pane AknLayout::list_setting_double2_pane
+#define AKN_LAYOUT_WINDOW_list_double2_graphic_pane AknLayout::list_double2_graphic_pane
+#define AKN_LAYOUT_WINDOW_list_double2_large_graphic_pane AknLayout::list_double2_large_graphic_pane
+#define AKN_LAYOUT_WINDOW_list_single_2graphic_pane AknLayout::list_single_2graphic_pane
+#define AKN_LAYOUT_WINDOW_list_double2_graphic_large_graphic_pane AknLayout::list_double2_graphic_large_graphic_pane
+#define AKN_LAYOUT_TABLE_LIMITS_General_list_pane_descendants_Limits AknLayout::General_list_pane_descendants_Limits()
+#define AKN_LAYOUT_TABLE_General_list_pane_descendants AknLayout::General_list_pane_descendants
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single__Line_1 AknLayout::List_pane_elements__single__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single__Line_2 AknLayout::List_pane_elements__single__Line_2
+#define AKN_LAYOUT_TEXT_List_pane_texts__single__Line_1 AknLayout::List_pane_texts__single__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_number__Line_1 AknLayout::List_pane_elements__single_number__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_number__Line_2 AknLayout::List_pane_elements__single_number__Line_2
+#define AKN_LAYOUT_TEXT_List_pane_texts__single_number__Line_1 AknLayout::List_pane_texts__single_number__Line_1()
+#define AKN_LAYOUT_TEXT_List_pane_texts__single_number__Line_2 AknLayout::List_pane_texts__single_number__Line_2
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_heading__Line_1 AknLayout::List_pane_elements__single_heading__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_heading__Line_2 AknLayout::List_pane_elements__single_heading__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_heading__Line_3 AknLayout::List_pane_elements__single_heading__Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__single_heading__SUB_TABLE_0_Limits AknLayout::List_pane_elements__single_heading__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__single_heading__SUB_TABLE_0 AknLayout::List_pane_elements__single_heading__SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__single_heading__Line_1 AknLayout::List_pane_texts__single_heading__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__single_heading__Line_2 AknLayout::List_pane_texts__single_heading__Line_2
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__single_heading__Limits AknLayout::List_pane_texts__single_heading__Limits()
+#define AKN_LAYOUT_TABLE_List_pane_texts__single_heading_ AknLayout::List_pane_texts__single_heading_
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic__Line_1 AknLayout::List_pane_elements__single_graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic__Line_2 AknLayout::List_pane_elements__single_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic__Line_3 AknLayout::List_pane_elements__single_graphic__Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__single_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__single_graphic__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__single_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__single_graphic__SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__single_graphic__Line_1 AknLayout::List_pane_texts__single_graphic__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic_heading__Line_1 AknLayout::List_pane_elements__single_graphic_heading__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic_heading__Line_2 AknLayout::List_pane_elements__single_graphic_heading__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic_heading__Line_3 AknLayout::List_pane_elements__single_graphic_heading__Line_3()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic_heading__Line_4 AknLayout::List_pane_elements__single_graphic_heading__Line_4
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__single_graphic_heading__SUB_TABLE_0_Limits AknLayout::List_pane_elements__single_graphic_heading__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__single_graphic_heading__SUB_TABLE_0 AknLayout::List_pane_elements__single_graphic_heading__SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__single_graphic_heading__Line_1 AknLayout::List_pane_texts__single_graphic_heading__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__single_graphic_heading__Line_2 AknLayout::List_pane_texts__single_graphic_heading__Line_2
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__single_graphic_heading__Limits AknLayout::List_pane_texts__single_graphic_heading__Limits()
+#define AKN_LAYOUT_TABLE_List_pane_texts__single_graphic_heading_ AknLayout::List_pane_texts__single_graphic_heading_
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_number_heading__Line_1 AknLayout::List_pane_elements__single_number_heading__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_number_heading__Line_2 AknLayout::List_pane_elements__single_number_heading__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_number_heading__Line_3 AknLayout::List_pane_elements__single_number_heading__Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__single_number_heading__SUB_TABLE_0_Limits AknLayout::List_pane_elements__single_number_heading__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__single_number_heading__SUB_TABLE_0 AknLayout::List_pane_elements__single_number_heading__SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__single_number_heading__Line_1 AknLayout::List_pane_texts__single_number_heading__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__single_number_heading__Line_2 AknLayout::List_pane_texts__single_number_heading__Line_2
+#define AKN_LAYOUT_TEXT_List_pane_texts__single_number_heading__Line_3 AknLayout::List_pane_texts__single_number_heading__Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__single_number_heading__Limits AknLayout::List_pane_texts__single_number_heading__Limits()
+#define AKN_LAYOUT_TABLE_List_pane_texts__single_number_heading_ AknLayout::List_pane_texts__single_number_heading_
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_large_graphic__Line_1 AknLayout::List_pane_elements__single_large_graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_large_graphic__Line_2 AknLayout::List_pane_elements__single_large_graphic__Line_2
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_large_graphic__Line_3 AknLayout::List_pane_elements__single_large_graphic__Line_3
+#define AKN_LAYOUT_WINDOW_do_not_use_empty_pane1 AknLayout::do_not_use_empty_pane1()
+#define AKN_LAYOUT_WINDOW_do_not_use_empty_pane2 AknLayout::do_not_use_empty_pane2()
+#define AKN_LAYOUT_TEXT_List_pane_texts__single_large_graphic__Line_1 AknLayout::List_pane_texts__single_large_graphic__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double__Line_1 AknLayout::List_pane_elements__double__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double__Line_2 AknLayout::List_pane_elements__double__Line_2
+#define AKN_LAYOUT_TEXT_List_pane_texts__double__Line_1 AknLayout::List_pane_texts__double__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__double__Line_2 AknLayout::List_pane_texts__double__Line_2()
+#define AKN_LAYOUT_TEXT_List_pane_text__double2__Line_1 AknLayout::List_pane_text__double2__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_text__double2__Line_2 AknLayout::List_pane_text__double2__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_number__Line_1 AknLayout::List_pane_elements__double_number__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_number__Line_2 AknLayout::List_pane_elements__double_number__Line_2
+#define AKN_LAYOUT_TEXT_List_pane_texts__double_number__Line_1 AknLayout::List_pane_texts__double_number__Line_1()
+#define AKN_LAYOUT_TEXT_List_pane_texts__double_number__Line_2 AknLayout::List_pane_texts__double_number__Line_2
+#define AKN_LAYOUT_TEXT_List_pane_texts__double_number__Line_3 AknLayout::List_pane_texts__double_number__Line_3()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_graphic__Line_1 AknLayout::List_pane_elements__double_graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_graphic__Line_2 AknLayout::List_pane_elements__double_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_graphic__Line_3 AknLayout::List_pane_elements__double_graphic__Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__double_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__double_graphic__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__double_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__double_graphic__SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__double_graphic__Line_1 AknLayout::List_pane_texts__double_graphic__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__double_graphic__Line_2 AknLayout::List_pane_texts__double_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic__Line_1 AknLayout::List_pane_elements__double2_graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic__Line_2 AknLayout::List_pane_elements__double2_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic__Line_3 AknLayout::List_pane_elements__double2_graphic__Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__double2_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__double2_graphic__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__double2_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__double2_graphic__SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__double2_graphic__Line_1 AknLayout::List_pane_texts__double2_graphic__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__double2_graphic__Line_2 AknLayout::List_pane_texts__double2_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_large_graphic__Line_1 AknLayout::List_pane_elements__double2_large_graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_large_graphic__Line_2 AknLayout::List_pane_elements__double2_large_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_large_graphic__Line_3 AknLayout::List_pane_elements__double2_large_graphic__Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__double2_large_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__double2_large_graphic__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__double2_large_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__double2_large_graphic__SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__double2_large_graphic__Line_1 AknLayout::List_pane_texts__double2_large_graphic__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__double2_large_graphic__Line_2 AknLayout::List_pane_texts__double2_large_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__large_single_heading_graphic__Line_1 AknLayout::List_pane_elements__large_single_heading_graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__large_single_heading_graphic__Line_2 AknLayout::List_pane_elements__large_single_heading_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__large_single_heading_graphic__Line_3 AknLayout::List_pane_elements__large_single_heading_graphic__Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__large_single_heading_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__large_single_heading_graphic__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__large_single_heading_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__large_single_heading_graphic__SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__large_single_heading_graphic__Line_1 AknLayout::List_pane_texts__large_single_heading_graphic__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__large_single_heading_graphic__Line_2 AknLayout::List_pane_texts__large_single_heading_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__large_single_heading__Line_1 AknLayout::List_pane_elements__large_single_heading__Line_1()
+#define AKN_LAYOUT_TEXT_List_pane_texts__large_single_heading__Line_1 AknLayout::List_pane_texts__large_single_heading__Line_1()
+#define AKN_LAYOUT_TEXT_List_pane_texts__large_single_heading__Line_2 AknLayout::List_pane_texts__large_single_heading__Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__large_single_heading__Limits AknLayout::List_pane_texts__large_single_heading__Limits()
+#define AKN_LAYOUT_TABLE_List_pane_texts__large_single_heading_ AknLayout::List_pane_texts__large_single_heading_
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_time__Line_1 AknLayout::List_pane_elements__double_time__Line_1()
+#define AKN_LAYOUT_TEXT_List_pane_texts__double_time__Line_1 AknLayout::List_pane_texts__double_time__Line_1()
+#define AKN_LAYOUT_TEXT_List_pane_texts__double_time__Line_2 AknLayout::List_pane_texts__double_time__Line_2()
+#define AKN_LAYOUT_TEXT_List_pane_texts__double_time__Line_3 AknLayout::List_pane_texts__double_time__Line_3()
+#define AKN_LAYOUT_TEXT_List_pane_texts__double_time__Line_4 AknLayout::List_pane_texts__double_time__Line_4()
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__double_time__Limits AknLayout::List_pane_texts__double_time__Limits()
+#define AKN_LAYOUT_TABLE_List_pane_texts__double_time_ AknLayout::List_pane_texts__double_time_
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_1 AknLayout::List_pane_elements__double_large_graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_2 AknLayout::List_pane_elements__double_large_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_3 AknLayout::List_pane_elements__double_large_graphic__Line_3()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_4 AknLayout::List_pane_elements__double_large_graphic__Line_4()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_5 AknLayout::List_pane_elements__double_large_graphic__Line_5()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_6 AknLayout::List_pane_elements__double_large_graphic__Line_6()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_7 AknLayout::List_pane_elements__double_large_graphic__Line_7()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_8 AknLayout::List_pane_elements__double_large_graphic__Line_8()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_9 AknLayout::List_pane_elements__double_large_graphic__Line_9
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double_large_graphic__Line_10 AknLayout::List_pane_elements__double_large_graphic__Line_10()
+#define AKN_LAYOUT_TEXT_List_pane_texts__double_large_graphic__Line_1 AknLayout::List_pane_texts__double_large_graphic__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__double_large_graphic__Line_2 AknLayout::List_pane_texts__double_large_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting__Line_1 AknLayout::List_pane_elements__setting__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting__Line_2 AknLayout::List_pane_elements__setting__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting__Line_3 AknLayout::List_pane_elements__setting__Line_3()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting__Line_4 AknLayout::List_pane_elements__setting__Line_4()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting__Line_5 AknLayout::List_pane_elements__setting__Line_5()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting__Line_6 AknLayout::List_pane_elements__setting__Line_6()
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__setting__Limits AknLayout::List_pane_elements__setting__Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__setting_ AknLayout::List_pane_elements__setting_
+#define AKN_LAYOUT_TEXT_List_pane_texts__setting__Line_1 AknLayout::List_pane_texts__setting__Line_1()
+#define AKN_LAYOUT_TEXT_List_pane_texts__setting__Line_2 AknLayout::List_pane_texts__setting__Line_2()
+#define AKN_LAYOUT_TEXT_List_pane_texts__setting__Line_3 AknLayout::List_pane_texts__setting__Line_3()
+#define AKN_LAYOUT_TEXT_List_pane_texts__setting__Line_4 AknLayout::List_pane_texts__setting__Line_4()
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__setting__Limits AknLayout::List_pane_texts__setting__Limits()
+#define AKN_LAYOUT_TABLE_List_pane_texts__setting_ AknLayout::List_pane_texts__setting_
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_number__Line_1 AknLayout::List_pane_elements__setting_number__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_number__Line_2 AknLayout::List_pane_elements__setting_number__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_number__Line_3 AknLayout::List_pane_elements__setting_number__Line_3()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_number__Line_4 AknLayout::List_pane_elements__setting_number__Line_4()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_number__Line_5 AknLayout::List_pane_elements__setting_number__Line_5()
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__setting_number__Limits AknLayout::List_pane_elements__setting_number__Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__setting_number_ AknLayout::List_pane_elements__setting_number_
+#define AKN_LAYOUT_TEXT_List_pane_texts__setting_number__Line_1 AknLayout::List_pane_texts__setting_number__Line_1()
+#define AKN_LAYOUT_TEXT_List_pane_texts__setting_number__Line_2 AknLayout::List_pane_texts__setting_number__Line_2()
+#define AKN_LAYOUT_TEXT_List_pane_texts__setting_number__Line_3 AknLayout::List_pane_texts__setting_number__Line_3()
+#define AKN_LAYOUT_TEXT_List_pane_texts__setting_number__Line_4 AknLayout::List_pane_texts__setting_number__Line_4()
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__setting_number__Limits AknLayout::List_pane_texts__setting_number__Limits()
+#define AKN_LAYOUT_TABLE_List_pane_texts__setting_number_ AknLayout::List_pane_texts__setting_number_
+#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_1 AknLayout::Setting_volume_elements_Line_1
+#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_2 AknLayout::Setting_volume_elements_Line_2
+#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_3 AknLayout::Setting_volume_elements_Line_3
+#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_4 AknLayout::Setting_volume_elements_Line_4
+#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_5 AknLayout::Setting_volume_elements_Line_5
+#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_6 AknLayout::Setting_volume_elements_Line_6
+#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_7 AknLayout::Setting_volume_elements_Line_7
+#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_8 AknLayout::Setting_volume_elements_Line_8
+#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_9 AknLayout::Setting_volume_elements_Line_9
+#define AKN_LAYOUT_WINDOW_Setting_volume_elements_Line_10 AknLayout::Setting_volume_elements_Line_10
+#define AKN_LAYOUT_TABLE_LIMITS_Setting_volume_elements_Limits AknLayout::Setting_volume_elements_Limits()
+#define AKN_LAYOUT_TABLE_Setting_volume_elements AknLayout::Setting_volume_elements
+#define AKN_LAYOUT_WINDOW_Setting_slider_elements_Line_1 AknLayout::Setting_slider_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_double2__Line_1 AknLayout::List_pane_elements__setting_double2__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_double2__Line_2 AknLayout::List_pane_elements__setting_double2__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__setting_double2__Line_3 AknLayout::List_pane_elements__setting_double2__Line_3()
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__setting_double2__Limits AknLayout::List_pane_elements__setting_double2__Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__setting_double2_ AknLayout::List_pane_elements__setting_double2_
+#define AKN_LAYOUT_WINDOW_List_pane_lines__A_column__Line_1 AknLayout::List_pane_lines__A_column__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_lines__A_column__Line_2 AknLayout::List_pane_lines__A_column__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_lines__AB_columns__Line_1 AknLayout::List_pane_lines__AB_columns__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_lines__AB_columns__Line_2 AknLayout::List_pane_lines__AB_columns__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_lines__BC_columns__Line_1 AknLayout::List_pane_lines__BC_columns__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_lines__BC_columns__Line_2 AknLayout::List_pane_lines__BC_columns__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__various__Line_1 AknLayout::List_pane_highlight_graphics__various__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__various__Line_2 AknLayout::List_pane_highlight_graphics__various__Line_2
+#define AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__various__Line_3 AknLayout::List_pane_highlight_graphics__various__Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_highlight_graphics__various__SUB_TABLE_0_Limits AknLayout::List_pane_highlight_graphics__various__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_highlight_graphics__various__SUB_TABLE_0 AknLayout::List_pane_highlight_graphics__various__SUB_TABLE_0
+#define AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__setting_number__Line_1 AknLayout::List_pane_highlight_graphics__setting_number__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__setting_number__Line_2 AknLayout::List_pane_highlight_graphics__setting_number__Line_2
+#define AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__setting_number__Line_3 AknLayout::List_pane_highlight_graphics__setting_number__Line_3()
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_highlight_graphics__setting_number__SUB_TABLE_0_Limits AknLayout::List_pane_highlight_graphics__setting_number__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_highlight_graphics__setting_number__SUB_TABLE_0 AknLayout::List_pane_highlight_graphics__setting_number__SUB_TABLE_0
+#define AKN_LAYOUT_WINDOW_Find_pane_elements_Line_1 AknLayout::Find_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Find_pane_elements_Line_2 AknLayout::Find_pane_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Find_pane_elements_Line_3 AknLayout::Find_pane_elements_Line_3()
+#define AKN_LAYOUT_WINDOW_Find_pane_elements_Line_4 AknLayout::Find_pane_elements_Line_4()
+#define AKN_LAYOUT_WINDOW_Find_pane_elements_Line_5 AknLayout::Find_pane_elements_Line_5()
+#define AKN_LAYOUT_TABLE_LIMITS_Find_pane_elements_Limits AknLayout::Find_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Find_pane_elements AknLayout::Find_pane_elements
+#define AKN_LAYOUT_TEXT_Find_pane_texts_Line_1 AknLayout::Find_pane_texts_Line_1()
+#define AKN_LAYOUT_WINDOW_form_field_data_pane AknLayout::form_field_data_pane
+#define AKN_LAYOUT_WINDOW_form_field_data_wide_pane AknLayout::form_field_data_wide_pane
+#define AKN_LAYOUT_WINDOW_form_field_popup_pane AknLayout::form_field_popup_pane
+#define AKN_LAYOUT_WINDOW_form_field_popup_wide_pane AknLayout::form_field_popup_wide_pane
+#define AKN_LAYOUT_WINDOW_form_field_slider_pane AknLayout::form_field_slider_pane
+#define AKN_LAYOUT_WINDOW_form_field_slider_wide_pane AknLayout::form_field_slider_wide_pane
+#define AKN_LAYOUT_TABLE_LIMITS_Form_descendant_panes_Limits AknLayout::Form_descendant_panes_Limits()
+#define AKN_LAYOUT_TABLE_Form_descendant_panes AknLayout::Form_descendant_panes
+#define AKN_LAYOUT_WINDOW_Form_data_field_elements_Line_1 AknLayout::Form_data_field_elements_Line_1
+#define AKN_LAYOUT_WINDOW_Form_data_field_elements_Line_2 AknLayout::Form_data_field_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Form_data_field_elements_Line_3 AknLayout::Form_data_field_elements_Line_3
+#define AKN_LAYOUT_WINDOW_Form_data_field_elements_Line_4 AknLayout::Form_data_field_elements_Line_4()
+#define AKN_LAYOUT_TEXT_Form_data_field_texts_Line_1 AknLayout::Form_data_field_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Form_data_field_texts_Line_1 AknLayout::Multiline_Form_data_field_texts_Line_1
+#define AKN_LAYOUT_TEXT_Form_data_field_texts_Line_2 AknLayout::Form_data_field_texts_Line_2
+#define AKN_LAYOUT_MULTILINE_TEXT_Form_data_field_texts_Line_2 AknLayout::Multiline_Form_data_field_texts_Line_2
+#define AKN_LAYOUT_WINDOW_Form_data_wide_field_elements_Line_1 AknLayout::Form_data_wide_field_elements_Line_1
+#define AKN_LAYOUT_WINDOW_Form_data_wide_field_elements_Line_2 AknLayout::Form_data_wide_field_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Form_data_wide_field_elements_Line_3 AknLayout::Form_data_wide_field_elements_Line_3
+#define AKN_LAYOUT_WINDOW_Form_data_wide_field_elements_Line_4 AknLayout::Form_data_wide_field_elements_Line_4()
+#define AKN_LAYOUT_TEXT_Form_data_wide_field_texts_Line_1 AknLayout::Form_data_wide_field_texts_Line_1()
+#define AKN_LAYOUT_TEXT_Form_data_wide_field_texts_Line_2 AknLayout::Form_data_wide_field_texts_Line_2
+#define AKN_LAYOUT_MULTILINE_TEXT_Form_data_wide_field_texts_Line_2 AknLayout::Multiline_Form_data_wide_field_texts_Line_2
+#define AKN_LAYOUT_WINDOW_Form_pop_up_field_elements_and_descendants_Line_1 AknLayout::Form_pop_up_field_elements_and_descendants_Line_1
+#define AKN_LAYOUT_WINDOW_Form_pop_up_field_elements_and_descendants_Line_2 AknLayout::Form_pop_up_field_elements_and_descendants_Line_2()
+#define AKN_LAYOUT_WINDOW_Form_pop_up_field_elements_and_descendants_Line_3 AknLayout::Form_pop_up_field_elements_and_descendants_Line_3
+#define AKN_LAYOUT_WINDOW_Form_pop_up_field_elements_and_descendants_Line_4 AknLayout::Form_pop_up_field_elements_and_descendants_Line_4()
+#define AKN_LAYOUT_WINDOW_Form_pop_up_field_elements_and_descendants_Line_5 AknLayout::Form_pop_up_field_elements_and_descendants_Line_5()
+#define AKN_LAYOUT_WINDOW_list_form_pane AknLayout::list_form_pane
+#define AKN_LAYOUT_WINDOW_list_form_graphic_pane AknLayout::list_form_graphic_pane
+#define AKN_LAYOUT_WINDOW_List_pane_elements__form_graphic__Line_1 AknLayout::List_pane_elements__form_graphic__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_elements__form_graphic__Line_2 AknLayout::List_pane_elements__form_graphic__Line_2()
+#define AKN_LAYOUT_TEXT_List_pane_texts__form_graphic__Line_1 AknLayout::List_pane_texts__form_graphic__Line_1
+#define AKN_LAYOUT_WINDOW_Form_pop_up_wide_field_elements_and_descendants_Line_1 AknLayout::Form_pop_up_wide_field_elements_and_descendants_Line_1
+#define AKN_LAYOUT_WINDOW_Form_pop_up_wide_field_elements_and_descendants_Line_2 AknLayout::Form_pop_up_wide_field_elements_and_descendants_Line_2()
+#define AKN_LAYOUT_WINDOW_Form_pop_up_wide_field_elements_and_descendants_Line_3 AknLayout::Form_pop_up_wide_field_elements_and_descendants_Line_3
+#define AKN_LAYOUT_WINDOW_Form_pop_up_wide_field_elements_and_descendants_Line_4 AknLayout::Form_pop_up_wide_field_elements_and_descendants_Line_4()
+#define AKN_LAYOUT_WINDOW_Form_pop_up_wide_field_elements_and_descendants_Line_5 AknLayout::Form_pop_up_wide_field_elements_and_descendants_Line_5()
+#define AKN_LAYOUT_WINDOW_list_form_wide_pane AknLayout::list_form_wide_pane
+#define AKN_LAYOUT_WINDOW_list_form_graphic_wide_pane AknLayout::list_form_graphic_wide_pane
+#define AKN_LAYOUT_WINDOW_List_pane_elements__form_graphic_wide__Line_1 AknLayout::List_pane_elements__form_graphic_wide__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_elements__form_graphic_wide__Line_2 AknLayout::List_pane_elements__form_graphic_wide__Line_2()
+#define AKN_LAYOUT_TEXT_List_pane_texts__form_graphic_wide__Line_1 AknLayout::List_pane_texts__form_graphic_wide__Line_1
+#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_Line_1 AknLayout::Form_slider_field_elements_and_descendants_Line_1
+#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_Line_2 AknLayout::Form_slider_field_elements_and_descendants_Line_2()
+#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_Line_3 AknLayout::Form_slider_field_elements_and_descendants_Line_3
+#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_Line_4 AknLayout::Form_slider_field_elements_and_descendants_Line_4()
+#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_Line_5 AknLayout::Form_slider_field_elements_and_descendants_Line_5()
+#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_Line_6 AknLayout::Form_slider_field_elements_and_descendants_Line_6
+#define AKN_LAYOUT_WINDOW_Slider_pane_elements__form__Line_1 AknLayout::Slider_pane_elements__form__Line_1()
+#define AKN_LAYOUT_WINDOW_Slider_pane_elements__form__Line_2 AknLayout::Slider_pane_elements__form__Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Slider_pane_elements__form__Limits AknLayout::Slider_pane_elements__form__Limits()
+#define AKN_LAYOUT_TABLE_Slider_pane_elements__form_ AknLayout::Slider_pane_elements__form_
+#define AKN_LAYOUT_TEXT_Form_slider_field_texts_Line_1 AknLayout::Form_slider_field_texts_Line_1()
+#define AKN_LAYOUT_TEXT_Form_slider_field_texts_Line_2 AknLayout::Form_slider_field_texts_Line_2()
+#define AKN_LAYOUT_TEXT_Form_slider_field_texts_Line_3 AknLayout::Form_slider_field_texts_Line_3
+#define AKN_LAYOUT_MULTILINE_TEXT_Form_slider_field_texts_Line_3 AknLayout::Multiline_Form_slider_field_texts_Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_Form_slider_field_texts_SUB_TABLE_0_Limits AknLayout::Form_slider_field_texts_SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_Form_slider_field_texts_SUB_TABLE_0 AknLayout::Form_slider_field_texts_SUB_TABLE_0
+#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_dup_Line_1 AknLayout::Form_slider_field_elements_and_descendants_dup_Line_1
+#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_dup_Line_2 AknLayout::Form_slider_field_elements_and_descendants_dup_Line_2()
+#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_dup_Line_3 AknLayout::Form_slider_field_elements_and_descendants_dup_Line_3
+#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_dup_Line_4 AknLayout::Form_slider_field_elements_and_descendants_dup_Line_4()
+#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_dup_Line_5 AknLayout::Form_slider_field_elements_and_descendants_dup_Line_5()
+#define AKN_LAYOUT_WINDOW_Form_slider_field_elements_and_descendants_dup_Line_6 AknLayout::Form_slider_field_elements_and_descendants_dup_Line_6
+#define AKN_LAYOUT_WINDOW_Slider_pane_elements__form__dup_Line_1 AknLayout::Slider_pane_elements__form__dup_Line_1()
+#define AKN_LAYOUT_WINDOW_Slider_pane_elements__form__dup_Line_2 AknLayout::Slider_pane_elements__form__dup_Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Slider_pane_elements__form__dup_Limits AknLayout::Slider_pane_elements__form__dup_Limits()
+#define AKN_LAYOUT_TABLE_Slider_pane_elements__form__dup AknLayout::Slider_pane_elements__form__dup
+#define AKN_LAYOUT_TEXT_Form_slider_field_texts_dup_Line_1 AknLayout::Form_slider_field_texts_dup_Line_1()
+#define AKN_LAYOUT_TEXT_Form_slider_field_texts_dup_Line_2 AknLayout::Form_slider_field_texts_dup_Line_2()
+#define AKN_LAYOUT_TEXT_Form_slider_field_texts_dup_Line_3 AknLayout::Form_slider_field_texts_dup_Line_3
+#define AKN_LAYOUT_MULTILINE_TEXT_Form_slider_field_texts_dup_Line_3 AknLayout::Multiline_Form_slider_field_texts_dup_Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_Form_slider_field_texts_dup_SUB_TABLE_0_Limits AknLayout::Form_slider_field_texts_dup_SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_Form_slider_field_texts_dup_SUB_TABLE_0 AknLayout::Form_slider_field_texts_dup_SUB_TABLE_0
+#define AKN_LAYOUT_WINDOW_Cursor_graphics__13__Line_1 AknLayout::Cursor_graphics__13__Line_1()
+#define AKN_LAYOUT_WINDOW_Predictive_text_input_graphics__13__Line_1 AknLayout::Predictive_text_input_graphics__13__Line_1()
+#define AKN_LAYOUT_WINDOW_Predictive_text_input_graphics__13__Line_2 AknLayout::Predictive_text_input_graphics__13__Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Predictive_text_input_graphics__13__Limits AknLayout::Predictive_text_input_graphics__13__Limits()
+#define AKN_LAYOUT_TABLE_Predictive_text_input_graphics__13_ AknLayout::Predictive_text_input_graphics__13_
+#define AKN_LAYOUT_WINDOW_Cut_copy_and_paste_highlight_graphics__13__Line_1 AknLayout::Cut_copy_and_paste_highlight_graphics__13__Line_1()
+#define AKN_LAYOUT_WINDOW_Time_and_date_entry_graphics__13__Line_1 AknLayout::Time_and_date_entry_graphics__13__Line_1()
+#define AKN_LAYOUT_WINDOW_Cursor_graphics__12__Line_1 AknLayout::Cursor_graphics__12__Line_1()
+#define AKN_LAYOUT_WINDOW_Predictive_text_input_graphics__12__Line_1 AknLayout::Predictive_text_input_graphics__12__Line_1()
+#define AKN_LAYOUT_WINDOW_Predictive_text_input_graphics__12__Line_2 AknLayout::Predictive_text_input_graphics__12__Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Predictive_text_input_graphics__12__Limits AknLayout::Predictive_text_input_graphics__12__Limits()
+#define AKN_LAYOUT_TABLE_Predictive_text_input_graphics__12_ AknLayout::Predictive_text_input_graphics__12_
+#define AKN_LAYOUT_WINDOW_Cut_copy_and_paste_highlight_graphics__12__Line_1 AknLayout::Cut_copy_and_paste_highlight_graphics__12__Line_1()
+#define AKN_LAYOUT_WINDOW_Time_and_date_entry_graphics__12__Line_1 AknLayout::Time_and_date_entry_graphics__12__Line_1()
+#define AKN_LAYOUT_WINDOW_list_set_graphic_pane AknLayout::list_set_graphic_pane
+#define AKN_LAYOUT_WINDOW_List_pane_elements__set_graphic__Line_1 AknLayout::List_pane_elements__set_graphic__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_elements__set_graphic__Line_2 AknLayout::List_pane_elements__set_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__set_graphic__Line_3 AknLayout::List_pane_elements__set_graphic__Line_3()
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__set_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__set_graphic__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__set_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__set_graphic__SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__set_graphic__Line_1 AknLayout::List_pane_texts__set_graphic__Line_1
+#define AKN_LAYOUT_WINDOW_Application_grid_descendant_Line_1 AknLayout::Application_grid_descendant_Line_1
+#define AKN_LAYOUT_WINDOW_Cell_pane_elements__app__Line_1 AknLayout::Cell_pane_elements__app__Line_1()
+#define AKN_LAYOUT_WINDOW_Cell_pane_elements__app__Line_2 AknLayout::Cell_pane_elements__app__Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Cell_pane_elements__app__Limits AknLayout::Cell_pane_elements__app__Limits()
+#define AKN_LAYOUT_TABLE_Cell_pane_elements__app_ AknLayout::Cell_pane_elements__app_
+#define AKN_LAYOUT_TEXT_Cell_pane_texts__app__Line_1 AknLayout::Cell_pane_texts__app__Line_1()
+#define AKN_LAYOUT_WINDOW_Cell_pane_highlight_elements__various__Line_1 AknLayout::Cell_pane_highlight_elements__various__Line_1
+#define AKN_LAYOUT_WINDOW_Wallpaper_pane_element_Line_1 AknLayout::Wallpaper_pane_element_Line_1
+#define AKN_LAYOUT_WINDOW_Indicator_pane_elements_Line_1 AknLayout::Indicator_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Soft_indicator_pane_elements_Line_1 AknLayout::Soft_indicator_pane_elements_Line_1
+#define AKN_LAYOUT_TEXT_Soft_indicator_pane_texts_Line_1 AknLayout::Soft_indicator_pane_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Soft_indicator_pane_texts_Line_1 AknLayout::Multiline_Soft_indicator_pane_texts_Line_1
+#define AKN_LAYOUT_WINDOW_power_save_pane AknLayout::power_save_pane
+#define AKN_LAYOUT_WINDOW_Power_save_pane_descendants_Line_1 AknLayout::Power_save_pane_descendants_Line_1()
+#define AKN_LAYOUT_WINDOW_Power_save_pane_descendants_Line_2 AknLayout::Power_save_pane_descendants_Line_2()
+#define AKN_LAYOUT_WINDOW_Power_save_pane_descendants_Line_3 AknLayout::Power_save_pane_descendants_Line_3()
+#define AKN_LAYOUT_TABLE_LIMITS_Power_save_pane_descendants_Limits AknLayout::Power_save_pane_descendants_Limits()
+#define AKN_LAYOUT_TABLE_Power_save_pane_descendants AknLayout::Power_save_pane_descendants
+#define AKN_LAYOUT_TEXT_Idle_power_save_state_texts_Line_1 AknLayout::Idle_power_save_state_texts_Line_1()
+#define AKN_LAYOUT_TEXT_Idle_power_save_state_texts_Line_2 AknLayout::Idle_power_save_state_texts_Line_2()
+#define AKN_LAYOUT_TEXT_Idle_power_save_state_texts_Line_3 AknLayout::Idle_power_save_state_texts_Line_3()
+#define AKN_LAYOUT_TEXT_Idle_power_save_state_texts_Line_4 AknLayout::Idle_power_save_state_texts_Line_4()
+#define AKN_LAYOUT_TABLE_LIMITS_Idle_power_save_state_texts_Limits AknLayout::Idle_power_save_state_texts_Limits()
+#define AKN_LAYOUT_TABLE_Idle_power_save_state_texts AknLayout::Idle_power_save_state_texts
+#define AKN_LAYOUT_WINDOW_grid_app_pane AknLayout::grid_app_pane()
+#define AKN_LAYOUT_TEXT_Empty_list_texts_Line_1 AknLayout::Empty_list_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Empty_list_texts_Line_1 AknLayout::Multiline_Empty_list_texts_Line_1
+#define AKN_LAYOUT_TEXT_Empty_list_texts__find__Line_1 AknLayout::Empty_list_texts__find__Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Empty_list_texts__find__Line_1 AknLayout::Multiline_Empty_list_texts__find__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_elements_and_descendants__settings_edited__Line_1 AknLayout::List_pane_elements_and_descendants__settings_edited__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements_and_descendants__settings_edited__Line_2 AknLayout::List_pane_elements_and_descendants__settings_edited__Line_2()
+#define AKN_LAYOUT_WINDOW_list_set_pane AknLayout::list_set_pane
+#define AKN_LAYOUT_WINDOW_List_pane_elements_and_descendants__settings_edited__Line_4 AknLayout::List_pane_elements_and_descendants__settings_edited__Line_4()
+#define AKN_LAYOUT_WINDOW_setting_volume_pane AknLayout::setting_volume_pane()
+#define AKN_LAYOUT_WINDOW_setting_slider_pane AknLayout::setting_slider_pane()
+#define AKN_LAYOUT_WINDOW_setting_slider_graphic_pane AknLayout::setting_slider_graphic_pane()
+#define AKN_LAYOUT_WINDOW_setting_text_pane AknLayout::setting_text_pane()
+#define AKN_LAYOUT_WINDOW_setting_code_pane AknLayout::setting_code_pane()
+#define AKN_LAYOUT_TEXT_Setting_item_texts_Line_1 AknLayout::Setting_item_texts_Line_1()
+#define AKN_LAYOUT_TEXT_Setting_item_texts_Line_2 AknLayout::Setting_item_texts_Line_2
+#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_1 AknLayout::Setting_volume_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_2 AknLayout::Setting_volume_pane_elements_Line_2
+#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_3 AknLayout::Setting_volume_pane_elements_Line_3
+#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_4 AknLayout::Setting_volume_pane_elements_Line_4
+#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_5 AknLayout::Setting_volume_pane_elements_Line_5
+#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_6 AknLayout::Setting_volume_pane_elements_Line_6
+#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_7 AknLayout::Setting_volume_pane_elements_Line_7
+#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_8 AknLayout::Setting_volume_pane_elements_Line_8
+#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_9 AknLayout::Setting_volume_pane_elements_Line_9
+#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_10 AknLayout::Setting_volume_pane_elements_Line_10
+#define AKN_LAYOUT_WINDOW_Setting_volume_pane_elements_Line_11 AknLayout::Setting_volume_pane_elements_Line_11
+#define AKN_LAYOUT_TABLE_LIMITS_Setting_volume_pane_elements_SUB_TABLE_0_Limits AknLayout::Setting_volume_pane_elements_SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_Setting_volume_pane_elements_SUB_TABLE_0 AknLayout::Setting_volume_pane_elements_SUB_TABLE_0
+#define AKN_LAYOUT_WINDOW_Setting_slider_pane_elements_and_descendants_Line_1 AknLayout::Setting_slider_pane_elements_and_descendants_Line_1()
+#define AKN_LAYOUT_WINDOW_Setting_slider_pane_elements_and_descendants_Line_2 AknLayout::Setting_slider_pane_elements_and_descendants_Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Setting_slider_pane_elements_and_descendants_Limits AknLayout::Setting_slider_pane_elements_and_descendants_Limits()
+#define AKN_LAYOUT_TABLE_Setting_slider_pane_elements_and_descendants AknLayout::Setting_slider_pane_elements_and_descendants
+#define AKN_LAYOUT_WINDOW_Slider_pane_elements_Line_1 AknLayout::Slider_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Slider_pane_elements_Line_2 AknLayout::Slider_pane_elements_Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Slider_pane_elements_Limits AknLayout::Slider_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Slider_pane_elements AknLayout::Slider_pane_elements
+#define AKN_LAYOUT_TEXT_Slider_texts__set__Line_1 AknLayout::Slider_texts__set__Line_1()
+#define AKN_LAYOUT_TEXT_Slider_texts__set__Line_2 AknLayout::Slider_texts__set__Line_2
+#define AKN_LAYOUT_MULTILINE_TEXT_Slider_texts__set__Line_2 AknLayout::Multiline_Slider_texts__set__Line_2
+#define AKN_LAYOUT_WINDOW_Setting_slider_pane__graphic__elements_and_descendants_Line_1 AknLayout::Setting_slider_pane__graphic__elements_and_descendants_Line_1()
+#define AKN_LAYOUT_WINDOW_Setting_slider_pane__graphic__elements_and_descendants_Line_2 AknLayout::Setting_slider_pane__graphic__elements_and_descendants_Line_2()
+#define AKN_LAYOUT_WINDOW_Setting_slider_pane__graphic__elements_and_descendants_Line_3 AknLayout::Setting_slider_pane__graphic__elements_and_descendants_Line_3()
+#define AKN_LAYOUT_TABLE_LIMITS_Setting_slider_pane__graphic__elements_and_descendants_Limits AknLayout::Setting_slider_pane__graphic__elements_and_descendants_Limits()
+#define AKN_LAYOUT_TABLE_Setting_slider_pane__graphic__elements_and_descendants AknLayout::Setting_slider_pane__graphic__elements_and_descendants
+#define AKN_LAYOUT_TEXT_Slider_with_graphic_texts__set__Line_1 AknLayout::Slider_with_graphic_texts__set__Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Slider_with_graphic_texts__set__Line_1 AknLayout::Multiline_Slider_with_graphic_texts__set__Line_1
+#define AKN_LAYOUT_WINDOW_Setting_text_pane_elements_Line_1 AknLayout::Setting_text_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Setting_text_pane_elements_Line_2 AknLayout::Setting_text_pane_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Setting_text_pane_elements_Line_3 AknLayout::Setting_text_pane_elements_Line_3()
+#define AKN_LAYOUT_WINDOW_Setting_text_pane_elements_Line_4 AknLayout::Setting_text_pane_elements_Line_4()
+#define AKN_LAYOUT_TABLE_LIMITS_Setting_text_pane_elements_Limits AknLayout::Setting_text_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Setting_text_pane_elements AknLayout::Setting_text_pane_elements
+#define AKN_LAYOUT_TEXT_Setting_text_pane_texts_Line_1 AknLayout::Setting_text_pane_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Setting_text_pane_texts_Line_1 AknLayout::Multiline_Setting_text_pane_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Code_time_and_date_entry_pane_elements_Line_1 AknLayout::Code_time_and_date_entry_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Code_time_and_date_entry_pane_elements_Line_2 AknLayout::Code_time_and_date_entry_pane_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Code_time_and_date_entry_pane_elements_Line_3 AknLayout::Code_time_and_date_entry_pane_elements_Line_3()
+#define AKN_LAYOUT_TABLE_LIMITS_Code_time_and_date_entry_pane_elements_Limits AknLayout::Code_time_and_date_entry_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Code_time_and_date_entry_pane_elements AknLayout::Code_time_and_date_entry_pane_elements
+#define AKN_LAYOUT_TEXT_Code_time_and_date_entry_pane_texts_Line_1 AknLayout::Code_time_and_date_entry_pane_texts_Line_1()
+#define AKN_LAYOUT_WINDOW_Control_pane_elements_Line_1 AknLayout::Control_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Control_pane_elements_Line_2 AknLayout::Control_pane_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Control_pane_elements_Line_3 AknLayout::Control_pane_elements_Line_3()
+#define AKN_LAYOUT_WINDOW_Control_pane_elements_Line_4 AknLayout::Control_pane_elements_Line_4()
+#define AKN_LAYOUT_TABLE_LIMITS_Control_pane_elements_Limits AknLayout::Control_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Control_pane_elements AknLayout::Control_pane_elements
+#define AKN_LAYOUT_TEXT_Control_pane_texts_Line_1 AknLayout::Control_pane_texts_Line_1()
+#define AKN_LAYOUT_TEXT_Control_pane_texts_Line_2 AknLayout::Control_pane_texts_Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Control_pane_texts_Limits AknLayout::Control_pane_texts_Limits()
+#define AKN_LAYOUT_TABLE_Control_pane_texts AknLayout::Control_pane_texts
+#define AKN_LAYOUT_WINDOW_popup_menu_window AknLayout::popup_menu_window
+#define AKN_LAYOUT_WINDOW_Pop_up_windows__main_pane_as_parent__Line_2 AknLayout::Pop_up_windows__main_pane_as_parent__Line_2
+#define AKN_LAYOUT_WINDOW_popup_menu_graphic_window AknLayout::popup_menu_graphic_window
+#define AKN_LAYOUT_WINDOW_popup_menu_graphic_heading_window AknLayout::popup_menu_graphic_heading_window
+#define AKN_LAYOUT_WINDOW_popup_menu_double_window AknLayout::popup_menu_double_window
+#define AKN_LAYOUT_WINDOW_popup_menu_double_large_graphic_window AknLayout::popup_menu_double_large_graphic_window
+#define AKN_LAYOUT_WINDOW_popup_note_window AknLayout::popup_note_window
+#define AKN_LAYOUT_WINDOW_popup_note_wait_window AknLayout::popup_note_wait_window
+#define AKN_LAYOUT_WINDOW_popup_note_image_window AknLayout::popup_note_image_window()
+#define AKN_LAYOUT_WINDOW_popup_query_data_window AknLayout::popup_query_data_window
+#define AKN_LAYOUT_WINDOW_popup_query_code_window AknLayout::popup_query_code_window
+#define AKN_LAYOUT_WINDOW_popup_query_time_window AknLayout::popup_query_time_window
+#define AKN_LAYOUT_WINDOW_popup_query_date_window AknLayout::popup_query_date_window
+#define AKN_LAYOUT_WINDOW_popup_query_data_code_window AknLayout::popup_query_data_code_window
+#define AKN_LAYOUT_WINDOW_popup_find_window AknLayout::popup_find_window()
+#define AKN_LAYOUT_WINDOW_popup_snote_single_text_window AknLayout::popup_snote_single_text_window
+#define AKN_LAYOUT_WINDOW_popup_snote_single_graphic_window AknLayout::popup_snote_single_graphic_window
+#define AKN_LAYOUT_WINDOW_popup_snote_group_window AknLayout::popup_snote_group_window
+#define AKN_LAYOUT_WINDOW_popup_grid_graphic_window AknLayout::popup_grid_graphic_window
+#define AKN_LAYOUT_WINDOW_popup_menu_double2_window AknLayout::popup_menu_double2_window
+#define AKN_LAYOUT_WINDOW_popup_grid_large_graphic_colour_window AknLayout::popup_grid_large_graphic_colour_window()
+#define AKN_LAYOUT_WINDOW_popup_fast_swap_window AknLayout::popup_fast_swap_window
+#define AKN_LAYOUT_WINDOW_list_single_popup_menu_pane AknLayout::list_single_popup_menu_pane
+#define AKN_LAYOUT_WINDOW_list_single_heading_popup_menu_pane AknLayout::list_single_heading_popup_menu_pane
+#define AKN_LAYOUT_WINDOW_list_single_graphic_popup_menu_pane AknLayout::list_single_graphic_popup_menu_pane
+#define AKN_LAYOUT_WINDOW_list_single_graphic_heading_popup_menu_pane AknLayout::list_single_graphic_heading_popup_menu_pane
+#define AKN_LAYOUT_WINDOW_list_menu_double_popup_menu_pane AknLayout::list_menu_double_popup_menu_pane
+#define AKN_LAYOUT_WINDOW_list_single_popup_submenu_pane AknLayout::list_single_popup_submenu_pane
+#define AKN_LAYOUT_WINDOW_list_double_large_graphic_popup_menu_pane AknLayout::list_double_large_graphic_popup_menu_pane
+#define AKN_LAYOUT_WINDOW_Pop_up_window_list_pane_descendants_Line_8 AknLayout::Pop_up_window_list_pane_descendants_Line_8()
+#define AKN_LAYOUT_WINDOW_list_double2_popup_menu_pane AknLayout::list_double2_popup_menu_pane
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single__Line_1 AknLayout::List_pane_elements__menu_single__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single__Line_2 AknLayout::List_pane_elements__menu_single__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single__Line_3 AknLayout::List_pane_elements__menu_single__Line_3
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__menu_single__SUB_TABLE_0_Limits AknLayout::List_pane_elements__menu_single__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__menu_single__SUB_TABLE_0 AknLayout::List_pane_elements__menu_single__SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__menu_single__Line_1 AknLayout::List_pane_texts__menu_single__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_text__submenu_single__Line_1 AknLayout::List_pane_text__submenu_single__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_graphic__Line_1 AknLayout::List_pane_elements__menu_single_graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_graphic__Line_2 AknLayout::List_pane_elements__menu_single_graphic__Line_2
+#define AKN_LAYOUT_TEXT_List_pane_texts__menu_single_graphic__Line_1 AknLayout::List_pane_texts__menu_single_graphic__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_heading__Line_1 AknLayout::List_pane_elements__menu_single_heading__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_heading__Line_2 AknLayout::List_pane_elements__menu_single_heading__Line_2
+#define AKN_LAYOUT_TEXT_List_pane_texts__menu_single_heading__Line_1 AknLayout::List_pane_texts__menu_single_heading__Line_1()
+#define AKN_LAYOUT_TEXT_List_pane_texts__menu_single_heading__Line_2 AknLayout::List_pane_texts__menu_single_heading__Line_2
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_graphic_heading__Line_1 AknLayout::List_pane_elements__menu_single_graphic_heading__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_graphic_heading__Line_2 AknLayout::List_pane_elements__menu_single_graphic_heading__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_single_graphic_heading__Line_3 AknLayout::List_pane_elements__menu_single_graphic_heading__Line_3
+#define AKN_LAYOUT_TEXT_List_pane_texts__menu_single_graphic_heading__Line_1 AknLayout::List_pane_texts__menu_single_graphic_heading__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__menu_single_graphic_heading__Line_2 AknLayout::List_pane_texts__menu_single_graphic_heading__Line_2
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__menu_single_graphic_heading__Limits AknLayout::List_pane_texts__menu_single_graphic_heading__Limits()
+#define AKN_LAYOUT_TABLE_List_pane_texts__menu_single_graphic_heading_ AknLayout::List_pane_texts__menu_single_graphic_heading_
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_double__Line_1 AknLayout::List_pane_elements__menu_double__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__menu_double__Line_1 AknLayout::List_pane_texts__menu_double__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__menu_double__Line_2 AknLayout::List_pane_texts__menu_double__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_double2__Line_1 AknLayout::List_pane_elements__menu_double2__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__menu_double2__Line_1 AknLayout::List_pane_texts__menu_double2__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__menu_double2__Line_2 AknLayout::List_pane_texts__menu_double2__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_double_large_graphic__Line_1 AknLayout::List_pane_elements__menu_double_large_graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__menu_double_large_graphic__Line_2 AknLayout::List_pane_elements__menu_double_large_graphic__Line_2
+#define AKN_LAYOUT_TEXT_List_pane_texts__menu_double_large_graphic__Line_1 AknLayout::List_pane_texts__menu_double_large_graphic__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__menu_double_large_graphic__Line_2 AknLayout::List_pane_texts__menu_double_large_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_Highlight_graphics__various__Line_1 AknLayout::Highlight_graphics__various__Line_1
+#define AKN_LAYOUT_WINDOW_Highlight_graphics__various__Line_2 AknLayout::Highlight_graphics__various__Line_2
+#define AKN_LAYOUT_TABLE_LIMITS_Highlight_graphics__various__Limits AknLayout::Highlight_graphics__various__Limits()
+#define AKN_LAYOUT_TABLE_Highlight_graphics__various_ AknLayout::Highlight_graphics__various_
+#define AKN_LAYOUT_WINDOW_cell_graphic_popup_pane AknLayout::cell_graphic_popup_pane
+#define AKN_LAYOUT_WINDOW_Cell_pane_elements__pop_up_graphic__Line_1 AknLayout::Cell_pane_elements__pop_up_graphic__Line_1()
+#define AKN_LAYOUT_TEXT_Cell_pane_texts__pop_up_graphic__Line_1 AknLayout::Cell_pane_texts__pop_up_graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_cell_large_graphic_colour_popup_pane AknLayout::cell_large_graphic_colour_popup_pane
+#define AKN_LAYOUT_WINDOW_colour AknLayout::colour
+#define AKN_LAYOUT_WINDOW_Pop_up_window_cell_pane__large_graphic_colour_none__Line_1 AknLayout::Pop_up_window_cell_pane__large_graphic_colour_none__Line_1()
+#define AKN_LAYOUT_TEXT_Cell_pane_texts__pop_up_large_graphic_colour_none__Line_1 AknLayout::Cell_pane_texts__pop_up_large_graphic_colour_none__Line_1()
+#define AKN_LAYOUT_WINDOW_Highlight_elements__grid_pop_up__Line_1 AknLayout::Highlight_elements__grid_pop_up__Line_1
+#define AKN_LAYOUT_WINDOW_Highlight_elements__grid_pop_up__Line_2 AknLayout::Highlight_elements__grid_pop_up__Line_2
+#define AKN_LAYOUT_TABLE_LIMITS_Highlight_elements__grid_pop_up__Limits AknLayout::Highlight_elements__grid_pop_up__Limits()
+#define AKN_LAYOUT_TABLE_Highlight_elements__grid_pop_up_ AknLayout::Highlight_elements__grid_pop_up_
+#define AKN_LAYOUT_WINDOW_List_heading_pane_elements_Line_1 AknLayout::List_heading_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_List_heading_pane_elements_Line_2 AknLayout::List_heading_pane_elements_Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_List_heading_pane_elements_Limits AknLayout::List_heading_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_List_heading_pane_elements AknLayout::List_heading_pane_elements
+#define AKN_LAYOUT_TEXT_List_heading_pane_texts_Line_1 AknLayout::List_heading_pane_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_1 AknLayout::Pop_up_menu_with_heading_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_2 AknLayout::Pop_up_menu_with_heading_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_3 AknLayout::Pop_up_menu_with_heading_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_4 AknLayout::Pop_up_menu_with_heading_window_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_5 AknLayout::Pop_up_menu_with_heading_window_graphics_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Pop_up_menu_with_heading_window_graphics_Limits AknLayout::Pop_up_menu_with_heading_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Pop_up_menu_with_heading_window_graphics AknLayout::Pop_up_menu_with_heading_window_graphics
+#define AKN_LAYOUT_WINDOW_list_menu_pane AknLayout::list_menu_pane
+#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants_Line_2 AknLayout::Menu_pop_up_window_descendants_Line_2()
+#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_1 AknLayout::Menu_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_2 AknLayout::Menu_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_3 AknLayout::Menu_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_4 AknLayout::Menu_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_5 AknLayout::Menu_pop_up_window_graphics_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Menu_pop_up_window_graphics_Limits AknLayout::Menu_pop_up_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Menu_pop_up_window_graphics AknLayout::Menu_pop_up_window_graphics
+#define AKN_LAYOUT_WINDOW_list_submenu_pane AknLayout::list_submenu_pane
+#define AKN_LAYOUT_WINDOW_Submenu_pop_up_window_graphics_Line_1 AknLayout::Submenu_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Submenu_pop_up_window_graphics_Line_2 AknLayout::Submenu_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Submenu_pop_up_window_graphics_Line_3 AknLayout::Submenu_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Submenu_pop_up_window_graphics_Line_4 AknLayout::Submenu_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_TABLE_LIMITS_Submenu_pop_up_window_graphics_Limits AknLayout::Submenu_pop_up_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Submenu_pop_up_window_graphics AknLayout::Submenu_pop_up_window_graphics
+#define AKN_LAYOUT_WINDOW_Submenu_pop_up_window_positioning_Line_1 AknLayout::Submenu_pop_up_window_positioning_Line_1
+#define AKN_LAYOUT_WINDOW_Submenu_pop_up_window_positioning_Line_2 AknLayout::Submenu_pop_up_window_positioning_Line_2
+#define AKN_LAYOUT_TABLE_LIMITS_Submenu_pop_up_window_positioning_Limits AknLayout::Submenu_pop_up_window_positioning_Limits()
+#define AKN_LAYOUT_TABLE_Submenu_pop_up_window_positioning AknLayout::Submenu_pop_up_window_positioning
+#define AKN_LAYOUT_WINDOW_list_menu_graphic_pane AknLayout::list_menu_graphic_pane
+#define AKN_LAYOUT_WINDOW_list_menu_heading_pane AknLayout::list_menu_heading_pane
+#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants__single_heading__Line_2 AknLayout::Menu_pop_up_window_descendants__single_heading__Line_2()
+#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants__single_heading__Line_3 AknLayout::Menu_pop_up_window_descendants__single_heading__Line_3
+#define AKN_LAYOUT_WINDOW_list_menu_graphic_heading_pane AknLayout::list_menu_graphic_heading_pane
+#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants_and_elements__single_graphic_heading__Line_2 AknLayout::Menu_pop_up_window_descendants_and_elements__single_graphic_heading__Line_2()
+#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants_and_elements__single_graphic_heading__Line_3 AknLayout::Menu_pop_up_window_descendants_and_elements__single_graphic_heading__Line_3
+#define AKN_LAYOUT_WINDOW_list_menu_double_pane_list_menu_double2_pane AknLayout::list_menu_double_pane_list_menu_double2_pane
+#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants__double_double2__Line_2 AknLayout::Menu_pop_up_window_descendants__double_double2__Line_2()
+#define AKN_LAYOUT_WINDOW_list_menu_double_large_graphic_pane AknLayout::list_menu_double_large_graphic_pane
+#define AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants__double__Line_2 AknLayout::Menu_pop_up_window_descendants__double__Line_2()
+#define AKN_LAYOUT_WINDOW_Note_pop_up_window_elements_Line_1 AknLayout::Note_pop_up_window_elements_Line_1()
+#define AKN_LAYOUT_TEXT_Note_pop_up_window_texts_Line_1 AknLayout::Note_pop_up_window_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Note_pop_up_window_texts_Line_1 AknLayout::Multiline_Note_pop_up_window_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Note_pop_up_window_graphics_Line_1 AknLayout::Note_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Note_pop_up_window_graphics_Line_2 AknLayout::Note_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Note_pop_up_window_graphics_Line_3 AknLayout::Note_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Note_pop_up_window_graphics_Line_4 AknLayout::Note_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_Note_pop_up_window_graphics_Line_5 AknLayout::Note_pop_up_window_graphics_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Note_pop_up_window_graphics_Limits AknLayout::Note_pop_up_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Note_pop_up_window_graphics AknLayout::Note_pop_up_window_graphics
+#define AKN_LAYOUT_WINDOW_Wait_or_progress_note_pop_up_window_elements_Line_1 AknLayout::Wait_or_progress_note_pop_up_window_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Wait_or_progress_note_pop_up_window_elements_Line_2 AknLayout::Wait_or_progress_note_pop_up_window_elements_Line_2
+#define AKN_LAYOUT_WINDOW_Wait_or_progress_note_pop_up_window_elements_Line_3 AknLayout::Wait_or_progress_note_pop_up_window_elements_Line_3()
+#define AKN_LAYOUT_WINDOW_Wait_or_progress_note_pop_up_window_elements_Line_4 AknLayout::Wait_or_progress_note_pop_up_window_elements_Line_4()
+#define AKN_LAYOUT_TABLE_LIMITS_First_general_event_elements_Limits AknLayout::First_general_event_elements_Limits()
+#define AKN_LAYOUT_TABLE_First_general_event_elements AknLayout::First_general_event_elements
+#define AKN_LAYOUT_TEXT_Wait_or_progress_note_pop_up_window_texts_Line_1 AknLayout::Wait_or_progress_note_pop_up_window_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Wait_or_progress_note_pop_up_window_texts_Line_1 AknLayout::Multiline_Wait_or_progress_note_pop_up_window_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_1 AknLayout::Note_with_an_image_pop_up_window_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_2 AknLayout::Note_with_an_image_pop_up_window_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_3 AknLayout::Note_with_an_image_pop_up_window_elements_Line_3()
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_4 AknLayout::Note_with_an_image_pop_up_window_elements_Line_4()
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_5 AknLayout::Note_with_an_image_pop_up_window_elements_Line_5()
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_6 AknLayout::Note_with_an_image_pop_up_window_elements_Line_6()
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_7 AknLayout::Note_with_an_image_pop_up_window_elements_Line_7()
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_8 AknLayout::Note_with_an_image_pop_up_window_elements_Line_8()
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_9 AknLayout::Note_with_an_image_pop_up_window_elements_Line_9()
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_10 AknLayout::Note_with_an_image_pop_up_window_elements_Line_10()
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_11 AknLayout::Note_with_an_image_pop_up_window_elements_Line_11()
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_12 AknLayout::Note_with_an_image_pop_up_window_elements_Line_12()
+#define AKN_LAYOUT_WINDOW_Note_with_an_image_pop_up_window_elements_Line_13 AknLayout::Note_with_an_image_pop_up_window_elements_Line_13()
+#define AKN_LAYOUT_TABLE_LIMITS_Note_with_an_image_pop_up_window_elements_Limits AknLayout::Note_with_an_image_pop_up_window_elements_Limits()
+#define AKN_LAYOUT_TABLE_Note_with_an_image_pop_up_window_elements AknLayout::Note_with_an_image_pop_up_window_elements
+#define AKN_LAYOUT_TEXT_Note_with_an_image_pop_up_window_texts_Line_1 AknLayout::Note_with_an_image_pop_up_window_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Note_with_an_image_pop_up_window_texts_Line_1 AknLayout::Multiline_Note_with_an_image_pop_up_window_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Query_with_heading_window_graphics_Line_1 AknLayout::Query_with_heading_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Query_with_heading_window_graphics_Line_2 AknLayout::Query_with_heading_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Query_with_heading_window_graphics_Line_3 AknLayout::Query_with_heading_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Query_with_heading_window_graphics_Line_4 AknLayout::Query_with_heading_window_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_Query_with_heading_window_graphics_Line_5 AknLayout::Query_with_heading_window_graphics_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Query_with_heading_window_graphics_Limits AknLayout::Query_with_heading_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Query_with_heading_window_graphics AknLayout::Query_with_heading_window_graphics
+#define AKN_LAYOUT_WINDOW_popup_list_heading_pane AknLayout::popup_list_heading_pane
+#define AKN_LAYOUT_WINDOW_Heading_pane_elements_Line_1 AknLayout::Heading_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Icon AknLayout::Icon
+#define AKN_LAYOUT_TEXT_Heading_pane_texts_Line_1 AknLayout::Heading_pane_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_elements_Line_1 AknLayout::Data_query_pop_up_window_elements_Line_1
+#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_elements_Line_2 AknLayout::Data_query_pop_up_window_elements_Line_2
+#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_elements_Line_3 AknLayout::Data_query_pop_up_window_elements_Line_3
+#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_elements_Line_4 AknLayout::Data_query_pop_up_window_elements_Line_4
+#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_elements_Line_5 AknLayout::Data_query_pop_up_window_elements_Line_5()
+#define AKN_LAYOUT_TEXT_Data_query_pop_up_window_texts_Line_1 AknLayout::Data_query_pop_up_window_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Data_query_pop_up_window_texts_Line_1 AknLayout::Multiline_Data_query_pop_up_window_texts_Line_1
+#define AKN_LAYOUT_TEXT_Data_query_pop_up_window_texts_Line_2 AknLayout::Data_query_pop_up_window_texts_Line_2
+#define AKN_LAYOUT_MULTILINE_TEXT_Data_query_pop_up_window_texts_Line_2 AknLayout::Multiline_Data_query_pop_up_window_texts_Line_2
+#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_graphics_Line_1 AknLayout::Data_query_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_graphics_Line_2 AknLayout::Data_query_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_graphics_Line_3 AknLayout::Data_query_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_graphics_Line_4 AknLayout::Data_query_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_Data_query_pop_up_window_graphics_Line_5 AknLayout::Data_query_pop_up_window_graphics_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Data_query_pop_up_window_graphics_Limits AknLayout::Data_query_pop_up_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Data_query_pop_up_window_graphics AknLayout::Data_query_pop_up_window_graphics
+#define AKN_LAYOUT_WINDOW_Code_query_pop_up_window_elements_Line_1 AknLayout::Code_query_pop_up_window_elements_Line_1
+#define AKN_LAYOUT_WINDOW_Code_query_pop_up_window_elements_Line_2 AknLayout::Code_query_pop_up_window_elements_Line_2
+#define AKN_LAYOUT_WINDOW_Code_query_pop_up_window_elements_Line_3 AknLayout::Code_query_pop_up_window_elements_Line_3
+#define AKN_LAYOUT_WINDOW_Code_query_pop_up_window_elements_Line_4 AknLayout::Code_query_pop_up_window_elements_Line_4
+#define AKN_LAYOUT_TABLE_LIMITS_Code_query_pop_up_window_elements_Limits AknLayout::Code_query_pop_up_window_elements_Limits()
+#define AKN_LAYOUT_TABLE_Code_query_pop_up_window_elements AknLayout::Code_query_pop_up_window_elements
+#define AKN_LAYOUT_TEXT_Code_query_pop_up_window_texts_Line_1 AknLayout::Code_query_pop_up_window_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Code_query_pop_up_window_texts_Line_1 AknLayout::Multiline_Code_query_pop_up_window_texts_Line_1
+#define AKN_LAYOUT_TEXT_Code_query_pop_up_window_texts_Line_2 AknLayout::Code_query_pop_up_window_texts_Line_2
+#define AKN_LAYOUT_MULTILINE_TEXT_Code_query_pop_up_window_texts_Line_2 AknLayout::Multiline_Code_query_pop_up_window_texts_Line_2
+#define AKN_LAYOUT_TABLE_LIMITS_Code_query_pop_up_window_texts_Limits AknLayout::Code_query_pop_up_window_texts_Limits()
+#define AKN_LAYOUT_TABLE_Code_query_pop_up_window_texts AknLayout::Code_query_pop_up_window_texts
+#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_elements_Line_1 AknLayout::Combined_data_and_code_query_pop_up_window_elements_Line_1
+#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_elements_Line_2 AknLayout::Combined_data_and_code_query_pop_up_window_elements_Line_2
+#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_elements_Line_3 AknLayout::Combined_data_and_code_query_pop_up_window_elements_Line_3
+#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_elements_Line_4 AknLayout::Combined_data_and_code_query_pop_up_window_elements_Line_4
+#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_elements_Line_5 AknLayout::Combined_data_and_code_query_pop_up_window_elements_Line_5
+#define AKN_LAYOUT_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_1 AknLayout::Combined_data_and_code_query_pop_up_window_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_1 AknLayout::Multiline_Combined_data_and_code_query_pop_up_window_texts_Line_1
+#define AKN_LAYOUT_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_2 AknLayout::Combined_data_and_code_query_pop_up_window_texts_Line_2
+#define AKN_LAYOUT_MULTILINE_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_2 AknLayout::Multiline_Combined_data_and_code_query_pop_up_window_texts_Line_2
+#define AKN_LAYOUT_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_3 AknLayout::Combined_data_and_code_query_pop_up_window_texts_Line_3
+#define AKN_LAYOUT_MULTILINE_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_3 AknLayout::Multiline_Combined_data_and_code_query_pop_up_window_texts_Line_3
+#define AKN_LAYOUT_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_4 AknLayout::Combined_data_and_code_query_pop_up_window_texts_Line_4
+#define AKN_LAYOUT_MULTILINE_TEXT_Combined_data_and_code_query_pop_up_window_texts_Line_4 AknLayout::Multiline_Combined_data_and_code_query_pop_up_window_texts_Line_4
+#define AKN_LAYOUT_TABLE_LIMITS_Combined_data_and_code_query_pop_up_window_texts_Limits AknLayout::Combined_data_and_code_query_pop_up_window_texts_Limits()
+#define AKN_LAYOUT_TABLE_Combined_data_and_code_query_pop_up_window_texts AknLayout::Combined_data_and_code_query_pop_up_window_texts
+#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_graphics_Line_1 AknLayout::Combined_data_and_code_query_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_graphics_Line_2 AknLayout::Combined_data_and_code_query_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_graphics_Line_3 AknLayout::Combined_data_and_code_query_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_graphics_Line_4 AknLayout::Combined_data_and_code_query_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_Combined_data_and_code_query_pop_up_window_graphics_Line_5 AknLayout::Combined_data_and_code_query_pop_up_window_graphics_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Combined_data_and_code_query_pop_up_window_graphics_SUB_TABLE_0_Limits AknLayout::Combined_data_and_code_query_pop_up_window_graphics_SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_Combined_data_and_code_query_pop_up_window_graphics_SUB_TABLE_0 AknLayout::Combined_data_and_code_query_pop_up_window_graphics_SUB_TABLE_0
+#define AKN_LAYOUT_WINDOW_Find_pop_up_window_elements_Line_1 AknLayout::Find_pop_up_window_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Find_pop_up_window_elements_Line_2 AknLayout::Find_pop_up_window_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Find_pop_up_window_elements_Line_3 AknLayout::Find_pop_up_window_elements_Line_3()
+#define AKN_LAYOUT_WINDOW_Find_pop_up_window_elements_Line_4 AknLayout::Find_pop_up_window_elements_Line_4()
+#define AKN_LAYOUT_TABLE_LIMITS_Find_pop_up_window_elements_Limits AknLayout::Find_pop_up_window_elements_Limits()
+#define AKN_LAYOUT_TABLE_Find_pop_up_window_elements AknLayout::Find_pop_up_window_elements
+#define AKN_LAYOUT_TEXT_Find_pop_up_window_texts_Line_1 AknLayout::Find_pop_up_window_texts_Line_1()
+#define AKN_LAYOUT_WINDOW_Find_pop_up_window_graphics_Line_1 AknLayout::Find_pop_up_window_graphics_Line_1()
+#define AKN_LAYOUT_WINDOW_Find_pop_up_window_graphics_Line_2 AknLayout::Find_pop_up_window_graphics_Line_2()
+#define AKN_LAYOUT_WINDOW_Find_pop_up_window_graphics_Line_3 AknLayout::Find_pop_up_window_graphics_Line_3()
+#define AKN_LAYOUT_WINDOW_Find_pop_up_window_graphics_Line_4 AknLayout::Find_pop_up_window_graphics_Line_4()
+#define AKN_LAYOUT_WINDOW_Find_pop_up_window_graphics_Line_5 AknLayout::Find_pop_up_window_graphics_Line_5()
+#define AKN_LAYOUT_TABLE_LIMITS_Find_pop_up_window_graphics_Limits AknLayout::Find_pop_up_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Find_pop_up_window_graphics AknLayout::Find_pop_up_window_graphics
+#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_find_pane_graphics_Line_1 AknLayout::Pop_up_menu_with_find_pane_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_find_pane_graphics_Line_2 AknLayout::Pop_up_menu_with_find_pane_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_find_pane_graphics_Line_3 AknLayout::Pop_up_menu_with_find_pane_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_find_pane_graphics_Line_4 AknLayout::Pop_up_menu_with_find_pane_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_Pop_up_menu_with_find_pane_graphics_Line_5 AknLayout::Pop_up_menu_with_find_pane_graphics_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Pop_up_menu_with_find_pane_graphics_Limits AknLayout::Pop_up_menu_with_find_pane_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Pop_up_menu_with_find_pane_graphics AknLayout::Pop_up_menu_with_find_pane_graphics
+#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_elements__text__Line_1 AknLayout::Notification_pop_up_window_elements__text__Line_1()
+#define AKN_LAYOUT_TEXT_Notification_pop_up_window_texts__text__Line_1 AknLayout::Notification_pop_up_window_texts__text__Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Notification_pop_up_window_texts__text__Line_1 AknLayout::Multiline_Notification_pop_up_window_texts__text__Line_1
+#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_graphics__text__Line_1 AknLayout::Notification_pop_up_window_graphics__text__Line_1
+#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_graphics__text__Line_2 AknLayout::Notification_pop_up_window_graphics__text__Line_2
+#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_graphics__text__Line_3 AknLayout::Notification_pop_up_window_graphics__text__Line_3
+#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_graphics__text__Line_4 AknLayout::Notification_pop_up_window_graphics__text__Line_4
+#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_graphics__text__Line_5 AknLayout::Notification_pop_up_window_graphics__text__Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Notification_pop_up_window_graphics__text__Limits AknLayout::Notification_pop_up_window_graphics__text__Limits()
+#define AKN_LAYOUT_TABLE_Notification_pop_up_window_graphics__text_ AknLayout::Notification_pop_up_window_graphics__text_
+#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_elements__graphic__Line_1 AknLayout::Notification_pop_up_window_elements__graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_Notification_pop_up_window_elements__graphic__Line_2 AknLayout::Notification_pop_up_window_elements__graphic__Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Notification_pop_up_window_elements__graphic__Limits AknLayout::Notification_pop_up_window_elements__graphic__Limits()
+#define AKN_LAYOUT_TABLE_Notification_pop_up_window_elements__graphic_ AknLayout::Notification_pop_up_window_elements__graphic_
+#define AKN_LAYOUT_TEXT_Notification_pop_up_window_texts__graphic__Line_1 AknLayout::Notification_pop_up_window_texts__graphic__Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Notification_pop_up_window_texts__graphic__Line_1 AknLayout::Multiline_Notification_pop_up_window_texts__graphic__Line_1
+#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_descendants_Line_1 AknLayout::Identifier_icon_selection_pop_up_window_descendants_Line_1
+#define AKN_LAYOUT_WINDOW_grid_graphic_popup_pane AknLayout::grid_graphic_popup_pane
+#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_elements_Line_1 AknLayout::Identifier_icon_selection_pop_up_window_elements_Line_1
+#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_elements_Line_2 AknLayout::Identifier_icon_selection_pop_up_window_elements_Line_2
+#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_graphics_Line_1 AknLayout::Identifier_icon_selection_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_graphics_Line_2 AknLayout::Identifier_icon_selection_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_graphics_Line_3 AknLayout::Identifier_icon_selection_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_graphics_Line_4 AknLayout::Identifier_icon_selection_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_Identifier_icon_selection_pop_up_window_graphics_Line_5 AknLayout::Identifier_icon_selection_pop_up_window_graphics_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Identifier_icon_selection_pop_up_window_graphics_SUB_TABLE_0_Limits AknLayout::Identifier_icon_selection_pop_up_window_graphics_SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_Identifier_icon_selection_pop_up_window_graphics_SUB_TABLE_0 AknLayout::Identifier_icon_selection_pop_up_window_graphics_SUB_TABLE_0
+#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_descendants_Line_1 AknLayout::Colour_selection_pop_up_window_descendants_Line_1()
+#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_descendants_Line_2 AknLayout::Colour_selection_pop_up_window_descendants_Line_2()
+#define AKN_LAYOUT_WINDOW_grid_large_graphic_colour_popup_pane AknLayout::grid_large_graphic_colour_popup_pane
+#define AKN_LAYOUT_WINDOW_Composer_symbol_selection_pop_up_window_elements_Line_1 AknLayout::Composer_symbol_selection_pop_up_window_elements_Line_1
+#define AKN_LAYOUT_WINDOW_Composer_symbol_selection_pop_up_window_elements_Line_2 AknLayout::Composer_symbol_selection_pop_up_window_elements_Line_2
+#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_graphics_Line_1 AknLayout::Colour_selection_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_graphics_Line_2 AknLayout::Colour_selection_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_graphics_Line_3 AknLayout::Colour_selection_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_graphics_Line_4 AknLayout::Colour_selection_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_Colour_selection_pop_up_window_graphics_Line_5 AknLayout::Colour_selection_pop_up_window_graphics_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Colour_selection_pop_up_window_graphics_Limits AknLayout::Colour_selection_pop_up_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Colour_selection_pop_up_window_graphics AknLayout::Colour_selection_pop_up_window_graphics
+#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_descendants_Line_1 AknLayout::Fast_application_swapping_pop_up_window_descendants_Line_1
+#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_graphics_Line_1 AknLayout::Fast_application_swapping_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_graphics_Line_2 AknLayout::Fast_application_swapping_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_graphics_Line_3 AknLayout::Fast_application_swapping_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_graphics_Line_4 AknLayout::Fast_application_swapping_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_graphics_Line_5 AknLayout::Fast_application_swapping_pop_up_window_graphics_Line_5
+#define AKN_LAYOUT_WINDOW_Fast_application_swapping_pop_up_window_graphics_Line_6 AknLayout::Fast_application_swapping_pop_up_window_graphics_Line_6()
+#define AKN_LAYOUT_TABLE_LIMITS_Fast_application_swapping_pop_up_window_graphics_SUB_TABLE_0_Limits AknLayout::Fast_application_swapping_pop_up_window_graphics_SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_Fast_application_swapping_pop_up_window_graphics_SUB_TABLE_0 AknLayout::Fast_application_swapping_pop_up_window_graphics_SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__setting__double2__Line_1 AknLayout::List_pane_texts__setting__double2__Line_1()
+#define AKN_LAYOUT_TEXT_List_pane_texts__setting__double2__Line_2 AknLayout::List_pane_texts__setting__double2__Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_texts__setting__double2__Limits AknLayout::List_pane_texts__setting__double2__Limits()
+#define AKN_LAYOUT_TABLE_List_pane_texts__setting__double2_ AknLayout::List_pane_texts__setting__double2_
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_2graphic__Line_1 AknLayout::List_pane_elements__single_2graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_2graphic__Line_2 AknLayout::List_pane_elements__single_2graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_2graphic__Line_3 AknLayout::List_pane_elements__single_2graphic__Line_3()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__single_2graphic__Line_4 AknLayout::List_pane_elements__single_2graphic__Line_4
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__single_2graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__single_2graphic__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__single_2graphic__SUB_TABLE_0 AknLayout::List_pane_elements__single_2graphic__SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__single_2graphic__Line_1 AknLayout::List_pane_texts__single_2graphic__Line_1
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic_large_graphic__Line_1 AknLayout::List_pane_elements__double2_graphic_large_graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic_large_graphic__Line_2 AknLayout::List_pane_elements__double2_graphic_large_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic_large_graphic__Line_3 AknLayout::List_pane_elements__double2_graphic_large_graphic__Line_3()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__double2_graphic_large_graphic__Line_4 AknLayout::List_pane_elements__double2_graphic_large_graphic__Line_4
+#define AKN_LAYOUT_TABLE_LIMITS_List_pane_elements__double2_graphic_large_graphic__SUB_TABLE_0_Limits AknLayout::List_pane_elements__double2_graphic_large_graphic__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_List_pane_elements__double2_graphic_large_graphic__SUB_TABLE_0 AknLayout::List_pane_elements__double2_graphic_large_graphic__SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_List_pane_texts__double2_graphic_large_graphic__Line_1 AknLayout::List_pane_texts__double2_graphic_large_graphic__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__double2_graphic_large_graphic__Line_2 AknLayout::List_pane_texts__double2_graphic_large_graphic__Line_2()
+#define AKN_LAYOUT_TEXT_Form_data_wide_graphic_field_texts_Line_1 AknLayout::Form_data_wide_graphic_field_texts_Line_1()
+#define AKN_LAYOUT_TEXT_Form_data_wide_graphic_field_texts_Line_2 AknLayout::Form_data_wide_graphic_field_texts_Line_2
+#define AKN_LAYOUT_MULTILINE_TEXT_Form_data_wide_graphic_field_texts_Line_2 AknLayout::Multiline_Form_data_wide_graphic_field_texts_Line_2
+#define AKN_LAYOUT_WINDOW_status_small_pane AknLayout::status_small_pane()
+#define AKN_LAYOUT_WINDOW_Small_status_pane_descendants_and_elements_Line_1 AknLayout::Small_status_pane_descendants_and_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_status_small_icon_pane AknLayout::status_small_icon_pane()
+#define AKN_LAYOUT_WINDOW_status_small_wait_pane AknLayout::status_small_wait_pane()
+#define AKN_LAYOUT_WINDOW_Small_status_pane_descendants_and_elements_Line_4 AknLayout::Small_status_pane_descendants_and_elements_Line_4()
+#define AKN_LAYOUT_WINDOW_Small_status_pane_descendants_and_elements_Line_5 AknLayout::Small_status_pane_descendants_and_elements_Line_5()
+#define AKN_LAYOUT_WINDOW_Small_status_pane_descendants_and_elements_Line_6 AknLayout::Small_status_pane_descendants_and_elements_Line_6()
+#define AKN_LAYOUT_TABLE_LIMITS_Small_status_pane_descendants_and_elements_Limits AknLayout::Small_status_pane_descendants_and_elements_Limits()
+#define AKN_LAYOUT_TABLE_Small_status_pane_descendants_and_elements AknLayout::Small_status_pane_descendants_and_elements
+#define AKN_LAYOUT_TEXT_Small_status_pane_texts_Line_1 AknLayout::Small_status_pane_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Small_status_waiting_pane_components_Line_1 AknLayout::Small_status_waiting_pane_components_Line_1()
+#define AKN_LAYOUT_WINDOW_Small_status_waiting_pane_components_Line_2 AknLayout::Small_status_waiting_pane_components_Line_2()
+#define AKN_LAYOUT_WINDOW_Small_status_waiting_pane_components_Line_3 AknLayout::Small_status_waiting_pane_components_Line_3()
+#define AKN_LAYOUT_WINDOW_Small_status_waiting_pane_components_Line_4 AknLayout::Small_status_waiting_pane_components_Line_4()
+#define AKN_LAYOUT_TABLE_LIMITS_Small_status_waiting_pane_components_Limits AknLayout::Small_status_waiting_pane_components_Limits()
+#define AKN_LAYOUT_TABLE_Small_status_waiting_pane_components AknLayout::Small_status_waiting_pane_components
+#define AKN_LAYOUT_WINDOW_Note_with_additional_information_popup_window_elements_Line_1 AknLayout::Note_with_additional_information_popup_window_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Note_with_additional_information_popup_window_elements_Line_2 AknLayout::Note_with_additional_information_popup_window_elements_Line_2
+#define AKN_LAYOUT_WINDOW_Note_with_additional_information_popup_window_elements_Line_3 AknLayout::Note_with_additional_information_popup_window_elements_Line_3
+#define AKN_LAYOUT_TEXT_Note_with_additional_information_popup_window_texts_Line_1 AknLayout::Note_with_additional_information_popup_window_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Note_with_additional_information_popup_window_texts_Line_1 AknLayout::Multiline_Note_with_additional_information_popup_window_texts_Line_1
+#define AKN_LAYOUT_TEXT_Note_with_additional_information_popup_window_texts_Line_2 AknLayout::Note_with_additional_information_popup_window_texts_Line_2
+#define AKN_LAYOUT_MULTILINE_TEXT_Note_with_additional_information_popup_window_texts_Line_2 AknLayout::Multiline_Note_with_additional_information_popup_window_texts_Line_2
+#define AKN_LAYOUT_TEXT_Note_with_additional_information_popup_window_texts_Line_3 AknLayout::Note_with_additional_information_popup_window_texts_Line_3
+#define AKN_LAYOUT_MULTILINE_TEXT_Note_with_additional_information_popup_window_texts_Line_3 AknLayout::Multiline_Note_with_additional_information_popup_window_texts_Line_3
+#define AKN_LAYOUT_TEXT_Heading_pane_texts_Line_2 AknLayout::Heading_pane_texts_Line_2()
+#define AKN_LAYOUT_WINDOW_Side_volume_key_popup_window_elements_Line_1 AknLayout::Side_volume_key_popup_window_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Side_volume_key_popup_window_elements_Line_2 AknLayout::Side_volume_key_popup_window_elements_Line_2()
+#define AKN_LAYOUT_TEXT_Side_volume_key_popup_window_texts_Line_1 AknLayout::Side_volume_key_popup_window_texts_Line_1()
+#define AKN_LAYOUT_TEXT_Side_volume_key_popup_window_texts_Line_2 AknLayout::Side_volume_key_popup_window_texts_Line_2()
+#define AKN_LAYOUT_WINDOW_Side_volume_key_popup_window_background_Line_1 AknLayout::Side_volume_key_popup_window_background_Line_1
+#define AKN_LAYOUT_WINDOW_Side_volume_key_popup_window_background_Line_2 AknLayout::Side_volume_key_popup_window_background_Line_2
+#define AKN_LAYOUT_WINDOW_Side_volume_key_popup_window_background_Line_3 AknLayout::Side_volume_key_popup_window_background_Line_3
+#define AKN_LAYOUT_WINDOW_Side_volume_key_popup_window_background_Line_4 AknLayout::Side_volume_key_popup_window_background_Line_4
+#define AKN_LAYOUT_TEXT_Transparent_setting_item_texts_Line_1 AknLayout::Transparent_setting_item_texts_Line_1()
+#define AKN_LAYOUT_TEXT_Transparent_setting_item_texts_Line_2 AknLayout::Transparent_setting_item_texts_Line_2()
+#define AKN_LAYOUT_TEXT_Transparent_setting_item_texts_Line_3 AknLayout::Transparent_setting_item_texts_Line_3
+#define AKN_LAYOUT_TEXT_Transparent_setting_item_texts_Line_4 AknLayout::Transparent_setting_item_texts_Line_4
+#define AKN_LAYOUT_TEXT_List_pane_texts__set_trans_graphic__Line_1 AknLayout::List_pane_texts__set_trans_graphic__Line_1
+#define AKN_LAYOUT_TEXT_List_pane_texts__set_trans_graphic__Line_2 AknLayout::List_pane_texts__set_trans_graphic__Line_2
+#define AKN_LAYOUT_WINDOW_list_set_trans_pane AknLayout::list_set_trans_pane
+#define AKN_LAYOUT_WINDOW_list_set_trans_graphic_pane AknLayout::list_set_trans_graphic_pane
+#define AKN_LAYOUT_WINDOW_List_pane_elements__set_trans_graphic__Line_1 AknLayout::List_pane_elements__set_trans_graphic__Line_1()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__set_trans_graphic__Line_2 AknLayout::List_pane_elements__set_trans_graphic__Line_2()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__set_trans_graphic__Line_3 AknLayout::List_pane_elements__set_trans_graphic__Line_3()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__set_trans_graphic__Line_4 AknLayout::List_pane_elements__set_trans_graphic__Line_4()
+#define AKN_LAYOUT_WINDOW_List_pane_elements__set_trans_graphic__Line_5 AknLayout::List_pane_elements__set_trans_graphic__Line_5()
+#define AKN_LAYOUT_TEXT_Soft_indicator_texts_Line_1 AknLayout::Soft_indicator_texts_Line_1()
+#define AKN_LAYOUT_WINDOW_ai_links_pane AknLayout::ai_links_pane()
+#define AKN_LAYOUT_WINDOW_ai_gene_pane AknLayout::ai_gene_pane
+#define AKN_LAYOUT_WINDOW_Link_pane_elements_and_descendant_panes_Line_1 AknLayout::Link_pane_elements_and_descendant_panes_Line_1()
+#define AKN_LAYOUT_WINDOW_grid_ai_links_pane AknLayout::grid_ai_links_pane()
+#define AKN_LAYOUT_TABLE_LIMITS_Link_pane_elements_and_descendant_panes_Limits AknLayout::Link_pane_elements_and_descendant_panes_Limits()
+#define AKN_LAYOUT_TABLE_Link_pane_elements_and_descendant_panes AknLayout::Link_pane_elements_and_descendant_panes
+#define AKN_LAYOUT_WINDOW_cell_ai_link_pane AknLayout::cell_ai_link_pane
+#define AKN_LAYOUT_WINDOW_Link_shortcut_cell_pane_elements_Line_1 AknLayout::Link_shortcut_cell_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Link_shortcut_cell_pane_elements_Line_2 AknLayout::Link_shortcut_cell_pane_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Link_shortcut_cell_pane_elements_Line_3 AknLayout::Link_shortcut_cell_pane_elements_Line_3()
+#define AKN_LAYOUT_WINDOW_Link_shortcut_cell_pane_elements_Line_4 AknLayout::Link_shortcut_cell_pane_elements_Line_4()
+#define AKN_LAYOUT_TABLE_LIMITS_Link_shortcut_cell_pane_elements_Limits AknLayout::Link_shortcut_cell_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Link_shortcut_cell_pane_elements AknLayout::Link_shortcut_cell_pane_elements
+#define AKN_LAYOUT_WINDOW_popup_ai_links_title_window AknLayout::popup_ai_links_title_window()
+#define AKN_LAYOUT_TEXT_Link_shortcut_title_texts_Line_1 AknLayout::Link_shortcut_title_texts_Line_1()
+#define AKN_LAYOUT_WINDOW_Link_shortcut_title_pop_up_window_graphics_Line_1 AknLayout::Link_shortcut_title_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Link_shortcut_title_pop_up_window_graphics_Line_2 AknLayout::Link_shortcut_title_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Link_shortcut_title_pop_up_window_graphics_Line_3 AknLayout::Link_shortcut_title_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Link_shortcut_title_pop_up_window_graphics_Line_4 AknLayout::Link_shortcut_title_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_TABLE_LIMITS_Link_shortcut_title_pop_up_window_graphics_Limits AknLayout::Link_shortcut_title_pop_up_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Link_shortcut_title_pop_up_window_graphics AknLayout::Link_shortcut_title_pop_up_window_graphics
+#define AKN_LAYOUT_WINDOW_ai_gene_pane_1 AknLayout::ai_gene_pane_1()
+#define AKN_LAYOUT_WINDOW_ai_gene_pane_2 AknLayout::ai_gene_pane_2
+#define AKN_LAYOUT_WINDOW_First_general_event_elements_Line_1 AknLayout::First_general_event_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_First_general_event_elements_Line_2 AknLayout::First_general_event_elements_Line_2()
+#define AKN_LAYOUT_TEXT_First_general_event_texts_Line_1 AknLayout::First_general_event_texts_Line_1
+#define AKN_LAYOUT_TEXT_Second_general_event_pane_texts_Line_1 AknLayout::Second_general_event_pane_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Shortcut_link_highlight_Line_1 AknLayout::Shortcut_link_highlight_Line_1
+#define AKN_LAYOUT_WINDOW_Highlight_for_other_Active_Idle_items_Line_1 AknLayout::Highlight_for_other_Active_Idle_items_Line_1
+#define AKN_LAYOUT_TEXT_Find_pop_up_window_texts_Line_2 AknLayout::Find_pop_up_window_texts_Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Find_pop_up_window_texts_Limits AknLayout::Find_pop_up_window_texts_Limits()
+#define AKN_LAYOUT_TABLE_Find_pop_up_window_texts AknLayout::Find_pop_up_window_texts
+#define AKN_LAYOUT_TEXT_Find_pane_texts_Line_2 AknLayout::Find_pane_texts_Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Find_pane_texts_Limits AknLayout::Find_pane_texts_Limits()
+#define AKN_LAYOUT_TABLE_Find_pane_texts AknLayout::Find_pane_texts
+#define AKN_LAYOUT_WINDOW_ai_gene_pane_3 AknLayout::ai_gene_pane_3()
+#define AKN_LAYOUT_WINDOW_Third_general_event_elements_Line_1 AknLayout::Third_general_event_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Third_general_event_elements_Line_2 AknLayout::Third_general_event_elements_Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Third_general_event_elements_Limits AknLayout::Third_general_event_elements_Limits()
+#define AKN_LAYOUT_TABLE_Third_general_event_elements AknLayout::Third_general_event_elements
+#define AKN_LAYOUT_WINDOW_popup_ai_message_window AknLayout::popup_ai_message_window()
+#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_descendants_Line_1 AknLayout::Active_idle_message_pop_up_window_descendants_Line_1()
+#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_descendants_Line_2 AknLayout::Active_idle_message_pop_up_window_descendants_Line_2()
+#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_descendants_Line_3 AknLayout::Active_idle_message_pop_up_window_descendants_Line_3()
+#define AKN_LAYOUT_TABLE_LIMITS_Active_idle_message_pop_up_window_descendants_Limits AknLayout::Active_idle_message_pop_up_window_descendants_Limits()
+#define AKN_LAYOUT_TABLE_Active_idle_message_pop_up_window_descendants AknLayout::Active_idle_message_pop_up_window_descendants
+#define AKN_LAYOUT_TEXT_Active_idle_message_popup_window_texts_Line_1 AknLayout::Active_idle_message_popup_window_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Active_idle_message_popup_window_texts_Line_1 AknLayout::Multiline_Active_idle_message_popup_window_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Active_idle_heading_pane_elements_Line_1 AknLayout::Active_idle_heading_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Active_idle_heading_pane_elements_Line_2 AknLayout::Active_idle_heading_pane_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Active_idle_heading_pane_elements_Line_3 AknLayout::Active_idle_heading_pane_elements_Line_3()
+#define AKN_LAYOUT_WINDOW_Active_idle_heading_pane_elements_Line_4 AknLayout::Active_idle_heading_pane_elements_Line_4()
+#define AKN_LAYOUT_TABLE_LIMITS_Active_idle_heading_pane_elements_Limits AknLayout::Active_idle_heading_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Active_idle_heading_pane_elements AknLayout::Active_idle_heading_pane_elements
+#define AKN_LAYOUT_TEXT_Active_idle_heading_pane_texts_Line_1 AknLayout::Active_idle_heading_pane_texts_Line_1
+#define AKN_LAYOUT_TEXT_Active_idle_heading_pane_texts_Line_2 AknLayout::Active_idle_heading_pane_texts_Line_2()
+#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_graphics_Line_1 AknLayout::Active_idle_message_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_graphics_Line_2 AknLayout::Active_idle_message_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_graphics_Line_3 AknLayout::Active_idle_message_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_graphics_Line_4 AknLayout::Active_idle_message_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_Active_idle_message_pop_up_window_graphics_Line_5 AknLayout::Active_idle_message_pop_up_window_graphics_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Active_idle_message_pop_up_window_graphics_Limits AknLayout::Active_idle_message_pop_up_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Active_idle_message_pop_up_window_graphics AknLayout::Active_idle_message_pop_up_window_graphics
+#include <aknapaclayout.cdl.h>
+#define AKN_LAYOUT_WINDOW_Find_pane_elements_Line_6 AknApacLayout::Find_pane_elements_Line_6()
+#define AKN_LAYOUT_WINDOW_popup_fep_china_window AknApacLayout::popup_fep_china_window
+#define AKN_LAYOUT_WINDOW_popup_fep_china_pinyin_window AknApacLayout::popup_fep_china_pinyin_window
+#define AKN_LAYOUT_WINDOW_Cursor_graphics__16__Line_1 AknApacLayout::Cursor_graphics__16__Line_1()
+#define AKN_LAYOUT_WINDOW_Cut_copy_and_paste_highlight_graphics__16__Line_1 AknApacLayout::Cut_copy_and_paste_highlight_graphics__16__Line_1()
+#define AKN_LAYOUT_WINDOW_Time_and_date_entry_graphics__16__Line_1 AknApacLayout::Time_and_date_entry_graphics__16__Line_1()
+#define AKN_LAYOUT_WINDOW_cell_apac_character_popup_pane AknApacLayout::cell_apac_character_popup_pane
+#define AKN_LAYOUT_TEXT_Cell_pane_texts__pop_up_APAC_character__Line_1 AknApacLayout::Cell_pane_texts__pop_up_APAC_character__Line_1()
+#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_descendants_Line_1 AknApacLayout::APAC_character_selection_pop_up_window_descendants_Line_1
+#define AKN_LAYOUT_WINDOW_grid_apac_character_popup_pane AknApacLayout::grid_apac_character_popup_pane
+#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_elements_Line_1 AknApacLayout::APAC_character_selection_pop_up_window_elements_Line_1
+#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_elements_Line_2 AknApacLayout::APAC_character_selection_pop_up_window_elements_Line_2
+#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_graphics_Line_1 AknApacLayout::APAC_character_selection_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_graphics_Line_2 AknApacLayout::APAC_character_selection_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_graphics_Line_3 AknApacLayout::APAC_character_selection_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_graphics_Line_4 AknApacLayout::APAC_character_selection_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_APAC_character_selection_pop_up_window_graphics_Line_5 AknApacLayout::APAC_character_selection_pop_up_window_graphics_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_APAC_character_selection_pop_up_window_graphics_SUB_TABLE_0_Limits AknApacLayout::APAC_character_selection_pop_up_window_graphics_SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_APAC_character_selection_pop_up_window_graphics_SUB_TABLE_0 AknApacLayout::APAC_character_selection_pop_up_window_graphics_SUB_TABLE_0
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_pop_up_window_elements_and_descendants_panes_Line_1 AknApacLayout::Chinese_FEP_pop_up_window_elements_and_descendants_panes_Line_1
+#define AKN_LAYOUT_WINDOW_fep_china_entry_pane AknApacLayout::fep_china_entry_pane
+#define AKN_LAYOUT_WINDOW_fep_china_candidate_pane AknApacLayout::fep_china_candidate_pane
+#define AKN_LAYOUT_TEXT_Chinese_FEP_entry_pane_texts_Line_1 AknApacLayout::Chinese_FEP_entry_pane_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_candidate_pane_elements_Line_1 AknApacLayout::Chinese_FEP_candidate_pane_elements_Line_1
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_candidate_pane_elements_Line_2 AknApacLayout::Chinese_FEP_candidate_pane_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_candidate_pane_elements_Line_3 AknApacLayout::Chinese_FEP_candidate_pane_elements_Line_3()
+#define AKN_LAYOUT_WINDOW_fep_china_highlight_pane AknApacLayout::fep_china_highlight_pane
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_candidate_pane_elements_SUB_TABLE_0_Limits AknApacLayout::Chinese_FEP_candidate_pane_elements_SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_FEP_candidate_pane_elements_SUB_TABLE_0 AknApacLayout::Chinese_FEP_candidate_pane_elements_SUB_TABLE_0
+#define AKN_LAYOUT_TEXT_Chinese_FEP_candidate_pane_texts_Line_1 AknApacLayout::Chinese_FEP_candidate_pane_texts_Line_1
+#define AKN_LAYOUT_TEXT_Chinese_FEP_candidate_pane_texts_Line_2 AknApacLayout::Chinese_FEP_candidate_pane_texts_Line_2
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_pop_up_window_graphics_Line_1 AknApacLayout::Chinese_FEP_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_pop_up_window_graphics_Line_2 AknApacLayout::Chinese_FEP_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_pop_up_window_graphics_Line_3 AknApacLayout::Chinese_FEP_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_pop_up_window_graphics_Line_4 AknApacLayout::Chinese_FEP_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_pop_up_window_graphics_Line_5 AknApacLayout::Chinese_FEP_pop_up_window_graphics_Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_pop_up_window_graphics_Limits AknApacLayout::Chinese_FEP_pop_up_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_FEP_pop_up_window_graphics AknApacLayout::Chinese_FEP_pop_up_window_graphics
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_highlight_elements_Line_1 AknApacLayout::Chinese_FEP_highlight_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_highlight_elements_Line_2 AknApacLayout::Chinese_FEP_highlight_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_highlight_elements_Line_3 AknApacLayout::Chinese_FEP_highlight_elements_Line_3()
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_highlight_elements_Limits AknApacLayout::Chinese_FEP_highlight_elements_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_FEP_highlight_elements AknApacLayout::Chinese_FEP_highlight_elements
+#define AKN_LAYOUT_TEXT_Chinese_FEP_highlight_texts_Line_1 AknApacLayout::Chinese_FEP_highlight_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Unselected_string_highlight_Line_1 AknApacLayout::Unselected_string_highlight_Line_1
+#define AKN_LAYOUT_WINDOW_list_single_fep_china_pinyin_pane AknApacLayout::list_single_fep_china_pinyin_pane
+#define AKN_LAYOUT_TEXT_List_pane_texts__fep_china__Line_1 AknApacLayout::List_pane_texts__fep_china__Line_1
+#define AKN_LAYOUT_WINDOW_Pinyin_T9_candidate_pop_up_window_graphics_Line_1 AknApacLayout::Pinyin_T9_candidate_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Pinyin_T9_candidate_pop_up_window_graphics_Line_2 AknApacLayout::Pinyin_T9_candidate_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Pinyin_T9_candidate_pop_up_window_graphics_Line_3 AknApacLayout::Pinyin_T9_candidate_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Pinyin_T9_candidate_pop_up_window_graphics_Line_4 AknApacLayout::Pinyin_T9_candidate_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_TABLE_LIMITS_Pinyin_T9_candidate_pop_up_window_graphics_Limits AknApacLayout::Pinyin_T9_candidate_pop_up_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Pinyin_T9_candidate_pop_up_window_graphics AknApacLayout::Pinyin_T9_candidate_pop_up_window_graphics
+#define AKN_LAYOUT_WINDOW_Pinyin_T9_candidate_highlight_Line_1 AknApacLayout::Pinyin_T9_candidate_highlight_Line_1
+#define AKN_LAYOUT_WINDOW_popup_grid_apac_character_window AknApacLayout::popup_grid_apac_character_window
+#define AKN_LAYOUT_WINDOW_popup_fep_japan_predictive_window AknApacLayout::popup_fep_japan_predictive_window
+#define AKN_LAYOUT_WINDOW_popup_fep_japan_candidate_window AknApacLayout::popup_fep_japan_candidate_window
+#define AKN_LAYOUT_WINDOW_candidate_pane AknApacLayout::candidate_pane
+#define AKN_LAYOUT_WINDOW_list_single_popup_jap_candidate_pane AknApacLayout::list_single_popup_jap_candidate_pane
+#define AKN_LAYOUT_TEXT_List_pane_text__single_japan_fep__Line_1 AknApacLayout::List_pane_text__single_japan_fep__Line_1
+#define AKN_LAYOUT_TEXT_Predictive_candidate_selection_list_texts_Line_1 AknApacLayout::Predictive_candidate_selection_list_texts_Line_1
+#define AKN_LAYOUT_MULTILINE_TEXT_Predictive_candidate_selection_list_texts_Line_1 AknApacLayout::Multiline_Predictive_candidate_selection_list_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Predictive_candidate_selection_highlight_Line_1 AknApacLayout::Predictive_candidate_selection_highlight_Line_1()
+#define AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_1 AknApacLayout::Predictive_candidate_selection_popup_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_2 AknApacLayout::Predictive_candidate_selection_popup_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_3 AknApacLayout::Predictive_candidate_selection_popup_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Predictive_candidate_selection_popup_window_graphics_Line_4 AknApacLayout::Predictive_candidate_selection_popup_window_graphics_Line_4
+#define AKN_LAYOUT_TABLE_LIMITS_Predictive_candidate_selection_popup_window_graphics_Limits AknApacLayout::Predictive_candidate_selection_popup_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Predictive_candidate_selection_popup_window_graphics AknApacLayout::Predictive_candidate_selection_popup_window_graphics
+#define AKN_LAYOUT_TEXT_Candidate_selection_list_texts_Line_1 AknApacLayout::Candidate_selection_list_texts_Line_1()
+#define AKN_LAYOUT_WINDOW_Candidate_selection_pop_up_window_graphics_Line_1 AknApacLayout::Candidate_selection_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Candidate_selection_pop_up_window_graphics_Line_2 AknApacLayout::Candidate_selection_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Candidate_selection_pop_up_window_graphics_Line_3 AknApacLayout::Candidate_selection_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Candidate_selection_pop_up_window_graphics_Line_4 AknApacLayout::Candidate_selection_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_TABLE_LIMITS_Candidate_selection_pop_up_window_graphics_Limits AknApacLayout::Candidate_selection_pop_up_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Candidate_selection_pop_up_window_graphics AknApacLayout::Candidate_selection_pop_up_window_graphics
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_elements_and_descendants_panes_Line_1 AknApacLayout::Chinese_FEP_Zi_popup_window_elements_and_descendants_panes_Line_1()
+#define AKN_LAYOUT_WINDOW_fep_china_zi_entry_pane AknApacLayout::fep_china_zi_entry_pane
+#define AKN_LAYOUT_WINDOW_fep_china_zi_candidate_pane AknApacLayout::fep_china_zi_candidate_pane
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_entry_pane_elements_Line_1 AknApacLayout::Chinese_FEP_Zi_entry_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_entry_pane_elements_Line_2 AknApacLayout::Chinese_FEP_Zi_entry_pane_elements_Line_2()
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_Zi_entry_pane_elements_Limits AknApacLayout::Chinese_FEP_Zi_entry_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_FEP_Zi_entry_pane_elements AknApacLayout::Chinese_FEP_Zi_entry_pane_elements
+#define AKN_LAYOUT_TEXT_Chinese_FEP_Zi_entry_pane_texts_Line_1 AknApacLayout::Chinese_FEP_Zi_entry_pane_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_candidate_pane_elements_Line_1 AknApacLayout::Chinese_FEP_Zi_candidate_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_candidate_pane_elements_Line_2 AknApacLayout::Chinese_FEP_Zi_candidate_pane_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_candidate_pane_elements_Line_3 AknApacLayout::Chinese_FEP_Zi_candidate_pane_elements_Line_3()
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_candidate_pane_elements_Line_4 AknApacLayout::Chinese_FEP_Zi_candidate_pane_elements_Line_4()
+#define AKN_LAYOUT_WINDOW_fep_china_zi_highlight_pane AknApacLayout::fep_china_zi_highlight_pane()
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_Zi_candidate_pane_elements_Limits AknApacLayout::Chinese_FEP_Zi_candidate_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_FEP_Zi_candidate_pane_elements AknApacLayout::Chinese_FEP_Zi_candidate_pane_elements
+#define AKN_LAYOUT_TEXT_Chinese_FEP_Zi_candidate_pane_texts_Line_1 AknApacLayout::Chinese_FEP_Zi_candidate_pane_texts_Line_1()
+#define AKN_LAYOUT_TEXT_Chinese_FEP_Zi_candidate_pane_texts_Line_2 AknApacLayout::Chinese_FEP_Zi_candidate_pane_texts_Line_2()
+#define AKN_LAYOUT_TEXT_Chinese_FEP_Zi_candidate_pane_texts_Line_3 AknApacLayout::Chinese_FEP_Zi_candidate_pane_texts_Line_3()
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_Zi_candidate_pane_texts_Limits AknApacLayout::Chinese_FEP_Zi_candidate_pane_texts_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_FEP_Zi_candidate_pane_texts AknApacLayout::Chinese_FEP_Zi_candidate_pane_texts
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_1__Line_1 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__Line_1()
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_1__Line_2 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__Line_2
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_1__Line_3 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__Line_3
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_1__Line_4 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__Line_4()
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_1__Line_5 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__Line_5()
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_0_Limits AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_0 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_0
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_1_Limits AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_1_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_1 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_1__SUB_TABLE_1
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_2__Line_1 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2__Line_1
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_2__Line_2 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2__Line_2
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_2__Line_3 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2__Line_3
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_2__Line_4 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2__Line_4
+#define AKN_LAYOUT_WINDOW_Chinese_FEP_Zi_popup_window_graphics__part_2__Line_5 AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2__Line_5
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_FEP_Zi_popup_window_graphics__part_2__Limits AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2__Limits()
+#define AKN_LAYOUT_TABLE_Chinese_FEP_Zi_popup_window_graphics__part_2_ AknApacLayout::Chinese_FEP_Zi_popup_window_graphics__part_2_
+#define AKN_LAYOUT_WINDOW_Input_highlight_elements_Line_1 AknApacLayout::Input_highlight_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Candidate_selection_Line_1 AknApacLayout::Candidate_selection_Line_1
+#define AKN_LAYOUT_WINDOW_Candidate_selection_Line_2 AknApacLayout::Candidate_selection_Line_2
+#define AKN_LAYOUT_TABLE_LIMITS_Candidate_selection_Limits AknApacLayout::Candidate_selection_Limits()
+#define AKN_LAYOUT_TABLE_Candidate_selection AknApacLayout::Candidate_selection
+#define AKN_LAYOUT_WINDOW_popup_fep_china_zi_window AknApacLayout::popup_fep_china_zi_window
+#define AKN_LAYOUT_WINDOW_Find_pop_up_window_elements_Line_5 AknApacLayout::Find_pop_up_window_elements_Line_5()
+#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_elements_and_descendants_panes_Line_1 AknApacLayout::Chinese_universal_FEP_pop_up_window_elements_and_descendants_panes_Line_1()
+#define AKN_LAYOUT_WINDOW_fep_china_uni_entry_pane AknApacLayout::fep_china_uni_entry_pane()
+#define AKN_LAYOUT_WINDOW_fep_china_uni_candidate_pane AknApacLayout::fep_china_uni_candidate_pane
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_universal_FEP_pop_up_window_elements_and_descendants_panes_SUB_TABLE_0_Limits AknApacLayout::Chinese_universal_FEP_pop_up_window_elements_and_descendants_panes_SUB_TABLE_0_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_universal_FEP_pop_up_window_elements_and_descendants_panes_SUB_TABLE_0 AknApacLayout::Chinese_universal_FEP_pop_up_window_elements_and_descendants_panes_SUB_TABLE_0
+#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_entry_pane_elements_Line_1 AknApacLayout::Chinese_universal_FEP_entry_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_entry_pane_elements_Line_2 AknApacLayout::Chinese_universal_FEP_entry_pane_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_fep_entry_item_pane AknApacLayout::fep_entry_item_pane()
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_universal_FEP_entry_pane_elements_Limits AknApacLayout::Chinese_universal_FEP_entry_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_universal_FEP_entry_pane_elements AknApacLayout::Chinese_universal_FEP_entry_pane_elements
+#define AKN_LAYOUT_TEXT_Chinese_universal_FEP_entry_pane_texts_Line_1 AknApacLayout::Chinese_universal_FEP_entry_pane_texts_Line_1
+#define AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_1 AknApacLayout::Chinese_universal_FEPcandidate_pane_elements_Line_1()
+#define AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_2 AknApacLayout::Chinese_universal_FEPcandidate_pane_elements_Line_2()
+#define AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_3 AknApacLayout::Chinese_universal_FEPcandidate_pane_elements_Line_3()
+#define AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_4 AknApacLayout::Chinese_universal_FEPcandidate_pane_elements_Line_4()
+#define AKN_LAYOUT_WINDOW_fep_candidate_item_pane AknApacLayout::fep_candidate_item_pane()
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_universal_FEPcandidate_pane_elements_Limits AknApacLayout::Chinese_universal_FEPcandidate_pane_elements_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_universal_FEPcandidate_pane_elements AknApacLayout::Chinese_universal_FEPcandidate_pane_elements
+#define AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_1 AknApacLayout::Chinese_universal_FEP_candidate_pane_texts_Line_1()
+#define AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_2 AknApacLayout::Chinese_universal_FEP_candidate_pane_texts_Line_2()
+#define AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_3 AknApacLayout::Chinese_universal_FEP_candidate_pane_texts_Line_3()
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_universal_FEP_candidate_pane_texts_Limits AknApacLayout::Chinese_universal_FEP_candidate_pane_texts_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_universal_FEP_candidate_pane_texts AknApacLayout::Chinese_universal_FEP_candidate_pane_texts
+#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1 AknApacLayout::Chinese_universal_FEP_pop_up_window_graphics_Line_1
+#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2 AknApacLayout::Chinese_universal_FEP_pop_up_window_graphics_Line_2
+#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3 AknApacLayout::Chinese_universal_FEP_pop_up_window_graphics_Line_3
+#define AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4 AknApacLayout::Chinese_universal_FEP_pop_up_window_graphics_Line_4
+#define AKN_LAYOUT_TABLE_LIMITS_Chinese_universal_FEP_pop_up_window_graphics_Limits AknApacLayout::Chinese_universal_FEP_pop_up_window_graphics_Limits()
+#define AKN_LAYOUT_TABLE_Chinese_universal_FEP_pop_up_window_graphics AknApacLayout::Chinese_universal_FEP_pop_up_window_graphics
+#define AKN_LAYOUT_WINDOW_Input_highlight_Line_1 AknApacLayout::Input_highlight_Line_1
+#define AKN_LAYOUT_WINDOW_Candidate_selection_highlight_Line_1 AknApacLayout::Candidate_selection_highlight_Line_1
+#define AKN_LAYOUT_WINDOW_Candidate_selection_highlight_Line_2 AknApacLayout::Candidate_selection_highlight_Line_2
+#define AKN_LAYOUT_TABLE_LIMITS_Candidate_selection_highlight_Limits AknApacLayout::Candidate_selection_highlight_Limits()
+#define AKN_LAYOUT_TABLE_Candidate_selection_highlight AknApacLayout::Candidate_selection_highlight
+#define AKN_LAYOUT_WINDOW_popup_fep_china_uni_window AknApacLayout::popup_fep_china_uni_window
+#endif
--- a/dependencies/bld.inf Sat Mar 27 03:52:59 2010 +0530
+++ b/dependencies/bld.inf Sat Mar 27 10:26:12 2010 +0100
@@ -25,7 +25,7 @@
RMmCustomAPI.h RMmCustomAPI.h
eikon.hrh eikon.hrh
-// featmgr.h featmgr.h
+featmgr.h featmgr.h
AknsConstants.h AknsConstants.h
AknsConstants.hrh AknsConstants.hrh
AknTransEffect.h MW_LAYER_PLATFORM_EXPORT_PATH(akntranseffect.h)
@@ -63,7 +63,10 @@
EikSoftkeyImage.h EikSoftkeyImage.h
AknStatuspaneUtils.h AknStatuspaneUtils.h
-
+EikSoftkeyImage.h MW_LAYER_PLATFORM_EXPORT_PATH(eiksoftkeyimage.h)
+AknStatuspaneUtils.h MW_LAYER_PLATFORM_EXPORT_PATH(AknStatuspaneUtils.h)
+eikcba.h eikcba.h
+aknlayout.lag aknlayout.lag
#include "extended_skin_api/bld.inf"
@@ -103,8 +106,6 @@
#include "transition_effect_utility/bld.inf"
#include "ssm/bld.inf"
#include "swi/bld.inf"
+#include "mifconv/group/bld.inf"
#include "hs_content_control_ui/bld.inf"
-
-
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dependencies/eikcba.h Sat Mar 27 10:26:12 2010 +0100
@@ -0,0 +1,1561 @@
+/*
+* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: EIKON control button array and cba button class definitions.
+*
+*/
+
+
+#ifndef __EIKCBA_H__
+#define __EIKCBA_H__
+
+#include <eikctgrp.h>
+#include <badesca.h>
+#include <eikbtgrp.h>
+#include <eiksbobs.h>
+#include <eiksbfrm.h>
+
+#include <eikimage.h>
+#include <AknControl.h>
+#include <AknsItemData.h> // TAknsItemID
+#include <babitflags.h> // TBitFlags
+
+class CEikLabel;
+class CEikCbaButton;
+class CCoeBrushAndPenContext;
+class MEikCommandObserver;
+class TCoeColorUse;
+
+class CAknScrollBar;
+class TEikScrollBarModel;
+
+class CEikEnhancedCbaButton;
+class CEikCommandTable;
+
+class CAknsBasicBackgroundControlContext;
+class CAknsLayeredBackgroundControlContext;
+class CAknsMaskedLayerBackgroundControlContext;
+class CEikCbaExtension;
+
+const TInt KMaxCbaLabelLength = 32;
+const TInt KMaxButtonsInCommandTable = 4;
+
+/**
+ * Defines a Control Button Array control, used in Avkon to define the softkeys in the
+ * control pane.
+ *
+ * @lib eikcoctl.lib
+ * @since S60 0.9
+ */
+NONSHARABLE_CLASS(CEikCba) :
+ public CEikControlGroup,
+ public MEikEnhancedButtonGroup,
+ public MEikScrollBarObserver,
+ public MCoeControlObserver
+ {
+public:
+ /**
+ * Declares an object type for a class, in order to allow the object
+ * provider mechanism to locate and provide objects from the class.
+ */
+ DECLARE_TYPE_ID(0x101F4105)
+
+ /**
+ * Creates a new control button array.
+ *
+ * @internal
+ * @param aPrevious Previous Cba, used in MinimumSize().
+ * @param aCommandObserver Command observer for softkey events.
+ * @param aParentWg The parent window group.
+ * @return Control button array object.
+ */
+ static CEikCba* NewL(
+ const CEikCba* aPrevious,
+ MEikCommandObserver* aCommandObserver,
+ RWindowGroup* aParentWg);
+
+ /**
+ * Creates a new control button array.
+ *
+ * @internal
+ * @param aResourceId A resource describing the Cba.
+ * @param aPrevious Previous Cba, used in MinimumSize().
+ * @param aCommandObserver Command observer for softkey events.
+ * @param aParentWg The parent window group.
+ * @return Control button array object.
+ */
+ static CEikCba* NewL(
+ TInt aResourceId,
+ const CEikCba* aPrevious,
+ MEikCommandObserver* aCommandObserver,
+ RWindowGroup* aParentWg);
+
+ /**
+ * Creates a new control button array.
+ *
+ * @internal
+ * @param aPrevious Previous Cba, used in MinimumSize().
+ * @param aCommandObserver Command observer for softkey events.
+ * @param aParentWg The parent window group.
+ * @return Control button array object.
+ */
+ static CEikCba* NewLC(
+ const CEikCba* aPrevious,
+ MEikCommandObserver* aCommandObserver,
+ RWindowGroup* aParentWg);
+
+ /**
+ * Creates a new control button array
+ *
+ * @since S60 5.2
+ * @internal
+ * @param aPrevious Previous Cba, used in MinimumSize()
+ * @param aCommandObserver Command observer for softkey events
+ * @param aParentWg The parent window group
+ * @param aFlags CEikButtonGroupContainer::EIsEmbedded if CBA is embedded
+ * inside another control (popup/dialog/setting page)
+ * @return Control button array object
+ */
+ static CEikCba* NewLC(
+ const CEikCba* aPrevious,
+ MEikCommandObserver* aCommandObserver,
+ RWindowGroup* aParentWg, TUint aFlags );
+
+ /**
+ * Creates a new control button array.
+ *
+ * @internal
+ * @param aResourceId A resource describing the Cba.
+ * @param aPrevious Previous Cba, used in MinimumSize().
+ * @param aCommandObserver Command observer for softkey events.
+ * @param aParentWg The parent window group.
+ * @return Control button array object.
+ */
+ static CEikCba* NewLC(
+ TInt aResourceId,
+ const CEikCba* aPrevious,
+ MEikCommandObserver* aCommandObserver,
+ RWindowGroup* aParentWg);
+
+ /**
+ * Creates a new control button array
+ *
+ * @since S60 5.2
+ * @internal
+ * @param aResourceId A resource describing the Cba
+ * @param aPrevious Previous Cba, used in MinimumSize()
+ * @param aCommandObserver Command observer for softkey events
+ * @param aParentWg The parent window group
+ * @param aFlags CEikButtonGroupContainer::EIsEmbedded if CBA is embedded
+ * inside another control (popup/dialog/setting page)
+ * @return Control button array object
+ */
+ static CEikCba* NewLC(
+ TInt aResourceId,
+ const CEikCba* aPrevious,
+ MEikCommandObserver* aCommandObserver,
+ RWindowGroup* aParentWg, TUint aFlags );
+
+ /**
+ * Destructor.
+ */
+ ~CEikCba();
+
+public: // new methods
+ /**
+ * Gets the maximum number of buttons that can be supported by the device.
+ *
+ * @internal
+ * @return The number of command buttons supported.
+ */
+ TInt MaxCommands() const;
+
+ /**
+ * Updates the cba labels.
+ *
+ * @internal
+ * @param aScrollerOn If this is set, the short labels are used instead
+ * of the long ones. To be used if there is an (old style)
+ * scroller between the softkeys.
+ */
+ void UpdateCbaLabels(TBool aScrollerOn);
+
+ /**
+ * For checking whether the middle softkey is supported in the platform.
+ *
+ * @internal
+ * @return ETrue if the middle softkey is supported in the plaftorm.
+ */
+ TInt MSKEnabledInPlatform() const;
+
+ /**
+ * Sets the scroll bar frame observer.
+ *
+ * @internal
+ * @param aObserver The scroll bar frame observer.
+ */
+ void SetSBFrameObserver(MEikScrollBarObserver* aObserver);
+
+ /**
+ * Sets the scroll bar model.
+ *
+ * @internal
+ * @param aModel The scroll bar model.
+ */
+ void SetScrollBarModelL(TEikScrollBarModel* aModel);
+
+ /**
+ * Returns the scroll bar frame.
+ *
+ * @internal
+ * @return The scroll bar frame.
+ */
+ const CEikCbaScrollBarFrame* ScrollBarFrame() const;
+
+ /**
+ * Returns the vertical scroll bar as a control.
+ *
+ * @internal The vertical scroll bar as a control
+ */
+ CAknScrollBar* VScrollBarAsControl();
+
+ /**
+ * Replaces empty scroll bar with actual arrow head scroll bar.
+ *
+ * @internal
+ * @since S60 3.0
+ */
+ void CreateArrowHeadScrollBarL();
+
+ /**
+ * For external set the MSK icon
+ * Returns ETrue if option is ok, EFalse is not.
+ * @param aId icon bitmap IID
+ * @param aBmpFile file path.
+ * @param aBmp Bitmap ID.
+ * @param aBmpM Bitmap mask ID.
+ * @param aEnable ETrue for set icon, EFalse for use default icon.
+ */
+ IMPORT_C TBool UpdateMSKIconL(
+ const TAknsItemID& aId,
+ const TDesC& aBmpFile,
+ const TInt32 aBmp,
+ const TInt32 aBmpM,
+ TBool aEnable);
+
+ /**
+ * Enables or disables item specific softkey. If enabled then SK1's
+ * visibility is determined by the screen content. If there's a list or
+ * grid with visible highlight (i.e. highlight is brought visible via
+ * hardware keys) on the display or SK1's associated command is
+ * @c EAknSoftkeyOptions then SK1 is visible, otherwise it's hidden. This
+ * method has no effect if the the application isn't single click enabled.
+ * Item specific softkey is enabled by default.
+ *
+ * @since S60 5.2
+ *
+ * @param aEnable ETrue to enable item specific softkey, EFalse to disable.
+ */
+ IMPORT_C void EnableItemSpecificSoftkey( TBool aEnable );
+
+public:
+ /**
+ * From CEikControlGroup.
+ * Adds a wrapped control to the control group array at the given index position.
+ * Overridden to prevent setting container window.
+ *
+ * @param aGroupControl The control to add to the group.
+ * @param aIndex The index for the added control.
+ */
+ void InsertControlL(TEikGroupControl& aGroupControl, TInt aIndex);
+
+ /**
+ * From MEikButtonGroup.
+ * Sets a command button's text and command ID. Note that this implementation does
+ * not support bitmap and mask.
+ *
+ * @param aPosition The position within the button group of the button to change.
+ * @param aCommandId Command ID the button will send.
+ * @param aText The text for the button.
+ * @param aBitmap Not used.
+ * @param aMask Not used.
+ */
+ void SetCommandL(
+ TInt aPosition,
+ TInt aCommandId,
+ const TDesC* aText,
+ const CFbsBitmap* aBitmap,
+ const CFbsBitmap* aMask);
+
+ /**
+ * From MEikButtonGroup.
+ * Sets a command button's text label and command ID. The text and command ID are all
+ * read from resource. Note that this implementation does not support bitmap and mask.
+ *
+ * @internal
+ *
+ * @param aPosition The position within the button group of the button to change.
+ * @param aResourceId Resource ID specifying the text and command ID.
+ *
+ */
+ void SetCommandL(TInt aPosition, TInt aResourceId);
+
+ /**
+ * From MEikButtonGroup.
+ * Initialises the group of command buttons from a resource.
+ * Note that this implementation does not support bitmap and mask.
+ *
+ * @internal
+ *
+ * @param aResourceId ID of the resource structure specifying the command buttons.
+ */
+ void SetCommandSetL(TInt aResourceId);
+
+ /**
+ * From MEikButtonGroup.
+ * Not supported.
+ *
+ * @internal
+ *
+ * @param aPosition Not used.
+ * @param aCommandId Not used.
+ * @param aText Not used.
+ * @param aBitmap Not used.
+ * @param aMask Not used.
+ * @leave KErrNotSupported If called.
+ */
+ void AddCommandL(
+ TInt aPosition,
+ TInt aCommandId,
+ const TDesC* aText,
+ const CFbsBitmap* aBitmap,
+ const CFbsBitmap* aMask);
+
+ /**
+ * From MEikButtonGroup.
+ * Pushes a command button with text and a command ID onto a position's button stack.
+ * Note that this implementation does not support bitmap and mask.
+ *
+ * @internal
+ *
+ * @param aPosition The position in the button group at which to add the command button.
+ * @param aCommandId Command ID the button will send.
+ * @param aText Text for the button.
+ * @param aBitmap Not used.
+ * @param aMask Not used.
+ */
+ void AddCommandToStackL(
+ TInt aPosition,
+ TInt aCommandId,
+ const TDesC* aText,
+ const CFbsBitmap* aBitmap,
+ const CFbsBitmap* aMask);
+
+ /**
+ * From MEikButtonGroup.
+ * Pushes a command button onto a position's button stack. The text and command ID are all
+ * read from resource. Note that this implementation does not support bitmap and mask.
+ *
+ * @internal
+ *
+ * @param aPosition The position in the button group at which to push the command button.
+ * @param aResourceId ID of a resource specifying the text and command ID.
+ */
+ void AddCommandToStackL(TInt aPosition, TInt aResourceId);
+
+ /**
+ * From MEikButtonGroup.
+ * As with SetCommandL() but for a set of buttons, also allows the previous command button
+ * to be retrieved by calling RemoveCommand(). Note that this implementation does not
+ * support bitmap and mask.
+ *
+ * @internal
+ *
+ * @param aResourceId Resource describing the set of command buttons.
+ */
+ void AddCommandSetToStackL(TInt aResourceId);
+
+ /**
+ * From MEikButtonGroup.
+ * Not supported.
+ *
+ * @internal
+ *
+ * @param aCommandId Not used.
+ */
+ void SetDefaultCommand(TInt aCommandId);
+
+ /**
+ * From MEikButtonGroup.
+ * Calculates minimum size required to display the buttons defined in the
+ * specified resource structure.
+ *
+ * @internal
+ *
+ * @param aResourceId The ID of the resource structure describing the button group.
+ * @return Minimum size required to display the button group defined in the specified
+ * resource structure.
+ */
+ TSize CalcMinimumSizeL(TInt aResourceId);
+
+ /**
+ * From MEikButtonGroup.
+ * Removes the command identified by aCommandId, in position aPosition in the
+ * group, from the command stack. Automatically retrieves the previous command
+ * details. Commands are added to the stack by calling AddCommandToStackL.
+ *
+ * @internal
+ *
+ * @param aPosition The position in the button group from which to remove the
+ * command button.
+ * @param aCommandId Command ID.
+ */
+ void RemoveCommandFromStack(TInt aPosition, TInt aCommandId);
+
+ /**
+ * From MEikButtonGroup.
+ * Returns the command position by command id.
+ *
+ * @internal
+ *
+ * @param aCommandId The button's command id.
+ * @return The command position in the button group.
+ */
+ TInt CommandPos(TInt aCommandId) const;
+
+ /**
+ * From MEikButtonGroup.
+ * Dims or undims a button without drawing it.
+ *
+ * @internal
+ *
+ * @param aCommandId Command ID of the button to change.
+ * @param aDimmed ETrue to dim the specified command. EFalse to undim the specified command.
+ */
+ void DimCommand(TInt aCommandId, TBool aDimmed);
+
+ /**
+ * From MEikButtonGroup.
+ * Determines whether the button with the specified command ID is dimmed.
+ *
+ * @internal
+ *
+ * @param aCommandId The command ID.
+ * @return ETrue if the specified command is dimmed. EFalse if the specified command is
+ * not dimmed.
+ */
+ TBool IsCommandDimmed(TInt aCommandId) const;
+
+ /**
+ * From MEikButtonGroup.
+ * Makes the button with the specified id either visible, or invisible.
+ *
+ * @internal
+ *
+ * @param aCommandId Specifies the button to alter.
+
+ * @param aVisible ETrue to make the specified button visible. EFalse to make the specified
+ * button invisible.
+ */
+ void MakeCommandVisible(TInt aCommandId, TBool aVisible);
+
+ /**
+ * From MEikButtonGroup.
+ * Tests whether the button with the specified command ID is visible.
+ *
+ * @internal
+ *
+ * @param aCommandId Specifies the button.
+ * @return ETrue if the specified button is visible. EFalse if the specified button is
+ * not visible.
+ */
+ TBool IsCommandVisible(TInt aCommandId) const;
+
+ /**
+ * From MEikButtonGroup.
+ * Not supported.
+ *
+ * @internal
+ *
+ * @param aCommandId Not used.
+ */
+ void AnimateCommand(TInt aCommandId);
+
+ /**
+ * From MEikButtonGroup.
+ * Returns the button group as a control.
+ *
+ * @internal
+ *
+ * @return The button group as a control.
+ */
+ CCoeControl* AsControl();
+
+ /**
+ * From MEikButtonGroup.
+ * Returns the button group as a control.
+ *
+ * @internal
+ *
+ * @return The button group as a control.
+ */
+ const CCoeControl* AsControl() const;
+
+ /**
+ * From MEikButtonGroup.
+ * Sets the boundary rectangle for externally-positioned button groups.
+ * For use by EExternal button groups only.
+ *
+ * @internal
+ *
+ * @param aBoundingRect Not used.
+ */
+ void SetBoundingRect(const TRect& aBoundingRect);
+
+ /**
+ * From MEikButtonGroup.
+ * Subtracts the area occupied by the button group from the specified bounding rectangle.
+ * This method should be used in preference to querying the container's area at all times.
+ * For use by EExternal button groups only.
+ *
+ * @internal
+ *
+ * @param aBoundingRect Rectangle to be modified.
+ */
+ void ReduceRect(TRect& aBoundingRect) const;
+
+ /**
+ * Returns a group control (a button) as a control.
+ *
+ * @internal
+ *
+ * @param aCommandId The button's command id.
+ * @return The group control as a control.
+ */
+ CCoeControl* GroupControlById(TInt aCommandId);
+
+ /**
+ * From MEikButtonGroup.
+ * Returns a group control (a button) as a control.
+ *
+ * @internal
+ *
+ * @param aCommandId The button's command id.
+ * @return The group control as a control.
+ */
+ CCoeControl* GroupControlById(TInt aCommandId) const;
+
+ /**
+ * From MEikButtonGroup.
+ * Returns the command id by position.
+ *
+ * @internal
+ *
+ * @param aCommandPos The command's position.
+ * @return The command id.
+ */
+ TInt CommandId(TInt aCommandPos) const;
+
+ /**
+ * From MEikButtonGroup.
+ * Gets the total number of buttons currently present in the group.
+ *
+ * @internal
+ *
+ * @return The number of buttons.
+ */
+ TInt ButtonCount() const;
+
+ /**
+ * Removes previous command.
+ *
+ * @internal
+ *
+ * @param aPosition The command's position.
+ */
+ void RemovePreviousCommand(TInt aPosition);
+
+ /**
+ * From MEikButtonGroup.
+ * Not supported, because it is not possible to convert a CBA button to a
+ * CEikCommandButton. Calling this in debug build causes a panic, otherwise
+ * NULL is just returned.
+ *
+ * @internal
+ *
+ * @param aCommandId Not used.
+ */
+ CEikCommandButton* GroupControlAsButton(TInt aCommandId) const;
+
+ /**
+ * From MEikButtonGroup.
+ * Gets the button group flags.
+ *
+ * @internal
+ *
+ * @return The button group flags.
+ */
+ TUint ButtonGroupFlags() const;
+
+ /**
+ * Sets the button group flags.
+ *
+ * @internal
+ *
+ * @param aFlags The button group flags.
+ */
+ IMPORT_C void SetButtonGroupFlags(TInt aFlags);
+
+ /**
+ * Sets the skin background for this control button array. The new background is used
+ * for all the subsequent drawing operations. This method does not itself cause a repaint.
+ *
+ * @internal
+ *
+ * @param aIID Skin item ID of the new background. This is one of the constants
+ * defined in AknsConstants.h, and the usual values are KAknsIIDQsnBgAreaControl,
+ * KAknsIIDQsnBgAreaControlPopup, and KAknsIIDQsnBgAreaControlIdle.
+ * @since S60 2.0
+ */
+ IMPORT_C void SetSkinBackgroundId(const TAknsItemID& aIID);
+
+ /**
+ * Sets the middle softkey icon.
+ *
+ * @internal
+ *
+ * @since S60 3.1
+ */
+ void SetMSKIconL();
+
+ /**
+ * From MEikButtonGroup.
+ * Sets the middle softkey command observer.
+ *
+ * @internal
+ *
+ * @param aCommandObserver The middle softkey command observer.
+ * @since S60 3.1
+ */
+ void SetMSKCommandObserver(MEikCommandObserver* aCommandObserver);
+
+ /**
+ * From MEikButtonGroup.
+ * Dims (but doesn't draw) the button with position aPosition.
+ *
+ * @internal
+ *
+ * @param aPosition The position for command to be dimmed.
+ * @param aDimmed ETrue for dimming.
+ */
+ void DimCommandByPosition(TInt aPosition, TBool aDimmed);
+
+ /**
+ * From MEikButtonGroup.
+ * Returns ETrue if the button with position aPosition is dimmed.
+ *
+ * @internal
+ *
+ * @param aPosition The position for command to be checked.
+ * @return The state of the button.
+ */
+ TBool IsCommandDimmedByPosition(TInt aPosition) const;
+
+ /**
+ * From MEikButtonGroup.
+ * Sets the the button with position aPosition to be visible if aVisible is ETrue.
+ *
+ * @internal
+ *
+ * @param aPosition The position for command to be made visible.
+ * @param aVisible EFalse for making button invisible.
+ */
+ void MakeCommandVisibleByPosition(TInt aPosition, TBool aVisible);
+
+ /**
+ * From MEikButtonGroup.
+ * Returns ETrue if the button with position aPosition is visible.
+ *
+ * @internal
+ *
+ * @param aPosition The position for command to be checked.
+ * @return The state of the button.
+ */
+ TBool IsCommandVisibleByPosition(TInt aPosition) const;
+
+ /**
+ * From MEikButtonGroup.
+ * Not supported.
+ *
+ * @internal
+ *
+ * @param aPosition Not used.
+ */
+ void AnimateCommandByPosition(TInt aPosition);
+
+ /**
+ * Returns a group control (a button) as a control.
+ *
+ * @internal
+ *
+ * @param aPosition The button's position.
+ * @return The group control as a control.
+ */
+// CCoeControl* GroupControlByPosition(TInt aPosition) const;
+
+ /**
+ * Gets a CBA button rectangle. This can be used in touch layouts to
+ * get the whole rectangle of the CBA button, as the button areas
+ * are larger than the actual button control in touch layouts.
+ *
+ * @param aPosition Position of the button.
+ * @param aRelativeToScreen If @c ETrue, the returned rectangle
+ * coordinates are relative to the screen
+ * rectangle, otherwise they are relative
+ * to the CBA area. Note that this parameter is
+ * only taken into account in touch layouts, and
+ * in nHD landscape mode the returned rectangle
+ * is always relative to the screen regardless
+ * of this parameter.
+ *
+ * @return Rectangle of the specified button.
+ */
+ TRect ButtonRectByPosition( TInt aPosition,
+ TBool aRelativeToScreen );
+
+ /**
+ * Enable or disable transparent rendering.
+ *
+ * @internal
+ * @since S60 v5.0
+ * @param aEnable ETrue to enable transparency,
+ * EFalse to disable.
+ */
+ void EnablePostingTransparency( TBool aEnable );
+
+ /**
+ * Returns TBitFlags.
+ *
+ * @internal
+ * @since S60 v5.2
+ * @return TBitFlags.
+ */
+ TBitFlags Flags();
+
+ /**
+ * Sets content observer.
+ *
+ * @internal
+ * @since S60 v5.2
+ * @param aCallBack call back to notify of content changes.
+ */
+ void SetContentObserver( TCallBack aCallBack );
+
+public:
+ /**
+ * Formerly from MTopSetMember<CEikCba>, now reserved.
+ */
+ virtual void Reserved_MtsmPosition();
+
+ /**
+ * Formerly from MTopSetMember<CEikCba>, now reserved.
+ */
+ virtual void Reserved_MtsmObject();
+
+public: // from CCoeControl
+ /**
+ * From CCoeControl.
+ * Handles key events.
+ *
+ * @param aKeyEvent The key event.
+ * @param aType The type of key event: EEventKey, EEventKeyUp or EEventKeyDown.
+ * @return Indicates whether or not the key event was used by this control.
+ */
+ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+
+ /**
+ * From CCoeControl.
+ * Sets the control's minimum required size.
+ *
+ * @return The minimum size required by the control.
+ */
+ TSize MinimumSize();
+
+ /**
+ * From CCoeControl.
+ * Gets the list of logical colours used to draw the control.
+ * The list includes an explanation of how each colour is used.
+ *
+ * @param aColorUseList The colour list.
+ */
+ void GetColorUseListL(CArrayFix<TCoeColorUse>& aColorUseList) const;
+
+ /**
+ * From CCoeControl.
+ * Handles a change to the control's resources.
+ *
+ * @param aType A message UID value.
+ */
+ void HandleResourceChange(TInt aType);
+
+ /**
+ * From CCoeControl.
+ * Sets this control as visible or invisible.
+ *
+ * @param aVisible ETrue to make the control visible, EFalse to make it invisible.
+ */
+ void MakeVisible(TBool aVisible);
+
+ /**
+ * From CCoeControl.
+ * Handles pointer events.
+ *
+ * @param aPointerEvent The pointer event
+ */
+ void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+
+ /**
+ * From CCoeControl.
+ * Sets the control's containing window by copying it from aContainer.
+ *
+ * @param aContainer The compound control that is the container for this control
+ */
+ void SetContainerWindowL( const CCoeControl& aContainer );
+
+ void ActivateL();
+
+public: // from MEikEnhancedButtonGroup
+ /**
+ * From MEikEnhancedButtonGroup.
+ * Used to offer list of commands for softkeys.
+ *
+ * @param aCommandList A list of command ids to be offered for softkeys.
+ */
+ IMPORT_C void OfferCommandListL(const RArray<TInt>& aCommandList);
+
+ /**
+ * From MEikEnhancedButtonGroup.
+ * Used to offer list of commands for softkeys.
+ *
+ * @param aResourceId Id for CBA resource that defines enhanced cba buttons.
+ */
+ IMPORT_C void OfferCommandListL(const TInt aResourceId);
+
+ /**
+ * From MEikEnhancedButtonGroup.
+ * Used to check if a certain command have been approved to the current command set.
+ *
+ * @param aCommandId The id for command which existence should be checked.
+ * @return ETrue if command is in control group, otherwise EFalse.
+ */
+ IMPORT_C TBool IsCommandInGroup(const TInt aCommandId) const;
+
+ /**
+ * From MEikEnhancedButtonGroup.
+ * Replace existing command with a new command.
+ *
+ * @param aCommandId Id for command that should be replaced.
+ * @param aResourceId Resource id for new enhanced cba button.
+ */
+ IMPORT_C void ReplaceCommand(const TInt aCommandId, const TInt aResourceId);
+
+public: // From MCoeControlObserver
+ void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType );
+
+private:
+ /**
+ * From CAknControl
+ */
+ IMPORT_C void* ExtensionInterface( TUid aInterface );
+
+protected:
+ /**
+ * From MEikScrollBarObserver
+ * Handles scroll events. This function is called by the CEikScrollBar object with which
+ * this scroll bar observer object is registered. Implementations should handle scroll
+ * events appropriately.
+ *
+ * @param aScrollBar Pointer to the originating scroll bar object.
+ * @param aEventType A scroll event.
+ */
+ virtual void HandleScrollEventL(CEikScrollBar* aScrollBar, TEikScrollEvent aEventType);
+
+ /**
+ * From CCoeControl
+ * Retrieves an object of the same type as that encapsulated in aId.
+ * This function is used to allow controls to ask their owners for access to other
+ * objects that they own.
+ *
+ * @param aId An encapsulated object type ID.
+ * @return Encapsulates the pointer to the object provided. Note that the encapsulated
+ * pointer may be NULL.
+ */
+ TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
+
+ /**
+ * From CCoeControl.
+ * Draws the control.
+ *
+ * @param aRect Rectangle to draw on.
+ */
+ void Draw(const TRect& aRect) const;
+
+public:
+
+ /**
+ * Checks if the CBA contains no commands.
+ * Note that this returns always @c EFalse if the CBA belongs
+ * to a full screen query.
+ *
+ * @internal
+ *
+ * @return @c ETrue if the CBA buttons are empty, @c EFalse otherwise.
+ *
+ * @since 5.0
+ */
+ IMPORT_C TBool IsEmpty() const;
+
+ /**
+ * Returns ETrue if softkey status change is allowed.
+ *
+ * @param aSofkeyPosition Softkey position.
+ * @param aDisabled ETrue if softkey is to be disabled.
+ * @return ETrue if softkey status change is allowed.
+ */
+ TBool SoftkeyStatusChangeAllowed(
+ TInt aSofkeyPosition, TBool aDisabled );
+
+ /**
+ * Returns item specific softkey if it state should be updated.
+ *
+ * @return Item specific softkey.
+ */
+ TEikGroupControl* ItemSpecificSoftkey() const;
+
+ /**
+ * Updates item specific softkey.
+ *
+ * @param aVisibleCollection ETrue if state should be updated according
+ * to visible collection.
+ */
+ void UpdateItemSpecificSoftkey( TBool aVisibleCollection = ETrue );
+
+
+private: // new methods
+
+ CEikCba(
+ const CEikCba* aPrevious,
+ MEikCommandObserver* aCommandObserver,
+ RWindowGroup* aParentWg,
+ TUint aFlags = 0 );
+ void BaseConstructL();
+ void ConstructL(TInt aResourceId);
+ void ConstructFromResourceL(TResourceReader& aReader);
+ CCoeControl* ButtonById( TInt aCommandId ) const;
+ void CreateScrollBarFrameL();
+ void InsertScrollBarL();
+ TEikGroupControl VScrollBarAsGroupControl();
+ void CheckSkinAndUpdateContext();
+
+ TInt AknLayoutFlags() const;
+ void SizeChangedInControlPane();
+ void SizeChangedInStaconPane();
+ void SizeChangedInRightPane();
+ void UpdateFonts();
+
+ void DoSkinChange();
+ void DoColorChange();
+ void DoLayoutChange();
+
+ void SizeChangedInsideDialog();
+
+ /**
+ * Handles size change events in case of embedded softkeys.
+ */
+ void SizeChangedInPopup();
+
+ /**
+ * Updates softkey labels in case of embedded softkeys.
+ *
+ * @param aDrawDeferred ETrue to cause a redraw event.
+ */
+ void UpdateLabels( TBool aDrawDeferred );
+
+ /**
+ * Layouts given cba control to it's rect correctly. This function is
+ * used to layout every text and image inside of @c CEikCba.
+ *
+ * @param aControl CBA Control that is to be layouted
+ * @param aRect the rect where control should be layouted.
+ */
+ void LayoutControl(CCoeControl* aControl, const TRect& aRect);
+
+ void DoSetLayers( const TAknsItemID& aIID );
+
+ /**
+ * Broadcasts transparency information
+ * to CEikCbaButtons.
+ */
+ void BroadcastPostingTransparency( TBool aEnable );
+
+ /**
+ * Sets the CBA fading according to button content.
+ */
+ void SetFadeState();
+
+ /**
+ * A better version of AddCommandToStackL
+ * Pushes a command button with text and a command ID onto a position's button stack.
+ * SizeChanged() is not called, so it need to be done after that.
+ * Note that this implementation does not support bitmap and mask.
+ *
+ * @internal
+ *
+ * @param aPosition The position in the button group at which to add the command button.
+ * @param aCommandId Command ID the button will send.
+ * @param aText Text for the button.
+ */
+ void AddCommandToStackWithoutSizeChangedL(
+ TInt aPosition,
+ TInt aCommandId,
+ const TDesC* aText);
+
+ /**
+ * Removes previous command but do not call SizeChanged And SetMSKIconL.
+ *
+ * @internal
+ *
+ * @param aPosition The command's position.
+ */
+ void RemovePreviousCommandWithoutSizeChanged(TInt aPosition);
+
+ /**
+ * Reports state changed event if cba changed from empty to non-empty
+ * or vice versa.
+ */
+ void ReportContentChangedEvent();
+
+ /**
+ * Draws embedded softkey.
+ *
+ * @internal
+ *
+ * @param aGroupControl TEikGroupControl used to get access to CBA button.
+ * @param aRect Softkey rectangle
+ * @param aGc Graphics context
+ * @param aMask Mask
+ */
+ void DrawEmbeddedSoftkey( TEikGroupControl& aGroupControl,
+ const TRect& aRect,
+ CWindowGc& aGc,
+ CFbsBitmap* aMask ) const;
+ TBool UpdateIconL();
+
+ /**
+ * Checks if the middle softkey should be used.
+ *
+ * @internal
+ *
+ * @return @c ETrue if MSK is to be used, @c EFalse otherwise.
+ */
+ TBool MskAllowed() const;
+
+ /**
+ * Updates item specific softkey.
+ *
+ * @param aControl Item specifc softkey control.
+ * @param aEnable ETrue if control should be enabled, EFalse if disabled.
+ */
+ void UpdateItemSpecificSoftkey( CCoeControl& aControl, TBool aEnable );
+
+private: // from CCoeControl
+ void SizeChanged();
+
+private: // data
+ TUint iCbaFlags;
+
+ /** Used to maintain the original settings if a client needs to temporarily change its cba. */
+ const CEikCba* iLink;
+
+ CCoeBrushAndPenContext* iBrushAndPenContext;
+ MEikCommandObserver* iCommandObserver;
+ CEikCbaScrollBarFrame* iSBFrame;
+ RWindowGroup* iParentWg;
+
+ /** New member variable that stores commands in correct order. */
+ CEikCommandTable* iCommandTable;
+
+ /** For MSK. */
+ TBool iMSKset;
+
+ /** For MSK, caches CenRep value. */
+ TBool iMSKEnabledInPlatform;
+
+ /** Additional observer for MSK. This is called first and default observer after that. */
+ MEikCommandObserver* iMSKCommandObserver;
+
+ // From extension.
+ const CFont* iLabelFont;
+ const CFont* iStaconLabelFont;
+ const CFont* iRightPaneLabelFont;
+ TBool iPopupVisible;
+ TBitFlags iFlags;
+
+ /** Old background context. */
+ CAknsBasicBackgroundControlContext* iBgContext;
+
+ /** Old stacon background context. */
+ CAknsLayeredBackgroundControlContext* iStaconBgContext;
+
+ /** Masked layer backgrounds. */
+ CAknsMaskedLayerBackgroundControlContext* iMLBgContext;
+ CAknsMaskedLayerBackgroundControlContext* iStaconBgContextTop;
+ CAknsMaskedLayerBackgroundControlContext* iStaconBgContextBottom;
+
+ TAknsItemID iBgIID;
+
+ /**
+ * Skin background ID for the status pane controlled region
+ * of the CBA area in bottom softkey landscape mode.
+ */
+ TAknsItemID iClockIndicBgIID;
+ TBool iIsClockIndicBgIIDSet;
+
+ CEikCbaExtension* iExtension;
+ };
+
+/**
+ * EIKON CBA button class definition.
+ *
+ * @internal
+ * @lib eikcoctl.lib
+ * @since S60 0.9
+ */
+class CEikCbaButton : public CAknControl
+ {
+public:
+ /**
+ * Holds information about command id and dimming status for a button.
+ */
+ struct SButtonOptions
+ {
+ TInt iCommandId;
+ TBool iDimmed;
+ };
+public:
+ /**
+ * Destructor.
+ */
+ ~CEikCbaButton();
+
+ /**
+ * Constructs a new CBA button instance.
+ *
+ * @param aAlignment Alignment for label.
+ */
+ void ConstructL(TGulAlignmentValue aAlignment);
+public:
+ /**
+ * Updates the label text with the given label.
+ *
+ * @param aText The new label text.
+ */
+ void AddCommandL(const TDesC& aText);
+
+ /**
+ * Pushes a command into button stack.
+ *
+ * @param aCommandId The command to be pushed.
+ * @param aText Text for the button.
+ */
+ void PushCommandL(TInt aCommandId, const TDesC& aText);
+
+ /**
+ * Pops a command from the button stack.
+ *
+ * @return The button's command id. KErrNotFound if the button stack is empty.
+ */
+ TInt PopCommand();
+
+ /**
+ * Removes a command from the button stack.
+ *
+ * @param aCommandId The command to be removed.
+ */
+ void RemoveCommand(TInt aCommandId);
+
+ /**
+ * Removes the previous command from the button stack.
+ */
+ void RemovePreviousCommand();
+
+ /**
+ * Switches the button's text to short or long depending on the parameter given.
+ *
+ * @param aShortText ETrue for short text, EFalse for the long text.
+ */
+ void SwitchToShortTextL(TBool aShortText);
+
+ /**
+ * Sets the labels font.
+ *
+ * @param aLabelFont The font to be used.
+ */
+ void SetLabelFont(const CFont* aLabelFont);
+
+ /**
+ * Truncates the label. This is done by CEikLabel.
+ */
+ void TruncateLabelText();
+
+ /**
+ * Checks if text is empty in this button.
+ */
+ TBool IsEmptyText() const;
+
+public:
+ /**
+ * From CCoeControl.
+ * Sets the control's containing window by copying it from aContainer.
+ *
+ * @param aContainer The compound control that is the container for this control.
+ */
+ void SetContainerWindowL(const CCoeControl& aContainer);
+
+ /**
+ * Constructs the control from a resource file.
+ *
+ * @param aReader The resource reader.
+ * @param anAlignment Alignment for label.
+ */
+ void ConstructFromResourceL(TResourceReader& aReader, TGulAlignmentValue anAlignment);
+
+ /**
+ * From CCoeControl.
+ * Sets the control's minimum required size.
+ *
+ * @return The minimum size required by the control.
+ */
+ TSize MinimumSize();
+
+ /**
+ * From CCoeControl.
+ * Sets the control to be dimmed.
+ *
+ * @param aDimmed ETrue to dim the control, EFalse to set the control as not dimmed.
+ */
+ void SetDimmed(TBool aDimmed);
+
+ /**
+ * From CCoeControl.
+ * Handles pointer events.
+ *
+ * @param aPointerEvent The pointer event.
+ */
+ IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+
+public:
+ /**
+ * Sets the button's image.
+ *
+ * @param aImage The image to be set.
+ */
+ void SetImage(CEikImage &aImage);
+
+ /**
+ * Replaces the buttons image with label.
+ */
+ void ReplaceImageByLabel();
+
+ /**
+ * Returns whether the button has image set.
+ *
+ * @return ETrue if the button has image set, EFalse otherwise.
+ */
+ inline TBool IsImageOn() const {return iDoImage;};
+
+ /**
+ * Constructs empty button with id EAknSoftkeyEmpty
+ */
+ void ConstructEmptyButtonL();
+
+protected:
+ /**
+ * Returns the button's index by command id.
+ *
+ * @param aCommandId The button's command id.
+ * @return The button's index.
+ */
+ TInt IndexFromCommandId(TInt aCommandId);
+
+ /**
+ * Updates the label text with the given label.
+ *
+ * @param aText The new label text.
+ */
+ void UpdateLabelText(TPtrC aLabelText);
+
+private:
+ /**
+ * From CCoeControl.
+ * Gets the number of controls contained in a compound control.
+ *
+ * @return The number of component controls contained by this control.
+ */
+ TInt CountComponentControls() const;
+
+ /**
+ * From CCoeControl.
+ * Gets an indexed component of a compound control.
+ *
+ * @param The index of the control.
+ * @return The component control with an index of aIndex.
+ */
+ CCoeControl* ComponentControl(TInt aIndex) const;
+
+ /**
+ * From CCoeControl.
+ * Responds to changes to the size and position of the contents of this control.
+ */
+ void SizeChanged();
+
+ /**
+ * From CAknControl.
+ */
+ IMPORT_C void* ExtensionInterface( TUid aInterface );
+
+public: // new functions
+ /**
+ * Returns the state of @c CEikCbaButton.
+ *
+ * @return Boolean value for CEikCbaButtons state. ETrue if button is
+ * pressed down. Otherwise returns EFalse.
+ */
+ TBool PressedDown() const;
+
+ /**
+ * Changes the state of @c CEikCbaButton. Button's state is stored in a
+ * member variable.
+ *
+ * @param aPressedDown The state that button has. @c ETrue if button's
+ * state is pressed down. @c EFalse for normal,
+ * not pressed state.
+ */
+ void SetPressedDown( const TBool aPressedDown );
+
+ /**
+ * Enables bitmap mode and hides the label. The text is drawn by CEikCba
+ * in bitmap mode.
+ * @internal
+ * @since S60 v5.0
+ * @param aEnableBitmap ETrue to enable bitmap mode. EFalse to work in the
+ * standard way.
+ */
+ void SetTextBitmapMode( TBool aEnableBitmap );
+
+ /**
+ * Draws the button text and mask to give graphics contexts. Background
+ * is not drawn.
+ * @internal
+ * @since S60 v5.0
+ * @param aContext Graphics context to render the text itself into.
+ * @param aMaskContext Graphics context to render the text mask into.
+ * @param aOffset Offset between the coordinate system of the target
+ * bitmap context relative to screen coordinates.
+ */
+ void DrawToContext(
+ CBitmapContext& aContext,
+ CBitmapContext& aMaskContext,
+ const TPoint& aOffset ) const;
+
+ /**
+ * Returns the textual value of the button
+ * @internal
+ * @since S60 v5.0
+ */
+ inline TPtrC FullLabelText() { return iFullLabelText;};
+
+private:
+ void PrepareImageL();
+
+protected:
+ TBuf<KMaxCbaLabelLength> iFullLabelText;
+ TPtrC iLongLabelText;
+ TPtrC iShortLabelText;
+ CEikLabel* iLabel;
+ CDesCArray* iText;
+ CArrayFix<SButtonOptions>* iButtonOptions;
+ CEikImage* iImage;
+ /** Original mask for softkey image. */
+ const CFbsBitmap* iMask;
+ /** Feedback effects transparency mask for softkey image. */
+ CFbsBitmap* iSfeMask;
+ TBool iDoImage;
+ /** ETrue if should use text bitmap mode. */
+ TBool iUseTextBitmap;
+ /** Buttons state. */
+ TBool iPressedDown;
+ };
+
+/**
+ * Specialization of CEikCbaButton for the new Enhanced CBA button.
+ *
+ * @lib eikcoctl.lib
+ * @since S60 3.0
+ */
+class CEikEnhancedCbaButton : public CEikCbaButton
+ {
+public:
+ /**
+ * Default constructor.
+ */
+ CEikEnhancedCbaButton();
+
+ /**
+ * Destructor.
+ */
+ ~CEikEnhancedCbaButton();
+
+ /**
+ * Returns the command type for current button.
+ *
+ * @return The command type.
+ */
+ TInt CommandType() const;
+
+ /**
+ * Sets command type for current button.
+ *
+ * @param aCommandType Command type to be set.
+ */
+ void SetCommandType(const TInt aCommandType);
+
+ /**
+ * Returns the command id for current button.
+ *
+ * @return The command id.
+ */
+ TInt CommandId() const;
+
+ /**
+ * Constructs a button based on resource definition.
+ *
+ * @param aReader Resource reader for reading information from resource file.
+ */
+ void ConstructFromResourceL(TResourceReader& aReader);
+
+ /**
+ * Constructs empty button with id EAknSoftkeyEmpty.
+ */
+ void ConstructEmptyButtonL();
+
+ /**
+ * Used to get the label text for the button.
+ *
+ * @return Pointer to the label text.
+ */
+ TPtrC* LabelText();
+
+private: // data
+ TInt iCommandType;
+ TInt iCommandId;
+ };
+
+/**
+ * Holds (enhanced) CBA commands and handles command ordering due to placement rules.
+ *
+ * @lib eikcoctl.lib
+ * @since S60 3.0
+ *
+ * @internal
+ */
+NONSHARABLE_CLASS(CEikCommandTable) : public CBase
+ {
+public:
+ /**
+ * Constructs a new command table instance.
+ *
+ * @return The new command table.
+ */
+ static CEikCommandTable* NewL();
+
+ /**
+ * Constructs a new command table instance.
+ *
+ * @return The new command table.
+ */
+ static CEikCommandTable* NewLC();
+
+ /**
+ * Destructor.
+ */
+ ~CEikCommandTable();
+
+ /**
+ * Used to add a command to CommandTable.
+ *
+ * @param aButton The button to be added.
+ * @return KErrNone if addition was successful.
+ */
+ TInt AddCommandL(CEikEnhancedCbaButton* aButton);
+
+ /**
+ * Used to check if command table has a button with a certain id.
+ *
+ * @param aCommandId The id to be checked.
+ * @return ETrue if command is placed in the command table.
+ */
+ TBool IsCommandPlaced(const TInt aCommandId) const;
+
+ /**
+ * Used to replace command with a new command.
+ *
+ * @param aCommandId Id for command that should be replaced.
+ * @param aResourceId Id for new ENHANCED_CBA_BUTTON resource to be placed in the
+ * CommandTable.
+ */
+ void ReplaceCommandL(const TInt aCommandId, const TInt aResourceId);
+
+ /**
+ * Used to get CEikEnhancedCbaButton for current control button (1-4).
+ *
+ * @param aCommandIndex Index for requested button, use enum TCommandTableCbaPositions.
+ * @return CEikCbaButton for current position, NULL if no button placed in that position.
+ */
+ CEikEnhancedCbaButton* Command(const TInt aCommandIndex);
+
+ /**
+ * Reset CommandTable.
+ */
+ void Reset();
+
+private: // member functions
+ /**
+ * Constructor.
+ */
+ CEikCommandTable();
+
+ /**
+ * Constructs command table with device button priorities.
+ */
+ void ConstructL();
+
+private: // data
+ /** Displayed commands. */
+ TFixedArray<CEikEnhancedCbaButton*, KMaxButtonsInCommandTable> iCommandButtons;
+
+ /** Priority order for each button. */
+ RArray< RArray<TInt> > iPriorities;
+ };
+
+#endif // __EIKCBA_H__
--- a/dependencies/mifconv/group/bld.inf Sat Mar 27 03:52:59 2010 +0530
+++ b/dependencies/mifconv/group/bld.inf Sat Mar 27 10:26:12 2010 +0100
@@ -16,21 +16,7 @@
*/
-PRJ_PLATFORMS
-#ifdef SBSV2
- TOOLS2
-#else
- TOOLS
-#endif
-
-
-PRJ_MMPFILES
-#if defined(TOOLS) || defined(TOOLS2)
- mifconv.mmp
-#endif
-
PRJ_EXPORTS
-#ifdef SBSV2
../makefile_templates/mifconv_global_options.make +/tools/makefile_templates/s60/mifconv_global_options.make
../makefile_templates/mifconv_option_reader_recursive.make +/tools/makefile_templates/s60/mifconv_option_reader_recursive.make
../makefile_templates/mifconv_option_reader.make +/tools/makefile_templates/s60/mifconv_option_reader.make
@@ -42,5 +28,5 @@
../makefile_templates/mifconv.meta +/tools/makefile_templates/s60/mifconv.meta
../makefile_templates/mifconv.mk +/tools/makefile_templates/s60/mifconv.mk
../makefile_templates/mifconv.xml +/tools/makefile_templates/s60/mifconv.xml
-#endif
+ mifconv-s3.exe +/tools/mifconv-s3.exe
Binary file dependencies/mifconv/group/mifconv-s3.exe has changed
--- a/dependencies/mifconv/group/mifconv.mmp Sat Mar 27 03:52:59 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: project definition file
-*
-*/
-
-#include <platform_paths.hrh>
-
-TARGET mifconv.exe
-TARGETTYPE exe
-
-USERINCLUDE ../inc
-MW_LAYER_SYSTEMINCLUDE
-SOURCEPATH ../src
-
-SOURCE mifconv.cpp
-SOURCE mifconv_argument.cpp
-SOURCE mifconv_argumentmanager.cpp
-SOURCE mifconv_bitmapconverter.cpp
-SOURCE mifconv_bitmapheaderconverter.cpp
-SOURCE mifconv_convertermanager.cpp
-SOURCE mifconv_exception.cpp
-SOURCE mifconv_iconbinaryconverter.cpp
-SOURCE mifconv_mifconverter.cpp
-SOURCE mifconv_sourcefile.cpp
-SOURCE mifconv_util.cpp
-
--- a/dependencies/mifconv/makefile_templates/mifconv_global_options.make Sat Mar 27 03:52:59 2010 +0530
+++ b/dependencies/mifconv/makefile_templates/mifconv_global_options.make Sat Mar 27 10:26:12 2010 +0100
@@ -36,7 +36,7 @@
# Binary conversion tools:
SVGTBINENCODE:=$(EPOCROOT)epoc32$/tools$/svgtbinencode
-MIFCONV:=$(EPOCROOT)epoc32$/tools$/mifconv
+MIFCONV:=$(EPOCROOT)epoc32$/tools$/mifconv-s3
# SVG and BMP icon bitmap searching directories, depends on a platform:
VECTORSOURCEDIR:=$(EPOCROOT)epoc32$/s60$/icons
--- a/dependencies/mifconv/src/mifconv.cpp Sat Mar 27 03:52:59 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mifconv main.
-*
-*/
-
-
-#include "mifconv.h"
-#include "mifconv_exception.h"
-#include "mifconv_argumentmanager.h"
-#include "mifconv_convertermanager.h"
-#include "mifconv_util.h"
-
-int main( int argc, char *argv[] )
-{
- cout << endl << "Mifconv v" << MifConvVersion << " - " << MifConvDate << endl;
- // Instantiate the argument manager and mif creator:
- MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance();
- MifConvConverterManager* converterMgr = MifConvConverterManager::Instance();
-
- try {
- // Read arguments to string vector:
- MifConvStringList strList;
- for( int i = 1; i < argc; ++i )
- {
- strList.push_back(MifConvString(argv[i]));
- }
-
- // Initialize arguments:
- argMgr->Init(strList);
-
- // Initialize converters:
- converterMgr->Init();
-
- // Run converters for source files:
- converterMgr->ProcessIcons();
-
- // Cleanup temp files etc:
- converterMgr->Cleanup();
- }
- catch( MifConvException& e ) {
- // In case of error, print exception to stderr, cleanup temp files and exit:
- std::stringstream strForInt;
- strForInt << e.Line();
-
- MifConvUtil::DebugLog(e.File() + MifConvString(":") + strForInt.str() + MifConvString(":") + e.String());
- cerr << e.String() << endl;
- converterMgr->Cleanup(true);
- converterMgr->Reset();
- argMgr->Reset();
- exit(MIFCONV_ERROR);
- }
- catch(...)
- {
- // Unknown error:
- MifConvUtil::DebugLog("MifConv: Unknown error");
- cerr << "MifConv: Unknown error" << endl;
- converterMgr->Cleanup(true);
- converterMgr->Reset();
- argMgr->Reset();
- exit(MIFCONV_ERROR);
- }
-
- converterMgr->Reset();
- argMgr->Reset();
- return MIFCONV_NO_ERROR;
-}
--- a/dependencies/mifconv/src/mifconv_argument.cpp Sat Mar 27 03:52:59 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mifconv tool argument definitions.
-*
-*/
-
-
-#include "mifconv.h"
-#include "mifconv_argument.h"
--- a/dependencies/mifconv/src/mifconv_argumentmanager.cpp Sat Mar 27 03:52:59 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,991 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mifconv argument manager class.
-*
-*/
-
-
-#include "mifconv.h"
-#include "mifconv_argumentmanager.h"
-#include "mifconv_exception.h"
-#include "mifconv_util.h"
-
-// Static singleton initialization
-MifConvArgumentManager* MifConvArgumentManager::iInstance = 0;
-
-/**
- * Returns pointer to the singleton object
- */
-MifConvArgumentManager* MifConvArgumentManager::Instance()
-{
- if( iInstance == 0 )
- {
- iInstance = new MifConvArgumentManager();
- }
- return iInstance;
-}
-
-/**
- * Free the allocated memory
- */
-void MifConvArgumentManager::Reset()
-{
- delete iInstance;
- iInstance = 0;
-}
-
-/**
- *
- */
-inline void MifConvArgumentManager::THROW_USAGE_EXCEPTION() const
-{
- MifConvString usageStr;
- SetUsageString(usageStr);
- throw MifConvException(usageStr, MifConvString(__FILE__), __LINE__);
-}
-
-inline void MifConvArgumentManager::THROW_ERROR( const MifConvString& errorMsg, const MifConvString& file, int line ) const
-{
- throw MifConvException( MifConvString("ERROR: " + errorMsg + "\nType mifconv -? for help\n"), file, line);
-}
-
-/**
- *
- */
-MifConvArgumentManager::MifConvArgumentManager()
-:
-iEpocRoot(DEFAULT_EPOCROOT)
-{
- GetMifEnv();
-}
-
-/**
- *
- */
-MifConvArgumentManager::~MifConvArgumentManager()
-{}
-
-/**
- * This function checks if the given argument is boolean type of argument.
- * Boolean type arguments are listed in a <code>MifConvBooleanArguments</code> table
- * and this function checks if the given string matches any of those. Returns the length
- * of the argument name if found, zero otherwise.
- */
-size_t MifConvArgumentManager::IsBooleanArgument( const MifConvString& argName ) const
-{
- if( IsArgument(argName) )
- {
- try {
- int tblSize = sizeof(MifConvBooleanArguments) / sizeof(MifConvString);
- for( int i = 0; i < tblSize; ++i )
- {
- size_t tmpLen = MifConvBooleanArguments[i].length();
- if( argName.length() > tmpLen )
- {
- if( MifConvUtil::CompareIgnoreCase(MifConvString(argName.begin()+1, argName.begin() + 1 + tmpLen), MifConvBooleanArguments[i]) == 0 )
- {
- return tmpLen;
- }
- }
- }
- }
- catch(...)
- {
- THROW_USAGE_EXCEPTION();
- }
- }
- return 0;
-}
-
-/**
- * This function checks if the given argument is a help argument.
- * Help arguments are listed in a <code>MifConvHelpArguments</code> table
- * and this function checks if the given string matches any of those. Returns the length
- * of the argument name if found, zero otherwise.
- */
-size_t MifConvArgumentManager::IsHelpArgument( const MifConvString& argName ) const
-{
- if( IsArgument(argName) )
- {
- try {
- int tblSize = sizeof(MifConvHelpArguments) / sizeof(MifConvString);
- for( int i = 0; i < tblSize; ++i )
- {
- size_t tmpLen = MifConvHelpArguments[i].length();
-
- // Following check separates -H from -Hheadername.mbg parameter:
- if( argName.length() == tmpLen+1 )
- {
- if( MifConvUtil::CompareIgnoreCase(MifConvString(argName.begin()+1, argName.begin() + 1 + tmpLen), MifConvHelpArguments[i]) == 0 )
- {
- return tmpLen;
- }
- }
- }
- }
- catch(...)
- {
- THROW_USAGE_EXCEPTION();
- }
- }
- return 0;
-}
-
-/**
- * This function checks if the given argument is string type of argument.
- * String type arguments are listed in a <code>MifConvStringArguments</code> table
- * and this function checks if the given string matches any of those. Returns the length
- * of the argument name if found, zero otherwise.
- */
-size_t MifConvArgumentManager::IsStringArgument( const MifConvString& argName ) const
-{
- if( IsArgument(argName) )
- {
- try {
- int tblSize = sizeof(MifConvStringArguments) / sizeof(MifConvString);
- for( int i = 0; i < tblSize; ++i )
- {
- size_t tmpLen = MifConvStringArguments[i].length();
- if( argName.length() > tmpLen )
- {
- if( MifConvUtil::CompareIgnoreCase(MifConvString(argName.begin()+1, argName.begin()+1+tmpLen), MifConvStringArguments[i]) == 0 )
- {
- return tmpLen;
- }
- }
- }
- }
- catch(...)
- {
- THROW_USAGE_EXCEPTION();
- }
- }
- return 0;
-}
-
-/**
- * This function checks if the given argument is string list type of argument.
- * String list type arguments are listed in a <code>MifConvStringListArguments</code> table
- * and this function checks if the given string matches any of those. Returns the length
- * of the argument name if found, zero otherwise.
- */
-size_t MifConvArgumentManager::IsStringListArgument( const MifConvString& argName ) const
-{
- if( IsArgument(argName) )
- {
- try {
- int tblSize = sizeof(MifConvStringListArguments) / sizeof(MifConvString);
- for( int i = 0; i < tblSize; ++i )
- {
- size_t tmpLen = MifConvStringListArguments[i].length();
- if( argName.length() > tmpLen )
- {
- if( MifConvUtil::CompareIgnoreCase(MifConvString(argName.begin()+1, argName.begin()+1+tmpLen), MifConvStringListArguments[i]) == 0 )
- {
- return tmpLen;
- }
- }
- }
- }
- catch(...)
- {
- THROW_USAGE_EXCEPTION();
- }
- }
- return 0;
-}
-
-/**
- *
- */
-bool MifConvArgumentManager::IsDepthArgument( const MifConvString& argName ) const
-{
- if( IsArgument(argName) )
- {
- try {
- int tblSize = sizeof(MifConvDepthArguments) / sizeof(MifConvString);
- for( int i = 0; i < tblSize; ++i )
- {
- size_t tmpLen = MifConvDepthArguments[i].length();
- if( argName.length() > tmpLen )
- {
- MifConvString trimmedArgument(argName.begin()+1, argName.begin() + 1 + tmpLen);
- if( MifConvUtil::CompareIgnoreCase(trimmedArgument, MifConvDepthArguments[i]) == 0 )
- {
- return true;
- }
- }
- }
- }
- catch(...)
- {
- THROW_USAGE_EXCEPTION();
- }
- }
- return false;
-}
-
-/**
- *
- */
-bool MifConvArgumentManager::IsAnimatedFlag( const MifConvString& argName ) const
-{
- return IsArgument( argName ) && argName.length() > MifConvAnimatedIconArg.length() &&
- MifConvUtil::CompareIgnoreCase(MifConvString(argName.begin()+1, argName.end() ), MifConvAnimatedIconArg ) == 0;
-}
-
-/**
- *
- */
-void MifConvArgumentManager::SetTargetFile( const MifConvString& arg )
-{
- iTargetFile = arg;
-}
-
-/**
- *
- */
-const MifConvString& MifConvArgumentManager::TargetFile() const
-{
- return iTargetFile;
-}
-
-/**
- *
- */
-IconDisplayMode MifConvArgumentManager::ConvertToDisplayMode(IconDepth depth) const
-{
- MifConvIconDisplayModeMap::const_iterator i = iDisplayModeMap.find(depth);
- if( i != iDisplayModeMap.end() )
- return i->second;
-
- return DisplayMode_None;
-}
-
-/**
- *
- */
-IconDisplayMode MifConvArgumentManager::ConvertToMaskDisplayMode(IconMaskDepth depth) const
-{
- MifConvMaskIconDisplayModeMap::const_iterator i = iMaskDisplayModeMap.find(depth);
- if( i != iMaskDisplayModeMap.end() )
- return i->second;
-
- return DisplayMode_None;
-}
-
-/**
- *
- */
-IconDepth MifConvArgumentManager::ConvertToDepth( const MifConvString& depthStr ) const
-{
- MifConvIconDepthMap::const_iterator i = iDepthMap.find(depthStr);
- if( i != iDepthMap.end() )
- return i->second;
-
- return IconDepth_Undefined;
-}
-/**
- *
- */
-IconMaskDepth MifConvArgumentManager::ConvertToMaskDepth( const MifConvString depthStr ) const
-{
- MifConvIconMaskDepthMap::const_iterator i = iMaskDepthMap.find(depthStr);
- if( i != iMaskDepthMap.end() )
- return i->second;
-
- return IconMaskDepth_Undefined;
-}
-
-/**
- *
- */
-void MifConvArgumentManager::Init( const MifConvStringList& argList )
-{
- // Build maps for mapping depth, mask and displaymode constants:
- PopulateDepthAndMaskMaps();
- // Allocate search paths where to search source files:
- MifConvString epocRoot(EpocRoot());
-
- // Global icons folder can contain only .svg files:
- iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_ICONS_PATH), vector<MifConvString>(1, SVG_FILE_EXTENSION)));
- // Global bitmaps folder can contain only .bmp files:
- iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_BITMAPS_PATH), vector<MifConvString>(1, BMP_FILE_EXTENSION)));
- // EPOCROOT, if given in environment variables:
- if( epocRoot.length() > 0 )
- {
- iSearchRules.push_back(MifConvSourceSearchRule(epocRoot+EPOC32_PATH, vector<MifConvString>(1, MIFCONV_WILDCARD)));
- }
-
- AddArguments(argList);
-
- // check if the parameter file is given:
- const MifConvString& paramFilename = StringValue(MifConvParameterFileArg);
- if( paramFilename.length() > 0 )
- {
- // Add arguments from the parameter file:
- MifConvStringList paramListFromFile;
- ReadParameterFile( paramFilename, paramListFromFile );
- if( paramListFromFile.size() > 0 )
- {
- AddArguments(paramListFromFile, true);
- }
- }
- // Resolve file type extensions using given flags and investigating the existing files:
- FinalizeArguments();
-}
-
-/**
- * Read string argument value:
- */
-MifConvString MifConvArgumentManager::ReadStringArgument(const MifConvStringList& argList, MifConvStringList::const_iterator& i, unsigned int argNameLen)
-{
- // Take the actual argument value, for example /TmyTempDir --> myTempDir
- MifConvString argValue((*i).begin() + argNameLen, (*i).end());
- if( argValue.length() > 0 )
- {
- // String arguments can have spaces when they are enclosed with " marks (For example directory names).
- if( argValue[0] == '\"' )
- {
- MifConvString quotedArgValue(argValue);
- // Check if the last char is also ":
- if( quotedArgValue[ quotedArgValue.length()-1 ] == '\"' )
- {
- return quotedArgValue;
- }
-
- // See if the next string ends with \" mark, for example "My Folder" is presented with following argument list:
- // argList[0] = "My
- // argList[1] = Folder"
- while(++i != argList.end())
- {
- MifConvString nextString((*i).begin(), (*i).end());
- quotedArgValue += " " + nextString;
- if( nextString[ nextString.length()-1 ] == '\"' )
- {
- return "\"" + quotedArgValue + "\"";
- }
- }
- }
- }
- return argValue;
-}
-
-/**
- * Read string argument value:
- */
-void MifConvArgumentManager::ReadStringListArgument(MifConvStringList::const_iterator& i, unsigned int argNameLen, MifConvStringList& StringValueList)
-{
- // Take the actual argument value, for example /imyInputDir;myTempDir --> myTempDir
- MifConvString argValue((*i).begin() + argNameLen, (*i).end());
- MifConvUtil::SplitString( argValue, STRING_LIST_ARGUMENT_SEPARATOR, StringValueList );
-}
-
-/**
- *
- */
-void MifConvArgumentManager::AddArguments( const MifConvStringList& argList, bool paramsFromFile )
-{
- MifConvStringList::const_iterator i = argList.begin();
-
- if( i == argList.end() )
- {
- THROW_ERROR("No arguments", MifConvString(__FILE__), __LINE__);
- }
-
- // Check if help is needed:
- while( i != argList.end() )
- {
- if( IsHelpArgument(*i) )
- {
- THROW_USAGE_EXCEPTION();
- }
- ++i;
- }
-
- i = argList.begin();
-
- while( i != argList.end() )
- {
- unsigned int argLen = 0;
- if( i == argList.begin() && paramsFromFile == false )
- {
- // First command line argument must be the target file.
- // If the given list (argList) is read from the file, then
- // the first one is not target file.
- if( !IsArgument(*i) )
- {
- MifConvString targetFile(ReadStringArgument( argList, i, 0 ));
- // Make sure that the file extension is .mif:
- targetFile = MifConvUtil::FilenameWithoutExtension(targetFile);
- targetFile += MifConvString(FILE_EXTENSION_SEPARATOR) + MifConvString(MIF_FILE_EXTENSION);
- SetTargetFile(targetFile);
- }
- else
- {
- THROW_ERROR( "Target file must be given as first argument.", MifConvString(__FILE__), __LINE__ );
- }
- ++i;
- if( i == argList.end() )
- {
- THROW_ERROR("Missing arguments", MifConvString(__FILE__), __LINE__);
- }
- }
- else if( IsBooleanArgument(*i) )
- {
- // Insert boolean type argument to the boolean arguments list:
- MifConvString argName((*i).begin()+1, (*i).end());
- MifConvUtil::ToLower(argName); // Lower the cases to make comparison easier later
- std::pair<BooleanArgMap::iterator, bool> res = iBooleanArguments.insert(std::make_pair<MifConvString, MifConvBooleanArgument>(
- argName, MifConvBooleanArgument( argName, true )));
- if( res.second == false )
- {
- // parameter already exists in the map, update the value:
- res.first->second = MifConvBooleanArgument( argName, true );
- }
- ++i;
- }
- else if( (argLen = (unsigned int) IsStringArgument(*i) ) > 0 )
- {
- MifConvString argName((*i).begin()+1, (*i).begin() + 1 + argLen);
- MifConvUtil::ToLower(argName); // Lower the cases to make comparison easier later
- MifConvString argValue(ReadStringArgument( argList, i, argLen+1 ));
- if( argValue.length() == 0 )
- {
- // Do not accept string arguments with zero length (E.g. "/H")
- THROW_ERROR( "Missing argument value for " + *i, MifConvString(__FILE__), __LINE__ );
- }
- // Insert string type argument to the string arguments list:
- std::pair<StringArgMap::iterator, bool> res = iStringArguments.insert(std::make_pair<MifConvString, MifConvStringArgument>(
- argName, MifConvStringArgument( argName, argValue )));
- if( res.second == false )
- {
- // parameter already exists in the map, update the value:
- res.first->second = MifConvStringArgument( argName, argValue );
- }
- ++i;
- }
- else if( (argLen = (unsigned int) IsStringListArgument(*i)) > 0 )
- {
- MifConvString argName((*i).begin()+1, (*i).begin() + 1 + argLen);
- MifConvUtil::ToLower(argName); // Lower the cases to make comparison easier later
- MifConvStringList argValue;
- ReadStringListArgument( i, argLen+1, argValue );
-
- if( argValue.size() == 0 )
- {
- // Do not accept string arguments with zero length (E.g. "/H")
- THROW_ERROR( "Missing argument value for " + *i, MifConvString(__FILE__), __LINE__ );
- }
- // Insert string list type argument to the string arguments list:
- std::pair<StringListArgMap::iterator, bool> res = iStringListArguments.insert(std::make_pair<MifConvString, MifConvStringListArgument>(
- argName, MifConvStringListArgument( argName, argValue )));
- if( res.second == false )
- {
- // parameter already exists in the map, update the value:
- res.first->second = MifConvStringListArgument( argName, argValue );
- }
- ++i;
- }
- else if( IsDepthArgument(*i) )
- {
- // Let's build source file argument...
- // ... first is depth and mask:
- MifConvString depthAndMask(*i);
- MifConvUtil::ToLower(depthAndMask); // Lower the cases to make comparison easier later
- ++i;
- // Check that there is still an argument:
- if( i == argList.end() )
- {
- THROW_ERROR( "Missing source file argument.", MifConvString(__FILE__), __LINE__ );
- }
-
- // Then we check if animated flag is given next:
- bool isAnimated = IsAnimatedFlag(*i);
-
- if( isAnimated )
- {
- // This was an animated flag, so next must be filename:
- ++i;
- // Check that there is still an argument:
- if( i == argList.end() )
- {
- THROW_ERROR( "Missing source file argument.", MifConvString(__FILE__), __LINE__ );
- //THROW_USAGE_EXCEPTION();
- }
- }
-
- // One more check... Check that the next string is not an argument (starting with '-' or '/')
- // It should be a filename for the source icon.
- if( IsArgument(*i) )
- {
- THROW_ERROR( "Missing source file argument.", MifConvString(__FILE__), __LINE__ );
- }
-
- MifConvSourceFile srcFile;
- srcFile.SetDepthAndMask(depthAndMask);
- srcFile.SetDisplayMode(ConvertToDisplayMode(srcFile.Depth()));
- srcFile.SetMaskDisplayMode(ConvertToMaskDisplayMode(srcFile.MaskDepth()));
- srcFile.SetFilename(ReadStringArgument( argList, i, 0 ));
- srcFile.SetAnimated(isAnimated);
- iSourceFiles.push_back(srcFile);
- ++i;
- }
- else if( IsAnimatedFlag(*i) )
- {
- // Icon animated flag found
- // Let's see if the next is depth argument:
- ++i;
- MifConvString depthAndMask;
- if( IsDepthArgument(*i) )
- {
- depthAndMask = *i;
- MifConvUtil::ToLower(depthAndMask);
- ++i;
- }
-
- // One more check... Check that the next string is not an argument (starting with '-' or '/')
- if( IsArgument(*i) )
- {
- THROW_ERROR( "Missing source file argument.", MifConvString(__FILE__), __LINE__ );
- }
-
- MifConvSourceFile srcFile;
- srcFile.SetDepthAndMask(depthAndMask);
- srcFile.SetDisplayMode(ConvertToDisplayMode(srcFile.Depth()));
- srcFile.SetMaskDisplayMode(ConvertToMaskDisplayMode(srcFile.MaskDepth()));
- srcFile.SetFilename(*i);
- srcFile.SetAnimated(true);
- iSourceFiles.push_back(srcFile);
- ++i;
- }
- else
- {
- THROW_ERROR( "Invalid argument: " + *i, MifConvString(__FILE__), __LINE__ );
- }
- }
-}
-
-/**
- * Resolves correct type for the source file. Sets also mask filenames for bmp-files:
- */
-void MifConvArgumentManager::ResolveSourceFileTypes()
-{
- bool extensionFlag = BooleanValue(MifConvUseExtensionArg);
-
- // check if the input directory is given:
- const MifConvStringList& inputDirList = StringListValue(MifConvIconSourceDirectory);
-
- // Add user-defined input directory to search directory list, put MIFCONV_WILDCARD
- // as filetype rule, because user defined directory can contain all supported filetypes:
- int indexcounter = 0;
- for( MifConvStringList::const_iterator iDir = inputDirList.begin(); iDir != inputDirList.end(); ++iDir )
- {
- MifConvSourceSearchRule customRule(*iDir, MifConvStringList(1, MIFCONV_WILDCARD));
- MifConvUtil::ReplaceChar(customRule.SearchPath(), INCORRECT_DIR_SEPARATOR2, DIR_SEPARATOR2);
- MifConvUtil::RemoveDuplicateDirSeparators(customRule.SearchPath());
- iSearchRules.insert(iSearchRules.begin()+indexcounter, customRule);
-
- ++indexcounter;
- }
-
- for( MifConvSourceFileList::iterator src = iSourceFiles.begin(); src != iSourceFiles.end(); ++ src )
- {
- if( extensionFlag )
- {
- MifConvString extension = MifConvUtil::FileExtension(src->Filename());
- if( !FindAndSetPathAndType( *src, extension ) )
- {
- THROW_ERROR_COMMON("File not found " + src->Filename(), MifConvString(__FILE__), __LINE__ );
- }
- }
- else
- {
- // "Use extension" -flag not given, so resolve extensions for source files
- if( !FindAndSetPathAndType( *src, SVGB_BINARY_FILE_EXTENSION ) )
- {
- if( !FindAndSetPathAndType( *src, SVG_FILE_EXTENSION ) )
- {
- if( !FindAndSetPathAndType( *src, BMP_FILE_EXTENSION ) )
- {
- THROW_ERROR_COMMON("File not found " + src->Filename(), MifConvString(__FILE__), __LINE__ );
- }
- }
- }
- }
- }
-}
-
-/**
- *
- */
-void MifConvArgumentManager::GetMifEnv()
-{
- // Read EPOCROOT environment variable
- char* tmpPtr = 0;
- tmpPtr = getenv(EPOCROOT_ENV.c_str());
- if( tmpPtr )
- {
- iEpocRoot = MifConvString(tmpPtr);
- MifConvUtil::ReplaceChar(iEpocRoot, INCORRECT_DIR_SEPARATOR2, DIR_SEPARATOR2);
- // Make sure that the last char is directory separator
- if( iEpocRoot.length() > 0 && iEpocRoot.at( iEpocRoot.length()-1) != DIR_SEPARATOR2 )
- {
- iEpocRoot += DIR_SEPARATOR;
- }
- }
-}
-
-/**
- *
- */
-const MifConvString& MifConvArgumentManager::EpocRoot() const
-{
- return iEpocRoot;
-}
-
-/**
- *
- */
-bool MifConvArgumentManager::FindAndSetPathAndType( MifConvSourceFile& srcFile, const MifConvString& extension )
-{
- // Search the filename first "as is":
- MifConvString tmp( MifConvUtil::FilenameWithoutExtension( srcFile.Filename() ) + MifConvString(FILE_EXTENSION_SEPARATOR) + extension );
- if( MifConvUtil::FileExists(tmp) )
- {
- srcFile.SetFilename(tmp);
- MifConvUtil::FindAndSetBitmapMaskFile(srcFile);
- return true;
- }
-
- // If the absolute path was given, return false, because the file was not found with given path and filename.
- // Otherwise continue searching.
- if( //(srcFile.Filename().length() > 0 && srcFile.Filename().at(0) == DIR_SEPARATOR2) ||
- (srcFile.Filename().length() > 1 && srcFile.Filename().at(1) == ':') )
- {
- return false;
- }
-
- // Search from the pre-defined locations:
- for( SearchRules::iterator i = iSearchRules.begin(); i != iSearchRules.end(); ++i )
- {
- bool validPath = false;
- const MifConvStringList& allowedTypes = i->AllowedFileTypes();
-
- // See if the file with given extension is allowed to locate in search path.
- // For example, epoc32\s60\icons folder can contain only .svg files and epoc32\s60\bitmaps
- // can contain only .bmp files:
- for( MifConvStringList::const_iterator typeIter = allowedTypes.begin(); typeIter != allowedTypes.end(); ++typeIter )
- {
- if( *typeIter == MIFCONV_WILDCARD || *typeIter == extension )
- {
- validPath = true;
- break;
- }
- }
-
- if( validPath )
- {
- MifConvString searchPath(i->SearchPath());
-
- // Make sure that the last char is directory separator
- if( searchPath.length() > 0 && searchPath.at( searchPath.length()-1) != DIR_SEPARATOR2 )
- {
- searchPath += DIR_SEPARATOR;
- }
-
- searchPath += MifConvUtil::FilenameWithoutExtension( srcFile.Filename() ) + MifConvString(FILE_EXTENSION_SEPARATOR) + extension;
-
- MifConvUtil::RemoveDuplicateDirSeparators(searchPath);
-
- if( MifConvUtil::FileExists( searchPath ) )
- {
- srcFile.SetFilename(searchPath);
- MifConvUtil::FindAndSetBitmapMaskFile(srcFile);
- return true;
- }
- }
- }
- return false;
-}
-
-/**
- *
- */
-void MifConvArgumentManager::ProcessArgumentPaths()
-{
- // Fix directory separators first:
- for( StringArgMap::iterator i = iStringArguments.begin(); i != iStringArguments.end(); ++i )
- {
- MifConvString tmp = i->second.Value();
- MifConvUtil::ReplaceChar(tmp, INCORRECT_DIR_SEPARATOR2, DIR_SEPARATOR2);
- MifConvUtil::RemoveDuplicateDirSeparators(tmp);
- i->second.SetValue(tmp);
- }
-
- // Fix directory separators in source filenames also:
- for( MifConvSourceFileList::iterator j = iSourceFiles.begin(); j != iSourceFiles.end(); ++j )
- {
- MifConvString tmp = j->Filename();
- MifConvUtil::ReplaceChar(tmp, INCORRECT_DIR_SEPARATOR2, DIR_SEPARATOR2);
- MifConvUtil::RemoveDuplicateDirSeparators(tmp);
- j->SetFilename(tmp);
- }
-
- // Fix directory separators in search rule directories also:
- for( SearchRules::iterator k = iSearchRules.begin(); k != iSearchRules.end(); ++k )
- {
- MifConvString& tmp = k->SearchPath();
- MifConvUtil::ReplaceChar(tmp, INCORRECT_DIR_SEPARATOR2, DIR_SEPARATOR2);
- MifConvUtil::RemoveDuplicateDirSeparators(tmp);
- }
-
- // Fix target file also:
- MifConvUtil::ReplaceChar(iTargetFile, INCORRECT_DIR_SEPARATOR2, DIR_SEPARATOR2);
- MifConvUtil::RemoveDuplicateDirSeparators(iTargetFile);
-}
-
-/**
- *
- */
-void MifConvArgumentManager::FinalizeArguments()
-{
- ProcessArgumentPaths();
- ResolveSourceFileTypes();
-}
-
-/**
- *
- */
-void MifConvArgumentManager::SetUsageString( MifConvString& usageStr ) const
-{
- usageStr = "";
-
- usageStr += "Copyright (c) " + MifConvYears + " Nokia Corporation and/or its subsidiary(-ies). All rights reserved.\n";
- usageStr += "\n";
- usageStr += "Usage: mifconv <MIFFILE> [-F<file>] <options> <sources>]\n";
- usageStr += "\n";
- usageStr += "Where:\n";
- usageStr += " MIFFILE Specifies the target MIF file to be created\n";
- usageStr += " -F<file> Specifies a parameter file, which can contain any of the options\n";
- usageStr += " and sources separated by spaces or newlines\n";
- usageStr += "\n";
- usageStr += "Options:\n";
- usageStr += " -H<file> Specifies a name of the MIF header file (default extension MBG)\n";
- usageStr += " -I<dir;dir;...> Specifies a set of custom source directories where source files\n";
- usageStr += " will be searched. As a fallback, global source directories are\n";
- usageStr += " used\n";
- usageStr += " -E Specifies that source icons are only loaded with given file\n";
- usageStr += " extensions. By default, Mifconv prefers source icons with\n";
- usageStr += " extension .SVG over .BMP, regardless of which is given as\n";
- usageStr += " a parameter\n";
- usageStr += " -X Disables SVG compression. If this flag is set, SVG icons are\n";
- usageStr += " added to MIF file without compressing them first\n";
- usageStr += " -P<file> Specifies a path to custom palette file for bitmap files\n";
- usageStr += " -T<dir> Specifies a path where temporary files are created\n";
- usageStr += " -B<file> Specifies a path for non-default BMConv utility\n";
- usageStr += " -S<file> Specifies a path for non-default SVGTBinenCode utility\n";
- usageStr += " -V<string> Specifies a non-platform default format version of SVGT binary\n";
- usageStr += " conversion. It can be any of the following value:\n";
- usageStr += " 1 BGR / float encoding\n";
- usageStr += " 2 BGR / fixed point encoding\n";
- usageStr += " 3 RGB / fixed point encoding\n";
- usageStr += " 4 RGB / float encoding\n";
- usageStr += "Sources:\n";
- usageStr += " [-A] <DEPTH[,MASK]> <FILE> [ [-A] <DEPTH[,MASK]> <FILE> ... ]\n";
- usageStr += " [-A] Specifies animated flag for the icon\n";
- usageStr += " [DEPTH] Specifies icon depth, it can be any of these values\n";
- usageStr += " -1,-2,-4,-8,-c4,-c8,-c12,-c16,-c24,-c32\n";
- usageStr += " [MASK] Specifies icon mask depth, it can be any of these values\n";
- usageStr += " 1,8\n";
- usageStr += " [FILE] Specifies path to the input file, supported file extensions are\n";
- usageStr += " SVG, SVGB, BMP\n";
- usageStr += "\n";
- usageStr += "Other info:\n";
-#ifdef WIN32
- usageStr += " * '-' or '/' can be used as parameter switch prefix\n";
-#endif
- usageStr += " * Value of icon mask and depth is meaningful only for bitmap files, but the mask\n";
- usageStr += " value defines if mask entry will be available or not in the header file\n";
- usageStr += " * If mask parameter is defined for a BMP file, Mifconv automatically pics\n";
- usageStr += " a file ending _mask_soft for value 8 and _mask for value 1 of mask\n";
- usageStr += "\n";
- usageStr += "Examples:\n";
- usageStr += " mifconv mybuttons.mif -Hmybuttons.mbg -c8,8 button1 -c8,8 button2\n";
-}
-
-/**
- *
- */
-const MifConvString& MifConvArgumentManager::StringValue( const MifConvString& argName ) const
-{
- StringArgMap::const_iterator i = iStringArguments.find(argName);
- if( i != iStringArguments.end() )
- {
- return i->second.Value();
- }
-
- return iDummyString;
-}
-
-/**
- *
- */
-const MifConvStringList& MifConvArgumentManager::StringListValue( const MifConvString& argName ) const
-{
- StringListArgMap::const_iterator i = iStringListArguments.find(argName);
- if( i != iStringListArguments.end() )
- {
- return i->second.Value();
- }
-
- return iDummyStringList;
-}
-
-/**
- *
- */
-bool MifConvArgumentManager::BooleanValue( const MifConvString& argName ) const
-{
- BooleanArgMap::const_iterator i = iBooleanArguments.find(argName);
- if( i != iBooleanArguments.end() )
- {
- return i->second.Value();
- }
-
- return false;
-}
-
-/**
- *
- */
-const MifConvSourceFileList& MifConvArgumentManager::SourceFiles() const
-{
- return iSourceFiles;
-}
-
-/**
- *
- */
-bool MifConvArgumentManager::IsArgument( const MifConvString& str ) const
-{
- try {
- return str.at(0) == OPTION_PREFIX1_CHAR || str.at(0) == OPTION_PREFIX2_CHAR;
- }
- catch(...)
- {
- THROW_ERROR("Zero or corrupted string in MifConvArgumentManager::IsArgument()\n", MifConvString(__FILE__), __LINE__);
- }
- return false;
-}
-
-/**
- *
- */
-void MifConvArgumentManager::PopulateDepthAndMaskMaps()
-{
- // Insert value-string pairs for the icon depths:
- iDepthMap.insert(std::make_pair(MifConvDepth_1, IconDepth_1));
- iDepthMap.insert(std::make_pair(MifConvDepth_2, IconDepth_2));
- iDepthMap.insert(std::make_pair(MifConvDepth_4, IconDepth_4));
- iDepthMap.insert(std::make_pair(MifConvDepth_8, IconDepth_8));
- iDepthMap.insert(std::make_pair(MifConvDepth_c4, IconDepth_c4));
- iDepthMap.insert(std::make_pair(MifConvDepth_c8, IconDepth_c8));
- iDepthMap.insert(std::make_pair(MifConvDepth_c12, IconDepth_c12));
- iDepthMap.insert(std::make_pair(MifConvDepth_c16, IconDepth_c16));
- iDepthMap.insert(std::make_pair(MifConvDepth_c24, IconDepth_c24));
- iDepthMap.insert(std::make_pair(MifConvDepth_c32, IconDepth_c32));
-
- // Insert value-string pairs for the icon masks:
- iMaskDepthMap.insert(std::make_pair(MifConvMaskDepth_1, IconMaskDepth_1));
- iMaskDepthMap.insert(std::make_pair(MifConvMaskDepth_8, IconMaskDepth_8));
-
- // Insert value-pairs for display modes:
- iDisplayModeMap.insert(std::make_pair(IconDepth_1, DisplayMode_Gray2));
- iDisplayModeMap.insert(std::make_pair(IconDepth_2, DisplayMode_Gray4));
- iDisplayModeMap.insert(std::make_pair(IconDepth_4, DisplayMode_Gray16));
- iDisplayModeMap.insert(std::make_pair(IconDepth_8, DisplayMode_Gray256));
- iDisplayModeMap.insert(std::make_pair(IconDepth_c4, DisplayMode_Color16));
- iDisplayModeMap.insert(std::make_pair(IconDepth_c8, DisplayMode_Color256));
- iDisplayModeMap.insert(std::make_pair(IconDepth_c12, DisplayMode_Color4K));
- iDisplayModeMap.insert(std::make_pair(IconDepth_c16, DisplayMode_Color64K));
- iDisplayModeMap.insert(std::make_pair(IconDepth_c24, DisplayMode_Color16M));
- iDisplayModeMap.insert(std::make_pair(IconDepth_c32, DisplayMode_Color16MU));
-
- iMaskDisplayModeMap.insert(std::make_pair(IconMaskDepth_1, DisplayMode_Gray2));
- iMaskDisplayModeMap.insert(std::make_pair(IconMaskDepth_8, DisplayMode_Gray256));
-}
-
-/**
- *
- */
-void MifConvArgumentManager::ReadParameterFile(const MifConvString& paramFilename, MifConvStringList& paramList)
-{
- // Check if the file exists:
- if( MifConvUtil::FileExists(paramFilename) == false )
- {
- THROW_ERROR_COMMON("Unable to open file for reading! " + paramFilename, MifConvString(__FILE__), __LINE__ );
- }
-
- MifConvFileData paramFileData = MifConvUtil::FileContents(paramFilename);
-
- MifConvString tmpString;
- for(size_t i = 0; i < paramFileData.second; ++i )
- {
- if( MifConvUtil::IsWhiteSpace(paramFileData.first[i]) == false )
- {
- tmpString += paramFileData.first[i];
- }
- else if( tmpString.length() > 0 )
- {
- paramList.push_back( tmpString );
- tmpString = MifConvString();
- }
- }
-
- if( tmpString.length() > 0 )
- {
- paramList.push_back( tmpString );
- tmpString = MifConvString();
- }
- delete[] paramFileData.first;
-}
-
-/**
- * Helper class for source search rules
- */
-
-MifConvSourceSearchRule::MifConvSourceSearchRule(const MifConvString& path, const MifConvStringList& types)
-:
-iSearchPath(path),
-iAllowedFileTypes(types)
-{}
-
-MifConvSourceSearchRule::~MifConvSourceSearchRule()
-{}
-
-const MifConvString& MifConvSourceSearchRule::SearchPath() const
-{
- return iSearchPath;
-}
-
-MifConvString& MifConvSourceSearchRule::SearchPath()
-{
- return iSearchPath;
-}
-
-const MifConvStringList& MifConvSourceSearchRule::AllowedFileTypes() const
-{
- return iAllowedFileTypes;
-}
--- a/dependencies/mifconv/src/mifconv_bitmapconverter.cpp Sat Mar 27 03:52:59 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mifconv bitmap converters class.
-*
-*/
-
-
-#include "mifconv.h"
-#include "mifconv_bitmapconverter.h"
-#include "mifconv_util.h"
-#include "mifconv_exception.h"
-#include "mifconv_argumentmanager.h"
-#include <stdio.h>
-
-const MifConvString BMCONV_DEFAULT_PATH(EPOC_TOOLS_PATH);
-
-/**
- *
- */
-MifConvBitmapConverter::MifConvBitmapConverter()
-{
- MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance();
- // Output file:
- iTargetFilename = MifConvUtil::FilenameWithoutExtension(argMgr->TargetFile()) + "." + MifConvString(MBM_FILE_EXTENSION);
-}
-
-/**
- *
- */
-MifConvBitmapConverter::~MifConvBitmapConverter()
-{
-}
-
-/**
- *
- */
-void MifConvBitmapConverter::Init()
-{
- CleanupTargetFiles();
-}
-
-/**
- *
- */
-void MifConvBitmapConverter::CleanupTargetFiles()
-{
- if( MifConvUtil::FileExists(iTargetFilename) )
- {
- // Try to remove file MIFCONV_MAX_REMOVE_TRIES times, no exception in case of failure:
- MifConvUtil::RemoveFile(iTargetFilename, MIFCONV_MAX_REMOVE_TRIES, true);
- }
-}
-
-/**
- *
- */
-void MifConvBitmapConverter::AppendFile( const MifConvSourceFile& sourcefile )
-{
- if( MifConvUtil::FileExtension( sourcefile.Filename() ) == BMP_FILE_EXTENSION )
- {
- iSourceFiles.push_back( sourcefile );
- }
-}
-
-/**
- *
- */
-void MifConvBitmapConverter::Convert()
-{
- if( iSourceFiles.size() > 0 )
- {
- ConvertToMbm();
- }
-}
-
-/**
- *
- */
-void MifConvBitmapConverter::Cleanup(bool err)
-{
- CleanupTempFiles();
- if( err )
- {
- CleanupTargetFiles();
- }
-}
-
-/**
- *
- */
-void MifConvBitmapConverter::ConvertToMbm()
-{
- RunBmconv();
-}
-
-/**
- *
- */
-void MifConvBitmapConverter::InitTempFile()
-{
- MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance();
- // Construct temp file name
- iTempDir = MifConvUtil::DefaultTempDirectory();
- const MifConvString& tempDirArg = argMgr->StringValue(MifConvTempPathArg);
- if( tempDirArg.length() > 0 )
- {
- iTempDir = tempDirArg;
- }
-
- if( iTempDir.length() > 0 && iTempDir.at(iTempDir.length()-1) != DIR_SEPARATOR2 )
- {
- iTempDir.append(DIR_SEPARATOR);
- }
-
- // Generate new temp-filename:
- iTempDir.append(MifConvUtil::TemporaryFilename());
-
- // append tmp at as postfix
- // this is needed because the generated name can contain a single period '.'
- // character as the last character which is eaten away when the directory created.
- iTempDir.append(MifConvString("tmp"));
-
- MifConvUtil::EnsurePathExists(iTempDir);
-
- iTempDir.append(DIR_SEPARATOR);
-
- iTempFilename = iTempDir + MifConvUtil::FilenameWithoutExtension(MifConvUtil::FilenameWithoutPath(argMgr->TargetFile()));
- iTempFilename += BMCONV_TEMP_FILE_POSTFIX;
-
- // Create temp file
- fstream tempFile(iTempFilename.c_str(), ios::out|ios::binary|ios::trunc);
- if (!tempFile.is_open())
- {
- throw MifConvException(MifConvString("Unable to create tmp file! ") + iTempFilename);
- }
-
- try {
- // quiet mode
- tempFile << BMCONV_OPTION_PREFIX << BMCONV_QUIET_PARAMETER << " ";
- // Palette argument
- const MifConvString& paletteArg = argMgr->StringValue(MifConvPaletteFileArg);
- if( paletteArg.length() > 0 )
- {
- tempFile << BMCONV_OPTION_PREFIX << BMCONV_PALETTE_PARAMETER;
- tempFile << MifConvString(paletteArg + " ");
- }
-
- tempFile << iTargetFilename << " ";
- // Add filenames to the temp file
- for( MifConvSourceFileList::iterator i = iSourceFiles.begin(); i != iSourceFiles.end(); ++i )
- {
- AppendBmpToTempFile(tempFile, *i);
- }
- }
- catch(...) {
- tempFile.close();
- throw;
- }
-
- tempFile.close();
-}
-
-/**
- *
- */
-void MifConvBitmapConverter::RunBmconv()
-{
- MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance();
- // Create and initialize the temp file:
- InitTempFile();
-
- // Build bmconv command
- MifConvString bmconvCommand("\""); // Open " mark
-
- const MifConvString& bmconvPath = argMgr->StringValue(MifConvBmconvPathArg);
- const MifConvString& defaultBmconvPath = GetDefaultBmConvPath();
- if( bmconvPath.length() > 0 )
- {
- bmconvCommand += bmconvPath; // If the path is given, use it.
- }
- else
- {
- bmconvCommand += defaultBmconvPath; // Use default path
- }
-
- // Ensure that the last char of the path is dir-separator:
- if( bmconvCommand.length() > 1 && bmconvCommand.at(bmconvCommand.length()-1) != DIR_SEPARATOR2 )
- bmconvCommand += DIR_SEPARATOR;
-
- // Then add bmconv executable call and close the " mark
- bmconvCommand += BMCONV_EXECUTABLE_NAME + MifConvString("\" ");
- bmconvCommand += "\"" + iTempFilename + "\"";
-
- MifConvUtil::EnsurePathExists(iTargetFilename, true);
-
- cout << "Writing mbm: " << iTargetFilename << endl;
- int err = 0;
-
-#ifdef __linux__
- if ((err = system (MifConvString(bmconvCommand).c_str())) != 0) // Returns 0 if success
-#else
- if ((err = system (MifConvString("\""+bmconvCommand+"\"").c_str())) != 0) // Returns 0 if success
-#endif
- {
- THROW_ERROR_COMMON("Executing BMCONV failed", MifConvString(__FILE__), __LINE__);
- }
-}
-
-/**
- *
- */
-void MifConvBitmapConverter::CleanupTempFiles()
-{
- if( iTempFilename.length() > 0 && remove( iTempFilename.c_str() ) != 0 )
- {
- perror( "Error deleting temporary file (bitmap conversion)" );
- }
-
- if( iTempDir.length() > 0 && MifConvUtil::RemoveDirectory( iTempDir ) != 0 )
- {
- perror( "Error deleting temporary directory (bitmap conversion)" );
- }
-}
-
-/**
- *
- */
-const MifConvString& MifConvBitmapConverter::GetDefaultBmConvPath()
-{
- if( iDefaultBmConvPath.length() == 0 )
- {
- // Check if the EPOCROOT is given
- MifConvString epocRoot(MifConvArgumentManager::Instance()->EpocRoot());
- if( epocRoot.length() > 0 )
- {
- // EPOCROOT environment variable defined.
- iDefaultBmConvPath = epocRoot + BMCONV_DEFAULT_PATH;
- }
- }
-
- return iDefaultBmConvPath;
-}
-
-/**
- *
- */
-void MifConvBitmapConverter::AppendBmpToTempFile(fstream& aStream, const MifConvSourceFile& bmpFile)
- {
- cout << "Loading file: " << bmpFile.Filename() << endl;
-
- aStream << BMCONV_OPTION_PREFIX;
- aStream << bmpFile.DepthString();
- aStream << bmpFile.Filename();
- aStream << " ";
-
- // Prepare also for the case that mask is not used at all.
- const MifConvString& maskName = bmpFile.BmpMaskFilename();
- if (maskName.length() > 0 )
- {
- cout << "Loading file: " << maskName << endl;
- aStream << BMCONV_OPTION_PREFIX;
- aStream << bmpFile.MaskDepthString();
- aStream << maskName;
- }
- aStream << " ";
- }
--- a/dependencies/mifconv/src/mifconv_bitmapheaderconverter.cpp Sat Mar 27 03:52:59 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mifconv bitmap header converter class.
-*
-*/
-
-
-#include "mifconv.h"
-#include "mifconv_bitmapheaderconverter.h"
-#include "mifconv_argumentmanager.h"
-#include "mifconv_util.h"
-#include "mifconv_exception.h"
-
-const int MIF_ID_FIRST = 16384;
-
-/**
- *
- */
-MifConvBitmapHeaderConverter::MifConvBitmapHeaderConverter()
-:
-iCurrentSourceId(MIF_ID_FIRST)
-{
- MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance();
- iHeaderFilename = argMgr->StringValue(MifConvHeaderArg);
-}
-
-/**
- *
- */
-MifConvBitmapHeaderConverter::~MifConvBitmapHeaderConverter()
-{
-}
-
-/**
- *
- */
-void MifConvBitmapHeaderConverter::Init()
-{
- CleanupTargetFiles();
-}
-
-/**
- *
- */
-void MifConvBitmapHeaderConverter::CleanupTargetFiles()
-{
- if( MifConvUtil::FileExists(iHeaderFilename) )
- {
- // Try to remove file MIFCONV_MAX_REMOVE_TRIES times, no exception in case of failure:
- MifConvUtil::RemoveFile(iHeaderFilename, MIFCONV_MAX_REMOVE_TRIES, true);
- }
-}
-
-/**
- *
- */
-void MifConvBitmapHeaderConverter::AppendFile( const MifConvSourceFile& sourcefile )
-{
- iSourceFiles.push_back( sourcefile );
-}
-
-/**
- *
- */
-void MifConvBitmapHeaderConverter::Convert()
-{
- // Check if the headerfile name is given. Return if not:
- if( iHeaderFilename.length() > 0 )
- {
- cout << "Writing mbg: " << iHeaderFilename << endl;
- MifConvUtil::EnsurePathExists(iHeaderFilename, true);
- }
- else
- {
- return;
- }
-
- // Create / open the header file:
- fstream headerFile(iHeaderFilename.c_str(), ios::out|ios::trunc);
-
- // If file creation/opening was not successful, give warning and return:
- if( !headerFile.is_open() )
- {
- MifConvString debugStr("WARNING: Headerfile " + iHeaderFilename + " cannot be opened for writing.");
- cout << debugStr << endl;
- MifConvUtil::DebugLog(debugStr);
- return;
- }
- iDestFile = &headerFile; // Save the pointer to the file stream
- (*iDestFile) << endl;
- // Write the beginning of the header file:
- WriteStart();
-
- // Add source file items to enumerator:
- for( MifConvSourceFileList::iterator i = iSourceFiles.begin(); i != iSourceFiles.end(); ++i )
- {
- WriteItemToHeader(*i);
- }
-
- // Write the end of the file...
- WriteEnd();
-
- // ...and close the file:
- iDestFile->close();
-}
-
-/**
- *
- */
-void MifConvBitmapHeaderConverter::WriteStart()
-{
- (*iDestFile) << "/* This file has been generated, DO NOT MODIFY. */" << endl;
- (*iDestFile) << "enum TMif" << MifConvUtil::UnadornedFilename(iHeaderFilename) << "\n\t{" << endl;
-}
-
-/**
- *
- */
-void MifConvBitmapHeaderConverter::WriteItemToHeader( const MifConvSourceFile& source )
-{
- MifConvString unadornedHeaderFile(MifConvUtil::UnadornedFilename(iHeaderFilename));
-
- (*iDestFile) << "\tEMbm" << unadornedHeaderFile << MifConvUtil::UnadornedFilename(source.Filename()) << " = " << iCurrentSourceId++ << "," << endl;
-
- // Write mask also, if any:
- if( source.MaskDepth() != IconMaskDepth_Undefined )
- {
- (*iDestFile) << "\tEMbm" << unadornedHeaderFile << MifConvUtil::UnadornedFilename(source.Filename()) << "_mask = " << iCurrentSourceId++ << "," << endl;
- }
- else
- {
- // Skip mask ID if mask not present so that adding a mask later does not change IDs.
- iCurrentSourceId++;
- }
-}
-
-/**
- *
- */
-void MifConvBitmapHeaderConverter::WriteEnd()
-{
- (*iDestFile) << "\tEMbm" << MifConvUtil::UnadornedFilename(iHeaderFilename) << "LastElement" << endl;
- (*iDestFile) << "\t};" << endl;
-}
-
-/**
- *
- */
-void MifConvBitmapHeaderConverter::Cleanup(bool err)
-{
- if( err )
- {
- CleanupTargetFiles();
- }
-}
--- a/dependencies/mifconv/src/mifconv_convertermanager.cpp Sat Mar 27 03:52:59 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mifconv converter manager class.
-*
-*/
-
-
-#include "mifconv.h"
-#include "mifconv_convertermanager.h"
-#include "mifconv_argumentmanager.h"
-#include "mifconv_util.h"
-#include "mifconv_bitmapconverter.h"
-#include "mifconv_bitmapheaderconverter.h"
-#include "mifconv_iconbinaryconverter.h"
-#include "mifconv_mifconverter.h"
-
-// Static singleton initialization
-MifConvConverterManager* MifConvConverterManager::iInstance = 0;
-
-/**
- * Returns pointer to the singleton object
- */
-MifConvConverterManager* MifConvConverterManager::Instance()
-{
- if( iInstance == 0 )
- {
- iInstance = new MifConvConverterManager();
- }
- return iInstance;
-}
-
-/**
- * Free the allocated memory
- */
-void MifConvConverterManager::Reset()
-{
- delete iInstance;
- iInstance = 0;
-}
-
-/**
- * Constructor
- */
-MifConvConverterManager::MifConvConverterManager()
-{
-
-}
-
-/**
- *
- */
-void MifConvConverterManager::Init()
-{
- // Add bmp --> mbm converter:
- MifConvBitmapConverter* bitmapConverter = new MifConvBitmapConverter();
- iAllConverters.push_back(bitmapConverter);
-
- // Add headerfile (mbg) converter:
- MifConvBitmapHeaderConverter* headerConverter = new MifConvBitmapHeaderConverter();
- iAllConverters.push_back(headerConverter);
-
- // Add svg --> svgb converter:
- MifConvIconBinaryConverter* svgConverter = new MifConvIconBinaryConverter();
- iAllConverters.push_back(svgConverter);
-
- // Add mif converter:
- MifConvMifConverter* mifConverter = new MifConvMifConverter();
- iAllConverters.push_back(mifConverter);
-
- // Add file converters for .BMP files:
- MifConvFileConverterList bmpConverters;
- bmpConverters.push_back(bitmapConverter);
- bmpConverters.push_back(headerConverter);
- bmpConverters.push_back(mifConverter);
- iFileConverters.insert(std::make_pair(MifConvString(BMP_FILE_EXTENSION), bmpConverters));
-
- // Add file converters for .SVG files:
- MifConvFileConverterList svgConverters;
- svgConverters.push_back(headerConverter);
- svgConverters.push_back(svgConverter);
- if( MifConvArgumentManager::Instance()->BooleanValue(MifConvDisableSvgCompression) )
- {
- // SVG files will be added to mif-file without compression (i.e. don't use svgtbinencode for them).
- svgConverters.push_back(mifConverter);
- }
- iFileConverters.insert(std::make_pair(MifConvString(SVG_FILE_EXTENSION), svgConverters));
-
- // Add file converters for .SVGB files:
- MifConvFileConverterList svgbConverters;
- svgbConverters.push_back(headerConverter);
- if( !MifConvArgumentManager::Instance()->BooleanValue(MifConvDisableSvgCompression) )
- {
- // SVG files will be compressed first.
- svgbConverters.push_back(mifConverter);
- }
- iFileConverters.insert(std::make_pair(MifConvString(SVGB_BINARY_FILE_EXTENSION), svgbConverters));
-
- // Initialize converters
- for( MifConvFileConverterList::iterator i = iAllConverters.begin(); i != iAllConverters.end(); ++i )
- {
- (*i)->Init();
- }
-}
-
-/**
- * Destructor
- */
-MifConvConverterManager::~MifConvConverterManager()
-{
- for( MifConvFileConverterList::iterator conv = iAllConverters.begin(); conv != iAllConverters.end(); ++conv )
- {
- delete *conv;
- }
-}
-
-/**
- * Adds source files to converters and converts them
- */
-void MifConvConverterManager::ProcessIcons()
-{
- MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance();
- // Loop all the source files and append them to correct converters:
- const MifConvSourceFileList& sourcefiles = argMgr->SourceFiles();
- for( MifConvSourceFileList::const_iterator i = sourcefiles.begin(); i != sourcefiles.end(); ++i )
- {
- MifConvFileConverterList& converters = GetConverters(*i);
- for( MifConvFileConverterList::iterator converter = converters.begin(); converter != converters.end(); ++converter )
- {
- (*converter)->AppendFile(*i);
- }
- }
-
- // Run all the converters:
- for( MifConvFileConverterList::iterator conv = iAllConverters.begin(); conv != iAllConverters.end(); ++conv )
- {
- (*conv)->Convert();
- }
-}
-
-/**
- *
- */
-void MifConvConverterManager::Cleanup(bool error)
-{
- for( MifConvFileConverterList::iterator conv = iAllConverters.begin(); conv != iAllConverters.end(); ++conv )
- {
- try {
- (*conv)->Cleanup(error);
- }
- catch(...) {
- // Exception should not be thrown if cleaning after error situation
- if( !error )
- throw;
- }
- }
-}
-
-/**
- *
- */
-MifConvFileConverterList& MifConvConverterManager::GetConverters(const MifConvSourceFile& source)
-{
- return GetConverters(source.Filename());
-}
-
-/**
- *
- */
-MifConvFileConverterList& MifConvConverterManager::GetConverters(const MifConvString& filename)
-{
- MifConvString extension(MifConvUtil::FileExtension(filename));
- FileConverterMap::iterator i = iFileConverters.find(extension);
- if( i != iFileConverters.end() )
- {
- return i->second;
- }
-
- return iDummyConverterList;
-}
--- a/dependencies/mifconv/src/mifconv_exception.cpp Sat Mar 27 03:52:59 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mifconv exception class.
-*
-*/
-
-
-#include "mifconv.h"
-#include "mifconv_exception.h"
-
-MifConvException::MifConvException()
-:
-iLine(0)
-{}
-
-MifConvException::MifConvException(const MifConvString& str, const MifConvString& file, int line)
-:
-iString(str),
-iFile(file),
-iLine(line)
-{}
-
-MifConvException::MifConvException(const MifConvException& rhs)
-:
-iString(rhs.iString),
-iFile(rhs.iFile),
-iLine(rhs.iLine)
-{}
-
-MifConvException::~MifConvException()
-{}
-
-void MifConvException::SetString(const MifConvString& str)
-{
- iString = str;
-}
-const MifConvString& MifConvException::String() const
-{
- return iString;
-}
-
-MifConvString& MifConvException::String()
-{
- return iString;
-}
-
-void MifConvException::SetFile(const MifConvString& file)
-{
- iFile = file;
-}
-
-const MifConvString& MifConvException::File() const
-{
- return iFile;
-}
-
-void MifConvException::SetLine(int line)
-{
- iLine = line;
-}
-
-int MifConvException::Line() const
-{
- return iLine;
-}
--- a/dependencies/mifconv/src/mifconv_iconbinaryconverter.cpp Sat Mar 27 03:52:59 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,302 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mifconv icon binary converters class.
-*
-*/
-
-
-#include "mifconv.h"
-#include "mifconv_iconbinaryconverter.h"
-#include "mifconv_util.h"
-#include "mifconv_exception.h"
-#include "mifconv_convertermanager.h"
-#include "mifconv_argumentmanager.h"
-#include <errno.h>
-#include <algorithm>
-
-const MifConvString SVGTBINENCODE_DEFAULT_PATH(EPOC_TOOLS_PATH);
-
-/**
- *
- */
-MifConvIconBinaryConverter::MifConvIconBinaryConverter()
-{
-}
-
-/**
- *
- */
-MifConvIconBinaryConverter::~MifConvIconBinaryConverter()
-{
-}
-
-/**
- *
- */
-void MifConvIconBinaryConverter::Init()
-{
-}
-
-/**
- *
- */
-void MifConvIconBinaryConverter::CleanupTargetFiles()
-{
-}
-
-/**
- *
- */
-void MifConvIconBinaryConverter::AppendFile( const MifConvSourceFile& sourcefile )
-{
- if( MifConvUtil::FileExtension( sourcefile.Filename() ) == SVG_FILE_EXTENSION &&
- MifConvArgumentManager::Instance()->BooleanValue(MifConvDisableSvgCompression) == false)
- {
- iSourceFiles.push_back( sourcefile );
-
- // Create temp directory:
- if( iTempDir.length() == 0 )
- {
- InitTempFile();
- }
-
- // External SVGTBINENCODE converts .svg files to .svgb files. However, .svgb files
- // shall be given to mif-converter to get them in mif-file:
-
- // Create new string for .svgb file name:
- MifConvString tmpFile(sourcefile.Filename());
- ConvertToBinaryFilename(tmpFile);
- MifConvString tempBinFilename(iTempDir + MifConvUtil::FilenameWithoutExtension(tmpFile) + "." + SVGB_BINARY_FILE_EXTENSION);
-
- // Get converters for .svgb files:
- MifConvFileConverterList& additionalConverters = MifConvConverterManager::Instance()->GetConverters(tempBinFilename);
-
- // Converters for .svg files:
- MifConvFileConverterList& thisFilesConverters = MifConvConverterManager::Instance()->GetConverters( sourcefile.Filename() );
-
- // Save temporary binary filename for later deleting:
- iTempFilenames.push_back(tempBinFilename);
-
- // Add temporary file to converters:
- for( MifConvFileConverterList::iterator c = additionalConverters.begin(); c != additionalConverters.end(); ++c )
- {
- // We have to make sure that we don't add same file twice to same converter. So, let's take first a list of
- // .svg file converters and compare them to the .svgb file converters. Don't add temporary file to converters
- // that are found from both of the lists.
- MifConvFileConverterList::iterator c2 = std::find(thisFilesConverters.begin(), thisFilesConverters.end(), *c );
- if( c2 == thisFilesConverters.end() )
- {
- // .svgb converter not found from .svg converters -> add temporary file to .svgb converter:
- MifConvSourceFile svgbFile(sourcefile);
- svgbFile.SetFilename(tempBinFilename);
- (*c)->AppendFile(svgbFile);
- }
- }
- }
-}
-
-/**
- *
- */
-void MifConvIconBinaryConverter::Convert()
-{
- if( iSourceFiles.size() > 0 && MifConvArgumentManager::Instance()->BooleanValue(MifConvDisableSvgCompression) == false )
- {
- ConvertToSvgb();
- }
-}
-
-/**
- *
- */
-void MifConvIconBinaryConverter::Cleanup(bool err)
-{
- CleanupTempFiles();
- if( err )
- {
- CleanupTargetFiles();
- }
-}
-
-/**
- *
- */
-void MifConvIconBinaryConverter::ConvertToSvgb()
-{
- RunExtConverter();
-}
-
-/**
- *
- */
-void MifConvIconBinaryConverter::InitTempFile()
-{
- MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance();
- // Construct temp file name
- // If temp directory is given in command line arguments, use it:
- iTempDir = MifConvUtil::DefaultTempDirectory();
- const MifConvString& tempDirArg = argMgr->StringValue(MifConvTempPathArg);
- if( tempDirArg.length() > 0 )
- {
- iTempDir = tempDirArg;
- }
-
- if( iTempDir.length() > 0 && iTempDir.at(iTempDir.length()-1) != DIR_SEPARATOR2 )
- {
- iTempDir.append(DIR_SEPARATOR);
- }
-
- // Generate new temp-filename:
- iTempDir.append(MifConvUtil::TemporaryFilename());
-
- // append tmp at as postfix
- // this is needed because the generated name can contain a single period '.'
- // character as the last character which is eaten away when the directory created.
- iTempDir.append(MifConvString("tmp"));
-
- MifConvUtil::EnsurePathExists(iTempDir);
-
- iTempDir.append(DIR_SEPARATOR);
-}
-
-/**
- *
- */
-void MifConvIconBinaryConverter::ConvertToBinaryFilename( MifConvString& input )
-{
- MifConvUtil::ReplaceChar(input, DIR_SEPARATOR2, '_');
- MifConvUtil::ReplaceChar(input, INCORRECT_DIR_SEPARATOR2, '_');
- MifConvUtil::ReplaceChar(input, ':', '_');
- MifConvUtil::ReplaceChar(input, ' ', '_');
-}
-
-/**
- *
- */
-void MifConvIconBinaryConverter::RunExtConverter()
-{
- MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance();
-
- // Build svgtbinencode command
- MifConvString extConverterCommand("\""); // Open the " mark
- MifConvString versionArgument;
- MifConvString sourceArgument;
-
- const MifConvString& extConverterPath = argMgr->StringValue(MifConvSvgencodePathArg);
- const MifConvString& defaultExtConverterPath = GetDefaultExtConverterPath();
- if( extConverterPath.length() > 0 )
- {
- extConverterCommand += extConverterPath; // If the path is given, use it.
- }
- else
- {
- extConverterCommand += defaultExtConverterPath; // Use default path
- }
-
- // Ensure that the last char of the path is dir-separator:
- if( extConverterCommand.length() > 1 && extConverterCommand.at(extConverterCommand.length()-1) != DIR_SEPARATOR2 )
- extConverterCommand += DIR_SEPARATOR;
-
- // Then add SVGTBINENCODE executable call and close the " mark
- extConverterCommand += SVGTBINENCODE_EXECUTABLE_NAME + MifConvString("\" ");
-
- // If SVGTBINENCODE version is given, use it also:
- const MifConvString& extConverterVersion = argMgr->StringValue(MifConvSvgtVersionArg);
- if( extConverterVersion.length() > 0 )
- {
- versionArgument = SVGTBINENCODE_OPTION_PREFIX +
- MifConvString(SVGTBINENCODE_VERSION_PARAMETER) + " " + extConverterVersion;
- extConverterCommand += versionArgument + " ";
- }
-
- // Run converter for each of the source files:
- for( MifConvSourceFileList::iterator i = iSourceFiles.begin(); i != iSourceFiles.end(); ++i )
- {
- // Build temp filename by replacing dir separator and ':' chars with '_':
- MifConvString tmpFileName(i->Filename());
- ConvertToBinaryFilename(tmpFileName);
-
- // Copy source file to temp directory:
- MifConvString to(iTempDir + tmpFileName);
- if( MifConvUtil::CopyFile(i->Filename(), to) == false )
- {
- THROW_ERROR_COMMON("File copy failed: " + to, MifConvString(__FILE__), __LINE__ );
- }
- iTempFilenames.push_back(to);
- // It seems that system() function does not work if the command consists of two separate parts
- // enclosed with quotation marks. If the whole string is enclosed with quotation marks then it works...
- // For example: command '"\epoc32\tools\bmconv" "somefile"' does not work while command
- // '""\epoc32\tools\bmconv" "somefile""' does.
- if( system(MifConvString("\""+extConverterCommand+"\""+to+"\"\"").c_str()) < 0 )
- {
- int ernro = errno; // The error number must check straight away before any next system command
-
- MifConvString errStr("Executing SVGTBINENCODE failed");
- if( ernro )
- {
- errStr += ", system error = " + MifConvUtil::ToString(ernro); // Possible system error.
- }
- THROW_ERROR_COMMON(errStr, MifConvString(__FILE__), __LINE__ );
- }
- }
-}
-
-/**
- *
- */
-void MifConvIconBinaryConverter::CleanupTempFiles()
-{
- for( MifConvStringList::iterator i = iTempFilenames.begin(); i != iTempFilenames.end(); ++i )
- {
- if( remove( i->c_str() ) != 0 )
- {
- perror( "Error deleting file (svg conversion)" );
- }
- }
- if( iTempDir.length() > 0 && MifConvUtil::RemoveDirectory( iTempDir ) != 0 )
- {
- perror( "Error deleting temporary directory (svg conversion)" );
- }
-}
-
-/**
- *
- */
-const MifConvString& MifConvIconBinaryConverter::GetDefaultExtConverterPath()
-{
- if( iDefaultExtConverterPath.length() == 0 )
- {
- // Check if the EPOCROOT is given
- MifConvString epocRoot(MifConvArgumentManager::Instance()->EpocRoot());
- if( epocRoot.length() > 0 )
- {
- iDefaultExtConverterPath += epocRoot;
- }
-
- // Ensure that the last char of the path is dir-separator:
- if( iDefaultExtConverterPath.length() > 0 )
- {
- if( iDefaultExtConverterPath.at(iDefaultExtConverterPath.length()-1) != DIR_SEPARATOR2 )
- {
- iDefaultExtConverterPath += DIR_SEPARATOR;
- }
- iDefaultExtConverterPath += SVGTBINENCODE_DEFAULT_PATH;
- }
- }
-
- return iDefaultExtConverterPath;
-}
-
-
-
--- a/dependencies/mifconv/src/mifconv_mifconverter.cpp Sat Mar 27 03:52:59 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mifconv MIF converters class.
-*
-*/
-
-
-#include "mifconv.h"
-#include "mifconv_mifconverter.h"
-#include "mifconv_util.h"
-#include "mifconv_exception.h"
-#include "mifconv_argumentmanager.h"
-
-// File versions:
-// V1 - first version.
-// V2 - stores information if icon location (MIF/MBM) inside the MIF file (bitmap offsets array).
-// This way, icon IDs in MBG header can be always the same regardless of which icons are in MIF
-// file and which in MBM file.
-static const int KFileVersion(2);
-static const int KIconVersion(1);
-
-static const int FileHeaderSizeInBytes = 4*4;
-static const int IconHeaderSizeInBytes = 4*8;
-static const int KUidAvkonMultiIconFile(0x034232342);
-static const int KUidAvkonMultiIcon(0x034232343);
-
-//static const int IconFormatType_BMP(0);
-//static const int IconFormatType_SVG(1);
-
-static const unsigned int svgbSignatureLow (0x03FA56CC); //66737868
-static const unsigned int svgbSignatureHigh(0x03FA56CF); //66737871
-
-static const unsigned int nvgSignatureLow (0x0067766E); //('n'+'v'+'g'+0)
-static const unsigned int nvgSignatureHigh(0xFF67766E); //('n'+'v'+'g'+255)
-
-/**
- *
- */
-MifConvMifConverter::MifConvMifConverter()
-{
- MifConvArgumentManager* argMgr = MifConvArgumentManager::Instance();
- iTargetFilename = argMgr->TargetFile();
-}
-
-/**
- *
- */
-MifConvMifConverter::~MifConvMifConverter()
-{
- // Delete file contents
- for( StringPtrVector::iterator i = iContentPointers.begin(); i != iContentPointers.end(); ++i )
- {
- delete[] *i;
- }
-}
-
-/**
- *
- */
-void MifConvMifConverter::Init()
-{
- CleanupTargetFiles();
-}
-
-/**
- *
- */
-void MifConvMifConverter::CleanupTargetFiles()
-{
- if( MifConvUtil::FileExists(iTargetFilename) )
- {
- // Try to remove file MIFCONV_MAX_REMOVE_TRIES times, no exception in case of failure:
- MifConvUtil::RemoveFile(iTargetFilename, MIFCONV_MAX_REMOVE_TRIES, true);
- }
-}
-
-/**
- *
- */
-void MifConvMifConverter::AppendFile( const MifConvSourceFile& sourcefile )
-{
- if( MifConvUtil::FileExtension( sourcefile.Filename() ) == BMP_FILE_EXTENSION ||
- MifConvUtil::FileExtension( sourcefile.Filename() ) == SVG_FILE_EXTENSION ||
- MifConvUtil::FileExtension( sourcefile.Filename() ) == SVGB_BINARY_FILE_EXTENSION )
- {
- iSourceFiles.push_back( sourcefile );
- }
-}
-
-void MifConvMifConverter::Convert()
-{
- ReadFileContents();
- cout << "Writing mif: " << MifConvArgumentManager::Instance()->TargetFile() << endl;
- ConvertToMif();
-}
-
-void MifConvMifConverter::ReadFileContents()
-{
- for( MifConvSourceFileList::iterator i = iSourceFiles.begin(); i != iSourceFiles.end(); ++i )
- {
- // Just read the contents of the .svgb files
- if( MifConvUtil::FileExtension( i->Filename() ) != BMP_FILE_EXTENSION )
- {
- if( MifConvUtil::FileExists(i->Filename()) == false )
- {
- THROW_ERROR_COMMON("Unable to open file for reading! " + i->Filename(), MifConvString(__FILE__), __LINE__ );
- }
- cout << "Loading file: " << i->Filename() << endl;
- MifConvFileData retVal = MifConvUtil::FileContents(i->Filename());
- iContentPointers.push_back(retVal.first); // Save pointer for deleting it later
- i->SetContent(retVal.first, retVal.second);
- }
- }
-}
-
-
-void MifConvMifConverter::Cleanup(bool err)
-{
- CleanupTempFiles();
- if( err )
- {
- CleanupTargetFiles();
- }
-}
-
-void MifConvMifConverter::ConvertToMif()
-{
- try {
- OpenTargetFile();
- }
- catch( MifConvException& e )
- {
- // If file creation/opening was not successful, give warning and return:
- MifConvString debugStr("WARNING: Target file " + iTargetFilename + " cannot be opened for writing.");
- cout << debugStr << endl;
- MifConvUtil::DebugLog(debugStr);
- return;
- }
- WriteTargetHeader();
- WriteIconArray();
- WriteIcons();
-}
-
-void MifConvMifConverter::OpenTargetFile()
-{
- iTargetFile.open( iTargetFilename.c_str(), ios::out|ios::binary );
-
- if (!iTargetFile.is_open())
- {
- // Create path if it does not exist.
- MifConvUtil::EnsurePathExists(iTargetFilename, true);
- iTargetFile.clear();
- iTargetFile.open( iTargetFilename.c_str(), ios::out|ios::binary );
- }
- if (!iTargetFile.is_open())
- {
- THROW_ERROR_COMMON("Cannot write to file! " + iTargetFilename, MifConvString(__FILE__), __LINE__);
- }
-}
-
-void MifConvMifConverter::WriteTargetHeader()
- {
- size_t arraySize = iSourceFiles.size() * 2;
- int offset = FileHeaderSizeInBytes;
- iTargetFile.write( (char*) &KUidAvkonMultiIconFile, 4 );
- iTargetFile.write( (char*) &KFileVersion, 4 );
- iTargetFile.write( (char*) &offset, 4 );
- iTargetFile.write( (char*) &arraySize, 4 );
- }
-
-void MifConvMifConverter::CleanupTempFiles()
-{
-}
-
-void MifConvMifConverter::WriteIcons()
-{
- for( MifConvSourceFileList::iterator i = iSourceFiles.begin(); i != iSourceFiles.end(); ++i )
- {
- if( i->ContentLength() > 0 )
- {
- WriteIconHeader(*i);
- WriteIconData(*i);
- }
- }
-}
-
-MifConvDefs::IconFormatType MifConvMifConverter::ReadIconBinaryType(const MifConvSourceFile& src)
-{
- MifConvDefs::IconFormatType ret = MifConvDefs::IconFormatType_SVG;
-
- if( src.ContentLength() >= 4 )
- {
- const char* iconData = src.Content();
-
- if( iconData[0] == 'n' &&
- iconData[1] == 'v' &&
- iconData[2] == 'g' )
- {
- ret = MifConvDefs::IconFormatType_NVG;
- }
- }
-
- return ret;
-}
-
-void MifConvMifConverter::WriteIconHeader(const MifConvSourceFile& src)
-{
- int type = 0;
- if( MifConvUtil::FileExtension(src.Filename()) == BMP_FILE_EXTENSION )
- type = MifConvDefs::IconFormatType_BMP;
- else
- type = ReadIconBinaryType(src);
- //type = IconFormatType_SVG;
-
- int animated = (int) src.IsAnimated();
- int dataLen = src.ContentLength();
- int depth = src.DisplayMode();
- int mask = src.MaskDisplayMode();
- int dataoffset = IconHeaderSizeInBytes; // 8 = number of writes in this method.
-
- iTargetFile.write((char*)&KUidAvkonMultiIcon, 4); // 1
- iTargetFile.write((char*)&KIconVersion, 4); // 2
- iTargetFile.write((char*)&dataoffset, 4); // 3
- iTargetFile.write((char*)&dataLen, 4); // 4
- iTargetFile.write((char*)&type, 4); // 5
- iTargetFile.write((char*)&depth, 4); // 6
- iTargetFile.write((char*)&animated, 4); // 7
- iTargetFile.write((char*)&mask, 4); // 8
-}
-
-void MifConvMifConverter::WriteIconData(const MifConvSourceFile& src)
-{
- if( src.Content() )
- {
- iTargetFile.write(src.Content(), src.ContentLength());
- }
-}
-
-/**
-*
-*/
-void MifConvMifConverter::WriteIconArray()
-{
- int offset = (int) FileHeaderSizeInBytes + (int)iSourceFiles.size()*4*2*2;
- MifConvSourceFileList::iterator i = iSourceFiles.begin();
-
- int mbmIndex = 0;
- int zero = 0;
-
- for( ; i != iSourceFiles.end(); ++i )
- {
- // MIF icon
- if( MifConvUtil::FileExtension(i->Filename()) != BMP_FILE_EXTENSION )
- {
- int length = i->ContentLength() + IconHeaderSizeInBytes;
- iTargetFile.write( (char*) &offset, 4 );
- iTargetFile.write( (char*) &length, 4 );
- // same information for the mask...
- iTargetFile.write( (char*) &offset, 4 );
- iTargetFile.write( (char*) &length, 4 );
-
- offset += length;
- }
- // MBM icon
- else
- {
- iTargetFile.write( (char*) &mbmIndex, 4 );
- iTargetFile.write( (char*) &zero, 4 );
-
- // Masked MBM icon -> There is own MBM index for the mask.
- if(i->MaskDepth() != IconMaskDepth_Undefined )
- {
- mbmIndex--;
- }
-
- iTargetFile.write( (char*) &mbmIndex, 4 );
- iTargetFile.write( (char*) &zero, 4 );
-
- // MBM incides are coded as negative in the 'offset' field,
- // so that they can be easily separated from the actual MIF offsets.
- mbmIndex--;
- }
- }
-}
--- a/dependencies/mifconv/src/mifconv_sourcefile.cpp Sat Mar 27 03:52:59 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mifconv source file class.
-*
-*/
-
-
-#include "mifconv.h"
-#include "mifconv_sourcefile.h"
-#include "mifconv_util.h"
-#include "mifconv_exception.h"
-#include "mifconv_argument.h"
-#include "mifconv_argumentmanager.h"
-
-MifConvSourceFile::MifConvSourceFile()
-:
-iDepth(IconDepth_Undefined),
-iMaskDepth(IconMaskDepth_Undefined),
-iDisplayMode(DisplayMode_None),
-iMaskDisplayMode(DisplayMode_None),
-iAnimated(false),
-iContent(0),
-iContentLen(0)
-{
-}
-
-MifConvSourceFile::MifConvSourceFile( const MifConvSourceFile& src )
-:
-iFilename( src.Filename() ),
-iDepthString( src.DepthString() ),
-iMaskDepthString( src.MaskDepthString() ),
-iDepth(src.iDepth),
-iMaskDepth(src.iMaskDepth),
-iDisplayMode(src.iDisplayMode),
-iMaskDisplayMode(src.iMaskDisplayMode),
-iAnimated( src.IsAnimated() ),
-iMaskFilename( src.iMaskFilename ),
-iContent(src.iContent),
-iContentLen(src.iContentLen)
-{
-}
-
-MifConvSourceFile::~MifConvSourceFile()
-{}
-
-char* MifConvSourceFile::Content() const
-{
- return iContent;
-}
-
-int MifConvSourceFile::ContentLength() const
-{
- return iContentLen;
-}
-
-void MifConvSourceFile::SetContent(char* content, unsigned int len)
-{
- iContent = content;
- iContentLen = len;
-}
-
-const MifConvString& MifConvSourceFile::Filename() const
-{
- return iFilename;
-}
-
-void MifConvSourceFile::SetAnimated( bool isAnimated )
-{
- iAnimated = isAnimated;
-}
-
-void MifConvSourceFile::SetFilename( const MifConvString& filename )
-{
- iFilename = filename;
-}
-
-void MifConvSourceFile::SetDisplayMode( IconDisplayMode mode)
-{
- iDisplayMode = mode;
-}
-
-IconDisplayMode MifConvSourceFile::DisplayMode() const
-{
- return iDisplayMode;
-}
-
-void MifConvSourceFile::SetMaskDisplayMode( IconDisplayMode mode)
-{
- iMaskDisplayMode = mode;
-}
-
-IconDisplayMode MifConvSourceFile::MaskDisplayMode() const
-{
- return iMaskDisplayMode;
-}
-
-IconDepth MifConvSourceFile::Depth() const
-{
- return iDepth;
-}
-
-void MifConvSourceFile::SetDepth(IconDepth depth)
-{
- iDepth = depth;
-}
-
-const MifConvString& MifConvSourceFile::DepthString() const
-{
- return iDepthString;
-}
-
-IconMaskDepth MifConvSourceFile::MaskDepth() const
-{
- return iMaskDepth;
-}
-
-void MifConvSourceFile::SetMaskDepth(IconMaskDepth depth)
-{
- iMaskDepth = depth;
-}
-
-const MifConvString& MifConvSourceFile::MaskDepthString() const
-{
- return iMaskDepthString;
-}
-
-bool MifConvSourceFile::IsAnimated() const
-{
- return iAnimated;
-}
-
-const MifConvString& MifConvSourceFile::BmpMaskFilename() const
-{
- return iMaskFilename;
-}
-
-void MifConvSourceFile::SetBmpMaskFilename( const MifConvString& maskFilename )
-{
- iMaskFilename = maskFilename;
-}
-
-void MifConvSourceFile::SetDepthString( const MifConvString& depth )
-{
- iDepthString = depth;
-}
-
-void MifConvSourceFile::SetMaskDepthString( const MifConvString& mask )
-{
- iMaskDepthString = mask;
-}
-
-void MifConvSourceFile::SetDepthAndMask( const MifConvString& depthAndMask )
-{
- size_t separatorIndex = depthAndMask.find(",");
-
- if( separatorIndex != MifConvString::npos )
- {
- iDepthString = MifConvString(depthAndMask.begin()+1, depthAndMask.begin()+separatorIndex);
- iMaskDepthString = MifConvString(depthAndMask.begin()+separatorIndex+1, depthAndMask.end());
- iMaskDepth = MifConvArgumentManager::Instance()->ConvertToMaskDepth(iMaskDepthString);
- }
- else
- {
- iDepthString = MifConvString(depthAndMask.begin()+1, depthAndMask.end());
- }
- iDepth = MifConvArgumentManager::Instance()->ConvertToDepth(iDepthString);
-}
-
--- a/dependencies/mifconv/src/mifconv_util.cpp Sat Mar 27 03:52:59 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,593 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mifconv utilities.
-*
-*/
-
-
-#include "mifconv.h"
-#include "mifconv_util.h"
-#include "mifconv_exception.h"
-#include "mifconv_argumentmanager.h"
-#include <sys/stat.h> // for stat
-#ifdef WIN32
- #include <direct.h> // for _getcwd, _chdir, _mkdir
-#else
- #include <unistd.h>
-#endif
-#include <stdlib.h> // for _MAX_PATH
-#include <stdio.h>
-
-#ifndef _MAX_PATH
-#define _MAX_PATH (260)
-#endif
-
-MifConvUtil::MifConvDebugMode MifConvUtil::iDebugMode = DebugMode_Unknown;
-MifConvString MifConvUtil::iDebugFile = "";
-MifConvString MifConvUtil::iTempDirectory = "";
-
-/**
- *
- */
-MifConvString MifConvUtil::FileExtension( const MifConvString& fileName )
-{
- size_t indexOfDot; // index of '.' character in the given string
-
- // Find last occurence of the '.' character
- if( ( indexOfDot = fileName.find_last_of('.') ) == MifConvString::npos )
- {
- // Not found, return empty string
- return MifConvString("");
- }
-
- // Return the substring starting after the '.' character
- return MifConvString( fileName.begin()+indexOfDot+1, fileName.end() );
-}
-
-/**
- *
- */
-MifConvString MifConvUtil::FilenameWithoutExtension( const MifConvString& fileName )
-{
- size_t indexOfDot; // index of '.' character in the given string
-
- // Find last occurence of the '.' character
- if( ( indexOfDot = fileName.find_last_of('.') ) == MifConvString::npos )
- {
- // Not found, return the whole name
- return fileName;
- }
-
- // Return the substring preceding the last '.' character
- return MifConvString( fileName.begin(), fileName.begin() + indexOfDot );
-}
-
-/**
- *
- */
-MifConvString MifConvUtil::FilenameWithoutPath( const MifConvString& fileName )
-{
- size_t indexOfDirSeparator; // index of directory separator in the given string
-
- // Find last occurence of the '.' character
- if( ( indexOfDirSeparator = fileName.find_last_of(DIR_SEPARATOR2) ) == MifConvString::npos )
- {
- // Not found, return the whole name
- return fileName;
- }
-
- // Return the substring beginnig after the last directory separator
- return MifConvString( fileName.begin()+indexOfDirSeparator+1, fileName.end() );
-}
-
-/**
- *
- */
-bool MifConvUtil::FileExists( const MifConvString& fileName )
-{
- struct stat fileInfo;
- int retVal = 0;
-
- // Try to get file attributes to see if the file exists or not:
- retVal = stat( fileName.c_str(), &fileInfo);
- return retVal == 0;
-}
-
-/**
- *
- */
-size_t MifConvUtil::FileSize( const MifConvString& fileName )
-{
- struct stat fileInfo;
- int retVal = 0;
-
- // Try to get file attributes to see if the file exists or not:
- retVal = stat( fileName.c_str(), &fileInfo);
- if( retVal != 0 )
- {
- THROW_ERROR_COMMON("File not found: " + fileName, MifConvString(__FILE__), __LINE__);
- }
-
- return fileInfo.st_size;
-}
-
-/**
- *
- */
-MifConvFileData MifConvUtil::FileContents( const MifConvString& fileName )
-{
- unsigned int fileLen = (unsigned int) (MifConvUtil::FileSize(fileName)/sizeof(char));
-
- ifstream fs( fileName.c_str(), FILE_IN_BINARY_NOCREATE_FLAGS );
- if (!fs.is_open())
- {
- THROW_ERROR_COMMON("Unable to open file for reading! " + fileName, MifConvString(__FILE__), __LINE__);
- }
- char* buffer = new char[fileLen];
- fs.read(buffer, fileLen);
- return MifConvFileData(buffer, fileLen);
-}
-
-/**
- *
- */
-void MifConvUtil::ReplaceChar( MifConvString& str, char replaceFrom, char replaceTo)
-{
- if( str.length() > 0 )
- {
- MifConvString::size_type index = 0;
- while( (index = str.find(replaceFrom, index)) != MifConvString::npos )
- {
- str.replace(index,1,1,replaceTo);
- }
- }
-}
-
-/**
- *
- */
-void MifConvUtil::SplitPath( const MifConvString& sourcePath, MifConvString& drive, MifConvString& path)
- {
- if( sourcePath.length() > 0 )
- {
- size_t driveSeparatorPos = sourcePath.find(':');
- if( driveSeparatorPos != MifConvString::npos )
- {
- drive = MifConvString(sourcePath.begin(), sourcePath.begin() + driveSeparatorPos );
- path = MifConvString(sourcePath.begin() + driveSeparatorPos + 1, sourcePath.end() );
- }
- else
- {
- path = sourcePath;
- }
- }
- else
- {
- drive = MifConvString("");
- path = MifConvString("");
- }
-}
-
-/**
- *
- */
-MifConvString MifConvUtil::CurrentPath()
-{
- char temp[_MAX_PATH];
-#ifdef WIN32
- _getcwd(temp, _MAX_PATH);
-#else
- getcwd(temp, _MAX_PATH);
-#endif
- return MifConvString(temp);
-}
-
-/**
- *
- */
-int MifConvUtil::CompareIgnoreCase( const MifConvString& lhs, const MifConvString& rhs )
-{
- MifConvString lhsCopy(lhs);
- MifConvString rhsCopy(rhs);
-
- return ToLower(lhsCopy).compare(ToLower(rhsCopy));
-}
-
-/**
- *
- */
-MifConvString& MifConvUtil::ToLower( MifConvString& str )
-{
- MifConvString::iterator it(str.begin());
- for(; it != str.end(); ++it)
- {
- *it = (char) tolower((unsigned char)*it);
- }
- return str;
-}
-
-/**
- *
- */
-void MifConvUtil::EnsurePathExists( const MifConvString& destFileName, bool ignoreLast )
- {
- MifConvString currentPath;
- MifConvString tmpDrive;
- MifConvString tmpPath;
-
- // Parse a drive of a destination path; if any
- SplitPath( destFileName, tmpDrive, tmpPath );
-
- // Save current directory
- currentPath = CurrentPath();
-
- // Change drive if needed:
- if( tmpDrive.length() > 0 )
- {
- tmpDrive += ":";
- tmpDrive += DIR_SEPARATOR;
- ChangeDirectory(tmpDrive);
- }
-
- // Split desination path to separate directories:
- MifConvStringList destDirList;
-
- // Check if the root is given first and add it to dir list:
- if( tmpPath.length() > 0 && tmpPath.at(0) == DIR_SEPARATOR2 )
- {
- destDirList.push_back(DIR_SEPARATOR);
- }
-
- // Add other directories to destination dir list:
- SplitString( tmpPath, DIR_SEPARATOR, destDirList );
-
- // Remove last component from the list if it should be ignored:
- if( ignoreLast )
- {
- destDirList.pop_back();
- }
-
- unsigned int i = 0;
- while( i < destDirList.size() )
- {
- const MifConvString& dir = destDirList[i++];
- if( !FileExists(dir) )
- {
- if( !CreateDirectory( dir ) )
- {
- // Change back to original directory:
- ChangeDirectory( currentPath );
- THROW_ERROR_COMMON("Directory " + tmpPath + " cannot be created", MifConvString(__FILE__), __LINE__);
- }
- }
- ChangeDirectory( dir );
- }
-
- // Change back to original directory:
- ChangeDirectory( currentPath );
-}
-
-/**
- *
- */
-void MifConvUtil::RemoveDuplicateDirSeparators( MifConvString& str )
-{
- MifConvString searchString(DIR_SEPARATOR);
- searchString += DIR_SEPARATOR;
- size_t pos = str.find(searchString);
-
- while(pos != MifConvString::npos)
- {
- str.erase(pos, 1);
- pos = str.find(searchString);
- }
-}
-
-/**
- *
- */
-bool MifConvUtil::CreateDirectory( const MifConvString& path )
-{
-#ifdef WIN32
- return _mkdir( path.c_str() ) == 0;
-#else
- return mkdir( path.c_str(), 0777 ) == 0;
-#endif
-}
-
-/**
- *
- */
-void MifConvUtil::SplitString( const MifConvString& str, const MifConvString& separator, MifConvStringList& components )
-{
- size_t beginPos = 0;
- size_t endPos = 0;
-
- while( (endPos = str.find(separator, beginPos)) != MifConvString::npos )
- {
- if( endPos - beginPos > 0 )
- {
- components.push_back( MifConvString( str.begin()+beginPos, str.begin()+endPos ) );
- }
- beginPos = endPos+1;
- }
- if( str.begin()+beginPos != str.end() )
- {
- components.push_back( MifConvString(str.begin()+beginPos, str.end()) );
- }
-}
-
-/**
- *
- */
-MifConvString MifConvUtil::UnadornedFilename( const MifConvString& filename )
-{
- MifConvStringList splitted;
- SplitString(filename, DIR_SEPARATOR, splitted);
-
- MifConvString tmp(splitted.back());
- splitted.clear();
- SplitString(tmp, INCORRECT_DIR_SEPARATOR, splitted);
-
- tmp = splitted.back();
- splitted.clear();
- SplitString(tmp, FILE_EXTENSION_SEPARATOR, splitted);
-
- MifConvString fixedname;
-
- if( splitted.size() > 0 )
- {
- fixedname = ToLower(splitted[0]);
- if( fixedname.length() > 0 )
- {
- fixedname[0] = (char) toupper( fixedname[0] );
- }
- }
- return fixedname;
-}
-
-/**
- *
- */
-void MifConvUtil::FindAndSetBitmapMaskFile( MifConvSourceFile& srcFile )
-{
- if( srcFile.MaskDepth() == IconMaskDepth_Undefined )
- {
- return; // No mask file
- }
- MifConvString fileExtension(FileExtension( srcFile.Filename() ));
-
- if( CompareIgnoreCase(fileExtension, BMP_FILE_EXTENSION) != 0 )
- {
- return;
- }
-
- MifConvString maskFilename(FilenameWithoutExtension(srcFile.Filename()));
-
- if( srcFile.MaskDepth() == IconMaskDepth_1 )
- {
- maskFilename += "_mask.bmp";
- }
- else if( srcFile.MaskDepth() == IconMaskDepth_8 )
- {
- maskFilename += "_mask_soft.bmp";
- }
- else
- {
- THROW_ERROR_COMMON("Invalid mask depth\n", MifConvString(__FILE__), __LINE__);
- }
-
- if( !FileExists(maskFilename) )
- {
- cerr << endl << "*** WARNING! Missing bitmap: " << maskFilename << endl;
- }
-
- srcFile.SetBmpMaskFilename( maskFilename );
-}
-
-/**
- *
- */
-MifConvString MifConvUtil::TemporaryFilename()
-{
- MifConvString tmp(tmpnam(NULL));
- MifConvString::iterator i = tmp.begin();
-
- if( *i == '.' )
- {
- ++i;
- }
-
- if( *i == DIR_SEPARATOR2 || *i == INCORRECT_DIR_SEPARATOR2 )
- {
- ++i;
- }
-
- return MifConvString(i, tmp.end());
-}
-
-/**
- *
- */
-bool MifConvUtil::CopyFile(const MifConvString& from, const MifConvString& to)
-{
- bool retval = false;
- ifstream in(from.c_str(), ios::binary);
- if( in )
- {
- ofstream out(to.c_str(), ios::binary);
- if( out )
- {
- out << in.rdbuf();
- retval = out.good();
- out.close();
- }
- in.close();
- }
- return retval;
-}
-
-/**
- *
- */
-bool MifConvUtil::IsWhiteSpace(char c)
-{
- return c == ' ' || c == '\n' || c == '\r' || c == '\t';
-}
-
-/**
- *
- */
-void MifConvUtil::ChangeDirectory( const MifConvString& dirName )
-{
-#ifdef WIN32
- _chdir( dirName.c_str() );
-#else
- chdir( dirName.c_str() );
-#endif
-}
-
-/**
- *
- */
-int MifConvUtil::RemoveDirectory( const MifConvString& dirName )
-{
-#ifdef WIN32
- return _rmdir( dirName.c_str() );
-#else
- return rmdir( dirName.c_str() );
-#endif
-}
-
-/**
- *
- */
-void MifConvUtil::RemoveFile( const MifConvString& fileName, int maxTries, bool noException )
-{
- for( int i = 0; i < maxTries; ++i )
- {
-#ifdef WIN32
- int ret = _unlink(fileName.c_str());
-#else
- int ret = unlink(fileName.c_str());
-#endif
-
- if( ret == 0 )
- {
- // Delete was successful
- return;
- }
-
- // Delete was not successful
- if( i >= maxTries-1 )
- {
- // Max amount of tries exceeded -> print warning or throw an exception
- if( noException )
- {
- MifConvString debugStr("WARNING: Cannot remove file " + fileName);
- DebugLog(debugStr);
- }
- else
- {
- THROW_ERROR_COMMON("Cannot remove file " + fileName, MifConvString(__FILE__), __LINE__);
- }
- }
- }
-}
-
-/**
- *
- */
-MifConvString MifConvUtil::DebugFile()
-{
- char* tmpPtr = getenv(MIFCONV_DEBUG_FILE_ENV.c_str());
- if( tmpPtr )
- {
- return MifConvString(tmpPtr);
- }
- return MifConvString();
-}
-
-/**
- *
- */
-void MifConvUtil::DebugLog(const MifConvString& debugStr)
-{
- if( iDebugMode == DebugMode_Unknown )
- {
- iDebugFile = MifConvUtil::DebugFile();
- if( iDebugFile.length() > 0 )
- {
- iDebugMode = DebugMode_Debug;
- }
- else
- {
- iDebugMode = DebugMode_NoDebug;
- }
- }
-
- if( iDebugMode == DebugMode_Debug )
- {
- ios_base::openmode file_flags;
- if( MifConvUtil::FileExists(iDebugFile) )
- {
- file_flags = ios::out|ios::app;
- }
- else
- {
- file_flags = ios::out|ios::trunc;
- }
- fstream debugLog(iDebugFile.c_str(), file_flags);
- if(debugLog.is_open())
- {
- debugLog << debugStr << endl;
- debugLog.close();
- }
- }
-}
-
-/**
- *
- */
-const MifConvString& MifConvUtil::DefaultTempDirectory()
- {
- if( iTempDirectory.length() == 0 )
- {
- char* tmpPtr = getenv(SBS_BUILD_DIR_ENV.c_str());
- if( tmpPtr && MifConvString(tmpPtr).length() > 0 )
- {
- iTempDirectory = MifConvString(tmpPtr);
-
- if( iTempDirectory.at(iTempDirectory.length()-1) != DIR_SEPARATOR2 )
- {
- iTempDirectory += DIR_SEPARATOR;
- }
-
- iTempDirectory += EPOC_ICON_BUILD_PATH_POSTFIX +
- MifConvString(DIR_SEPARATOR) +
- MifConvString("temp");
- }
- else
- {
- iTempDirectory = MifConvArgumentManager::Instance()->EpocRoot() +
- EPOC_BUILD_PATH +
- MifConvString(DIR_SEPARATOR) +
- EPOC_ICON_BUILD_PATH_POSTFIX +
- MifConvString(DIR_SEPARATOR) +
- MifConvString("temp");
- }
- }
- return iTempDirectory;
- }
-
--- a/group/ABLD.BAT Sat Mar 27 03:52:59 2010 +0530
+++ b/group/ABLD.BAT Sat Mar 27 10:26:12 2010 +0100
@@ -3,7 +3,7 @@
REM Bldmake-generated batch file - ABLD.BAT
REM ** DO NOT EDIT **
-perl -S ABLD.PL "\S60\devices\S60_5th_Edition_SDK_v1.0\homescreensrv\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
+perl -S ABLD.PL "\homescreensrv\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
if errorlevel==1 goto CheckPerl
goto End
--- a/group/bld.inf Sat Mar 27 03:52:59 2010 +0530
+++ b/group/bld.inf Sat Mar 27 10:26:12 2010 +0100
@@ -20,6 +20,9 @@
PRJ_EXPORTS
../inc/aisystemuids.hrh MW_LAYER_PLATFORM_EXPORT_PATH(aisystemuids.hrh)
+// build dependencies: headers and S^3 libs
+#include "../dependencies/bld.inf"
+
#include "../xcfw/group/bld.inf"
#include "../homescreenpluginsrv/group/bld.inf"
#include "../idlefw/group/bld.inf"
--- a/homescreensrv_plat/group/ABLD.BAT Sat Mar 27 03:52:59 2010 +0530
+++ b/homescreensrv_plat/group/ABLD.BAT Sat Mar 27 10:26:12 2010 +0100
@@ -3,7 +3,7 @@
REM Bldmake-generated batch file - ABLD.BAT
REM ** DO NOT EDIT **
-perl -S ABLD.PL "\S60\devices\S60_5th_Edition_SDK_v1.0\homescreensrv\homescreensrv_plat\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
+perl -S ABLD.PL "\homescreensrv\homescreensrv_plat\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
if errorlevel==1 goto CheckPerl
goto End