grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GITGRUB] New menu interface (second draft)


From: Bean
Subject: Re: [GITGRUB] New menu interface (second draft)
Date: Thu, 10 Sep 2009 00:03:52 +0800

On Wed, Sep 9, 2009 at 10:50 PM, Michal Suchanek<address@hidden> wrote:
> 2009/9/8 Bean <address@hidden>:
>> Hi,
>>
>> After more consideration, perhaps we should use the following
>> component structure:
>>
>> frame - window border
>> panel - layout manager with scroll bar support
>> window - frame + panel
>> label - text
>> image - image
>> button - button
>> list - list box
>> edit - multi-line edit box
>> term - terminal emulator  (extends edit component)
>> menu - menu list (extends list box)
>
> Also how is the menu shown?
>
> Currently the menu is implicitly shown if defined but with this
> extended menu system you can create multiple "windows".
>
> There could be a menu with some magic ID that is shown automatically
> if defined after config parsing ends.
>
> Another approach is adding a show command that shows a particular
> element (with its subelements) as the main window on the screen, This
> would be likely implicitly present in the edit command for the menu
> items that have some action bound to them.
>
> To make the window management simple every time only a single window
> would be shown - they could be pushed onto a window stack so that if a
> popup (such as the action edit popup) is closed the previous window is
> restored.

Hi,

We can have a menu tree like this:

+ menu
{
  + main
  {
    + item
    {
      class = "chainloader"
      name = "Chainloader"
      command = "chainloader +1\nboot"
    }
  }
  + tools
  {
  }
}

The menuitem command adds to the main menu by default, but it could be
overwritten with a option. In menu component, we uses an attribute to
set the menu name.

-- 
Bean

gitgrub home: http://github.com/grub/grub/
my fork page: http://github.com/bean123/grub/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]