Files
zh_menu_manager/README.md
2026-01-25 20:53:24 +03:00

2.2 KiB

Menu Manager

Easy and flexible menu manager for ESP-IDF

---
config:
    title: Menu Manager
---
flowchart TD
    start((menu init))
    createQueue[Create Queue qCommand]
    waitQueue[Wait Queue qCommand]
    showDisplay[Show menu]
    
    funtionInExecution{Is there a funtion in execution?}
    isCommandBack{Is command back?}
    exitFuntion[Exit funtion in execution]
    
    swithCasesInput{Command}
    navigateUP[Increments the index]
    navigateDOWN[Decrements the index]
    navigateBACK[return to parent menu]
    
    navigateSELECTION{Is there a funtion?}
    selectSubMenu[Select sub menu]
    executeFuntion[Execute funtion]
    
    start --> createQueue
    createQueue --> waitQueue
    waitQueue --> funtionInExecution
    funtionInExecution --"Yes"--> isCommandBack
    isCommandBack --"Yes"--> exitFuntion
    funtionInExecution --"No"--> swithCasesInput
    
    swithCasesInput --"UP"--> navigateUP
    swithCasesInput --"DOWN"--> navigateDOWN
    swithCasesInput --"BACK"--> navigateBACK
    swithCasesInput --"SELECT"--> navigateSELECTION
    
    exitFuntion --> showDisplay
    navigateUP --> showDisplay
    navigateDOWN --> showDisplay
    navigateBACK --> showDisplay
    
    navigateSELECTION --"No"--> selectSubMenu --> showDisplay
    navigateSELECTION --"Yes"--> executeFuntion --> waitQueue
    
    showDisplay --> waitQueue

    %% Estilos e cores
    classDef startEnd fill:#e1f5fe,stroke:#01579b,stroke-width:3px,color:#000
    classDef queue fill:#f3e5f5,stroke:#4a148c,stroke-width:2px,color:#000
    classDef display fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px,color:#000
    classDef decision fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#000
    classDef navigation fill:#fce4ec,stroke:#ad1457,stroke-width:2px,color:#000
    classDef execution fill:#ffebee,stroke:#c62828,stroke-width:2px,color:#000
    classDef selection fill:#e0f2f1,stroke:#00695c,stroke-width:2px,color:#000

    class start startEnd
    class createQueue,waitQueue queue
    class showDisplay display
    class funtionInExecution,isCommandBack,swithCasesInput,navigateSELECTION decision
    class navigateUP,navigateDOWN,navigateBACK navigation
    class exitFuntion,executeFuntion execution
    class selectSubMenu selection```