grub-devel
[Top][All Lists]
Advanced

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

[RFC] Redesign of the menu system


From: Bean
Subject: [RFC] Redesign of the menu system
Date: Wed, 19 Aug 2009 17:05:01 +0800

Hi,

Currently, the menu system is a little unorganized and difficult to
extend. My goal of the redesign are:

Modular
Split code into small modules, each module implement a specific
function, modules uses predefined interface to call each other.

Extensible
The core of the menu system is components, which can be extended
easily. Components can be written in C or lua.

Configurable
The menu system can be configured easily by end users. The layout of
screen can be configured with xml file, while the window styles is
configured with css file. Interface are exported to C and lua so that
you can configure the menu system dynamically.

I suggest reorganize the menu system based on four layers:

Display layer
This is the lowest layer and have already been implemented. There are
two display modules, one for text mode and one for graphics mode.

Windows layer
The windows layer build on top of display layer, it implement windows
creation and manipulation. The windows layer uses css to configure the
look and feel of windows, it also handle the difference between text
mode and graphics mode so that components can be written regardless of
the underlying display system.

Component layer
This is the core of menu system. This layer implements the logic of
gui components, and rely on the windows layer or display layer for the
actual rendering.

Menu layer
This is the lop layer. The layer is actually quite simple, it creates
the components based on xml and link the various parts together.

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