用于管理C / C ++嵌入式设备菜单的库

时间:2010-06-24 11:14:33

标签: c++ c user-interface embedded menu

我正在寻找一个管理菜单的库。我正在寻找基于配置文件的东西。它不必管理键盘输入或显示,只需管理菜单逻辑。我想到的是:

//menu.xml
<menu>
    <Start />
    <Stop />
    <Configuration displayname="Configure System">
        <Sound type="toggle" />
        <Speed display="Speed related settings">
           <Speedy type="toggle" default="on" />
           <Optimizations type="toggle" />
        </Speed>
    </Configuration>
    <Filesystem>
         <SaveSnapshot />
         <LoadSnapshot />
    </Filesystem>
</menu>

在我们的代码中:

//menu.cpp
Menu menu("menu.xml");
menu.bind("SaveSnapshot",saveSnapshotPressed);
menu.bind("LoadSnapshot",loadSnapshotPressed);
menu.bind("Sound",soundSetTo);
...
void onKeyPressed(key_t key) {
...
    switch (key) {
    case KEY_UP:
        menu.goUp();
        break;
    case KEY_DOWN:
        menu.goDown();
        break;
    case KEY_ENTER:
        menu.action();
        break;
    }
// display.cpp
void render(...) {
    for (int i=0;i<menu.items().size();++i) {
        renderText(getMenuCoord(i),menu.items()[i].c_str());
    }
    ...
}

这样的库对于在嵌入式设备中显示菜单非常有用。

我很高兴听到这样的图书馆存在,或者对这个图书馆有更好的了解。

3 个答案:

答案 0 :(得分:1)

像Kaleido这样的东西:http://www.digitalairways.com/kaleido-engine.htm 这是非常好的,但价格昂贵。

Emwin更简单,更便宜,但在功能方面却没有那么丰富: http://www.segger.com/cms/emwin.html

答案 1 :(得分:1)

您可能需要查看Android SDK。这也可能比您想要处理的更多,但复制可能有价值,或者可能使用谷歌可能拥有的任何工具。

答案 2 :(得分:1)

我知道这是一个古老的问题,但也许是其他人,也有同样的问题。

我认为CLI是您需要的解决方案。

  

CLI是一个工具包,允许您轻松实现C ++和Java命令行界面

它具有XML配置文件并生成您随后链接的C ++ / Java源代码。 我还没有对它进行过测试,只是在搜索创建CLI菜单时更容易找到它。