Hi,
We on the Linux team have settled on a TabStrip design that will allow
us to share as much code as possible without having to reimplement
Views, which would take a considerable amount of time and effort. The
TabStrip interfaces will be refactored to have cross-platform
super-classes and platform-specific subclasses. This split often
occurs where Views classes are pulled into the TabStrip interface.
This allows sharing of common code, such as tab animation. The
platform-specific code, for the most part, will be the implementation
of the UI for the tab strip. For example, the TabStrip class is
currently defined as:
class TabStrip : public views::View,
public TabStripModelObserver,
public Tab::TabDelegate,
public views::Button::ButtonListener,
public MessageLoopForUI::Observer {
The new super-class will be:
class TabStrip : public TabStripModelObserver,
public Tab::TabDelegate,
and the win subclass:
class TabStripWin : public views::View,
public views::Button::ButtonListener,
public MessageLoopForUI::Observer,
public TabStrip {
We are using the C interface for gtk, so the gtk variant TabStripGtk
will simply inherit from TabStrip. All of the UI needed by TabStrip
will be overridden and implemented using gtk.
On a higher level, the Linux tab strip will be implemented using a
gdkpixmap in a container, which allows fast blitting of the skbitmap
used by TabRenderer.
--
James Hawkins
--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected]
View archives, change email options, or unsubscribe:
http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---