grub-devel
[Top][All Lists]
Advanced

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

Re: [GITGRUB] New menu interface (implementation)


From: Bean
Subject: Re: [GITGRUB] New menu interface (implementation)
Date: Thu, 1 Oct 2009 18:02:34 +0800

Hi,

Update:

New properties for the layout manager:

The previous version uses the simplified align and space property, but
this is not enough for complete control, now it goes back to the
previous four property valign, halign, vspace and hspace.

Add extend property, if the children have different width/height, the
menu looks a little awkward. When extend property is set, the
width/height of children is the maximum value.

Add min_width/max_width/min_height/max_height, it's used to limit the
width/height calculated from children widgets. Width/Height set
directly using property is not affected by these.

When some of the margin property are not set, it's position is
controlled by the parent alignment properties, for example, we can
generate a OSX like dock with something like this:

screen {
halign = center

  panel {
    background = ",,blue,#32:,,green,#32"
    direction = left_to_right
    margin_bottom = 0
    hspace = 10/0
    vspace = 10/0

    image {
      image = "/menu/ubuntu.png"
    }

    image {
      image = "/menu/debian.png"
    }

    image {
      image = "/menu/gentoo.png"
    }
  }
}

As panel only sets margin_bottom, it's x coordination can be set by screen.

Now support four direction: left_to_right, right_to_left,
top_to_bottom and bottom_to_top.

The layout control function is moved from coreui.c to widget.c, now
all container widget would inherit the layout manager automatically.

-- 
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]