- Moved the menu texts to dedicated file to support future language switch option

- split the menu into core, elements as generic modules

git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@270 05563f52-14a8-4384-a975-3d1654cca0fa
This commit is contained in:
mmi
2017-11-03 08:07:27 +00:00
parent 4901cb1a09
commit 27755498e6
15 changed files with 1292 additions and 756 deletions

View File

@@ -30,6 +30,7 @@
#include "hsb-mrts.h"
#include "Error.h"
#include "MenuCore.h"
#include "repairMenus.h"
#include "repairMenu.h"
@@ -49,6 +50,9 @@
// Type definitions
// -----------------------------------------------------------------------------
static struct MenuCore _menuCore = {.initialized = false};
struct MenuCore* const menuCore = &_menuCore;
static struct RepairMenu _mainMenu = {.initialized = false};
struct RepairMenu* const mainMenu = &_mainMenu;
@@ -62,8 +66,8 @@ struct RepairMenu* const mainMenu = &_mainMenu;
// Function declarations
// -----------------------------------------------------------------------------
static ErrorStatus repairMenu_errorReceive(const void* const data);
static ErrorStatus repairMenu_freeMainMenuRepairScreenUpdateSemaphore(const void* const data);
static ErrorStatus repairMenus_errorReceive(const void* const data);
static ErrorStatus repairMenus_freeMainMenuRepairScreenUpdateSemaphore(const void* const data);
// -----------------------------------------------------------------------------
// Function definitions
@@ -75,13 +79,16 @@ ErrorStatus repairMenus_construct(void)
if (returnValue == SUCCESS)
{
// Create the Menu core
returnValue = MenuCore_construct(menuCore, mainDisplay, &storm700->keyboardDevice, HSB_MAINMENU_TASK_PRIORITY, HSB_MAINMENU_TASK_STACKSIZE, repairMenu_createMenuEntries, repairMenu_menuStateHandle);
// Create first repair menu
returnValue = repairMenu_construct(mainMenu, mainDisplay, &storm700->keyboardDevice, &iFlash->memoryDevice, HSB_MAINMENU_TASK_PRIORITY, HSB_MAINMENU_TASK_STACKSIZE, repairMenu_freeMainMenuRepairScreenUpdateSemaphore);
returnValue = repairMenu_construct(mainMenu, menuCore,&iFlash->memoryDevice, repairMenus_freeMainMenuRepairScreenUpdateSemaphore);
}
if (returnValue == SUCCESS)
{
returnValue = Observable_addObserver(Error_getObservable(), repairMenu_errorReceive);
returnValue = Observable_addObserver(Error_getObservable(), repairMenus_errorReceive);
}
return returnValue;
@@ -90,7 +97,7 @@ ErrorStatus repairMenus_construct(void)
void repairMenus_destruct(void)
{
Observable_deleteObserver(Error_getObservable(), repairMenu_errorReceive);
Observable_deleteObserver(Error_getObservable(), repairMenus_errorReceive);
repairMenu_destruct(mainMenu);
}
@@ -101,7 +108,7 @@ struct RepairMenu* repairMenus_getMainRepairMenu(void)
}
static ErrorStatus repairMenu_errorReceive(const void* const data)
static ErrorStatus repairMenus_errorReceive(const void* const data)
{
T_ErrorCode errorCode = (T_ErrorCode)data;
@@ -122,7 +129,7 @@ static ErrorStatus repairMenu_errorReceive(const void* const data)
}
static ErrorStatus repairMenu_freeMainMenuRepairScreenUpdateSemaphore(const void* const data)
static ErrorStatus repairMenus_freeMainMenuRepairScreenUpdateSemaphore(const void* const data)
{
ErrorStatus returnValue = SUCCESS;
if (xSemaphoreGive(mainMenu->repairScreenUpdateSemaphore) != pdTRUE)