FlatMenu, like the name implies, it is a generic menu implementation. I tried to provide a full functionality for menus, menubar and toolbar.
FlatMenu supports the following features:

  • Fires all the events (UI & Cmd);
  • Check items;
  • Separators;
  • Enabled / Disabled menu items;
  • Images on items;
  • Toolbar support, with images and separators;
  • Controls in toolbar (work in progress);
  • Toolbar tools tooltips (done: thanks to Peter Kort);
  • Accelerators for menus;
  • Accelerators for menubar;
  • Radio items in menus;
  • Integration with AUI;
  • Scrolling when menu is too big to fit the screen (in progress);
  • Menu navigation with keyboard;
  • Drop down arrow button to the right of the menu, it always contains the "Customize" option, which will popup an options dialog. The dialog has the following abilities:
    1. Ability to add/remove menus;
    2. Select different colour schemes for the menu bar / toolbar;
    3. Control various options, such as: colour for highlight menu item, draw border around menus (classic look only);
    4. Toolbar floating appearance.
  • Allows user to specify grey bitmap for disabled menus/toolbar tools;
  • If no grey bitmap is provided, it generates one from the existing bitmap;
  • Hidden toolbar items / menu bar items - will appear in a small popmenu to the right if they are hidden;
  • 4 different colour schemes for the menu bar (more can easily added);
  • Scrolling is available if the menu height is greater than the screen height;
  • Context menus for menu items;
  • Show/hide the drop down arrow which allows the customization of FlatMenu;
  • Multiple columns menu window;
  • Tooltips for menus and toolbar items on a wx.StatusBar (if present);
  • Transparency (alpha channel) for menu windows (for platforms supporting it);
  • First attempt in adding controls to FlatToolbar.

Download FlatMenu

Python Files