> [1] states for example: "GtkHBox has been deprecated. You can use GtkBox > instead, which is a very quick and easy change. If you have derived your own > classes from GtkHBox, you can simply change the inheritance to derive > directly from GtkBox. No further changes are needed, since the default value > of the "orientation" property is GTK_ORIENTATION_HORIZONTAL. If you want > your code to be future-proof, the recommendation is to switch to GtkGrid, > since GtkBox is going to be deprecated in favor of the more flexible grid > widget eventually. For more information about migrating to GtkGrid, see > Migrating from other containers to GtkGrid".
Why not? Lets migrate all our gtk3 components to GtkGrid! > So the first question that arises is: should we switch directly to GtkGrid > [2]? Best would be to do a simple test program and compare the different > containers. If GtkGrid can be used in the same way and it is the intended > way forward we should switch directly to that. The migrating guide is > interesting as well [3]. Your articles say the ways to do it with GtkGrid are very different than with GtkBox, but it's similar than the GtkTable. I can make another patch with the migration from GtkBox and GtkTable to GtkGrid and add the information to the Wiki [1], but this patch hasn't got only corrections of boxes. You decide if I have to make from this patch a version 2, or make a new patch only with boxes and tables corrections. Cheers. [1] http://wiki.sugarlabs.org/go/Features/GTK3/Porting > Regards, > Simon > > [1] http://developer.gnome.org/gtk3/3.4/GtkHBox.html > [2] http://developer.gnome.org/gtk3/3.4/GtkGrid.html > [3] http://developer.gnome.org/gtk3/3.4/gtk-migrating-GtkGrid.html > > > > On 06/27/2012 04:56 AM, Daniel Francis wrote: >> >> --- >> src/sugar3/activity/widgets.py | 3 ++- >> src/sugar3/graphics/alert.py | 9 ++++++--- >> src/sugar3/graphics/notebook.py | 6 ++++-- >> src/sugar3/graphics/palette.py | 27 +++++++++++++++++++-------- >> src/sugar3/graphics/panel.py | 3 ++- >> src/sugar3/graphics/radiopalette.py | 3 ++- >> src/sugar3/graphics/toolbarbox.py | 3 ++- >> src/sugar3/graphics/toolbox.py | 6 ++++-- >> src/sugar3/graphics/toolcombobox.py | 3 ++- >> src/sugar3/graphics/tray.py | 6 ++++-- >> src/sugar3/graphics/window.py | 6 ++++-- >> 11 files changed, 51 insertions(+), 24 deletions(-) >> >> diff --git a/src/sugar3/activity/widgets.py >> b/src/sugar3/activity/widgets.py >> index c4015ce..ffb3503 100644 >> --- a/src/sugar3/activity/widgets.py >> +++ b/src/sugar3/activity/widgets.py >> @@ -226,7 +226,8 @@ class DescriptionItem(Gtk.ToolItem): >> description_button.set_tooltip(_('Description')) >> self._palette = description_button.get_palette() >> >> - description_box = Gtk.HBox() >> + description_box = Gtk.Box() >> + description_box.set_orientation(Gtk.Orientation.HORIZONTAL) >> sw = Gtk.ScrolledWindow() >> sw.set_size_request(int(Gdk.Screen.width() / 2), >> 2 * style.GRID_CELL_SIZE) >> diff --git a/src/sugar3/graphics/alert.py b/src/sugar3/graphics/alert.py >> index 16392cd..358fea4 100644 >> --- a/src/sugar3/graphics/alert.py >> +++ b/src/sugar3/graphics/alert.py >> @@ -97,11 +97,13 @@ class Alert(Gtk.EventBox): >> self._icon = None >> self._buttons = {} >> >> - self._hbox = Gtk.HBox() >> + self._hbox = Gtk.Box() >> + self._hbox.set_orientation(Gtk.Orientation.HORIZONTAL) >> self._hbox.set_border_width(style.DEFAULT_SPACING) >> self._hbox.set_spacing(style.DEFAULT_SPACING) >> >> - self._msg_box = Gtk.VBox() >> + self._msg_box = Gtk.Box() >> + self._msg_box.set_orientation(Gtk.Orientation.VERTICAL) >> self._title_label = Gtk.Label() >> self._title_label.set_alignment(0, 0.5) >> self._msg_box.pack_start(self._title_label, False, False, 0) >> @@ -111,7 +113,8 @@ class Alert(Gtk.EventBox): >> self._msg_box.pack_start(self._msg_label, False, False, 0) >> self._hbox.pack_start(self._msg_box, False, False, 0) >> >> - self._buttons_box = Gtk.HButtonBox() >> + self._buttons_box = Gtk.ButtonBox() >> + self._buttons_box.set_orientation(Gtk.Orientation.HORIZONTAL) >> self._buttons_box.set_layout(Gtk.ButtonBoxStyle.END) >> self._buttons_box.set_spacing(style.DEFAULT_SPACING) >> self._hbox.pack_start(self._buttons_box, True, True, 0) >> diff --git a/src/sugar3/graphics/notebook.py >> b/src/sugar3/graphics/notebook.py >> index e14bf0e..0f3e858 100644 >> --- a/src/sugar3/graphics/notebook.py >> +++ b/src/sugar3/graphics/notebook.py >> @@ -74,7 +74,8 @@ class Notebook(Gtk.Notebook): >> raise AssertionError >> >> def _add_icon_to_button(self, button): >> - icon_box = Gtk.HBox() >> + icon_box = Gtk.Box() >> + icon_box.set_orientation(Gtk.Orientation.HORIZONTAL) >> image = Gtk.Image() >> image.set_from_stock(Gtk.STOCK_CLOSE, Gtk.IconSize.MENU) >> Gtk.Button.set_relief(button, Gtk.ReliefStyle.NONE) >> @@ -91,7 +92,8 @@ class Notebook(Gtk.Notebook): >> def _create_custom_tab(self, text, child): >> event_box = Gtk.EventBox() >> >> - tab_box = Gtk.HBox(False, 2) >> + tab_box = Gtk.Box(False, 2) >> + tab_box.set_orientation(Gtk.Orientation.HORIZONTAL) >> tab_label = Gtk.Label(label=text) >> >> tab_button = Gtk.Button() >> diff --git a/src/sugar3/graphics/palette.py >> b/src/sugar3/graphics/palette.py >> index 4bb72ce..b389896 100644 >> --- a/src/sugar3/graphics/palette.py >> +++ b/src/sugar3/graphics/palette.py >> @@ -79,14 +79,17 @@ class Palette(PaletteWindow): >> self._icon_visible = True >> self._palette_state = self.PRIMARY >> >> - self._primary_box = Gtk.HBox() >> + self._primary_box = Gtk.Box() >> + self._primary_box.set_orientation(Gtk.Orientation.HORIZONTAL) >> self._primary_box.show() >> >> - self._icon_box = Gtk.HBox() >> + self._icon_box = Gtk.Box() >> + self._icon_box.set_orientation(Gtk.Orientation.HORIZONTAL) >> self._icon_box.set_size_request(style.GRID_CELL_SIZE, -1) >> self._primary_box.pack_start(self._icon_box, False, True, 0) >> >> - labels_box = Gtk.VBox() >> + labels_box = Gtk.Box() >> + labels_box.set_orientation(Gtk.Orientation.VERTICAL) >> self._label_alignment = Gtk.Alignment(xalign=0, yalign=0.5, >> xscale=1, >> yscale=0.33) >> self._label_alignment.set_padding(0, 0, style.DEFAULT_SPACING, >> @@ -113,9 +116,11 @@ class Palette(PaletteWindow): >> >> labels_box.pack_start(self._secondary_label, True, True, 0) >> >> - self._secondary_box = Gtk.VBox() >> + self._secondary_box = Gtk.Box() >> + self._secondary_box.set_orientation(Gtk.Orientation.VERTICAL) >> >> - self._separator = Gtk.HSeparator() >> + self._separator = Gtk.Separator() >> + self._separator.set_orientation(Gtk.Orientation.HORIZONTAL) >> self._secondary_box.pack_start(self._separator, True, True, 0) >> >> self._secondary_anim = animator.Animator(2.0, 10) >> @@ -204,7 +209,8 @@ class Palette(PaletteWindow): >> >> def _add_content(self): >> # The content is not shown until a widget is added >> - self._content = Gtk.VBox() >> + self._content = Gtk.Box() >> + self._content.set_orientation(Gtk.Orientation.VERTICAL) >> self._content.set_border_width(style.DEFAULT_SPACING) >> self._secondary_box.pack_start(self._content, True, True, 0) >> >> @@ -304,7 +310,8 @@ class Palette(PaletteWindow): >> self._widget = _PaletteWindowWidget(self) >> self._setup_widget() >> >> - self._palette_box = Gtk.VBox() >> + self._palette_box = Gtk.Box() >> + self._palette_box.set_orientation(Gtk.Orientation.VERTICAL) >> self._palette_box.pack_start(self._primary_box, False, True, >> 0) >> self._palette_box.pack_start(self._secondary_box, True, True, >> 0) >> >> @@ -396,7 +403,7 @@ class Palette(PaletteWindow): >> menu = GObject.property(type=object, getter=get_menu) >> >> >> -class PaletteActionBar(Gtk.HButtonBox): >> +class PaletteActionBar(Gtk.ButtonBox): >> >> def add_action(self, label, icon_name=None): >> button = Gtk.Button(label) >> @@ -409,6 +416,10 @@ class PaletteActionBar(Gtk.HButtonBox): >> self.pack_start(button, True, True, 0) >> button.show() >> >> + def __init__(self): >> + GObject.GObject.__init__(self) >> + self.set_orientation(Gtk.Orientation.HORIZONTAL) >> + >> >> class _SecondaryAnimation(animator.Animation): >> >> diff --git a/src/sugar3/graphics/panel.py b/src/sugar3/graphics/panel.py >> index c254c21..8b7126d 100644 >> --- a/src/sugar3/graphics/panel.py >> +++ b/src/sugar3/graphics/panel.py >> @@ -23,9 +23,10 @@ from gi.repository import Gtk >> from gi.repository import GObject >> >> >> -class Panel(Gtk.VBox): >> +class Panel(Gtk.Box): >> >> __gtype_name__ = 'SugarPanel' >> >> def __init__(self): >> GObject.GObject.__init__(self) >> + self.set_orientation(Gtk.Orientation.VERTICAL) >> diff --git a/src/sugar3/graphics/radiopalette.py >> b/src/sugar3/graphics/radiopalette.py >> index c2ff4f6..beae120 100644 >> --- a/src/sugar3/graphics/radiopalette.py >> +++ b/src/sugar3/graphics/radiopalette.py >> @@ -63,7 +63,8 @@ class RadioPalette(Palette): >> def __init__(self, **kwargs): >> Palette.__init__(self, **kwargs) >> >> - self.button_box = Gtk.HBox() >> + self.button_box = Gtk.Box() >> + self.button_box.set_orientation(Gtk.Orientation.HORIZONTAL) >> self.button_box.show() >> self.set_content(self.button_box) >> >> diff --git a/src/sugar3/graphics/toolbarbox.py >> b/src/sugar3/graphics/toolbarbox.py >> index 7e317f7..8ff63b8 100644 >> --- a/src/sugar3/graphics/toolbarbox.py >> +++ b/src/sugar3/graphics/toolbarbox.py >> @@ -140,10 +140,11 @@ class ToolbarButton(ToolButton): >> return False >> >> >> -class ToolbarBox(Gtk.VBox): >> +class ToolbarBox(Gtk.Box): >> >> def __init__(self, padding=style.TOOLBOX_HORIZONTAL_PADDING): >> GObject.GObject.__init__(self) >> + self.set_orientation(Gtk.Orientation.VERTICAL) >> self._expanded_button_index = -1 >> self.background = None >> >> diff --git a/src/sugar3/graphics/toolbox.py >> b/src/sugar3/graphics/toolbox.py >> index fedca0b..60700ce 100644 >> --- a/src/sugar3/graphics/toolbox.py >> +++ b/src/sugar3/graphics/toolbox.py >> @@ -25,7 +25,7 @@ from gi.repository import GObject >> from sugar3.graphics import style >> >> >> -class Toolbox(Gtk.VBox): >> +class Toolbox(Gtk.Box): >> >> __gtype_name__ = 'SugarToolbox' >> >> @@ -36,6 +36,7 @@ class Toolbox(Gtk.VBox): >> >> def __init__(self): >> GObject.GObject.__init__(self) >> + self.set_orientation(Gtk.Orientation.VERTICAL) >> >> self._notebook = Gtk.Notebook() >> self._notebook.set_tab_pos(Gtk.PositionType.BOTTOM) >> @@ -46,7 +47,8 @@ class Toolbox(Gtk.VBox): >> self.pack_start(self._notebook, True, True, 0) >> self._notebook.show() >> >> - self._separator = Gtk.HSeparator() >> + self._separator = Gtk.Separator() >> + self._separator.set_orientation(Gtk.Orientation.HORIZONTAL) >> self._separator.modify_bg(Gtk.StateType.NORMAL, >> style.COLOR_PANEL_GREY.get_gdk_color()) >> self._separator.set_size_request(1, >> style.TOOLBOX_SEPARATOR_HEIGHT) >> diff --git a/src/sugar3/graphics/toolcombobox.py >> b/src/sugar3/graphics/toolcombobox.py >> index 90bd1f4..798726c 100644 >> --- a/src/sugar3/graphics/toolcombobox.py >> +++ b/src/sugar3/graphics/toolcombobox.py >> @@ -40,7 +40,8 @@ class ToolComboBox(Gtk.ToolItem): >> >> self.set_border_width(style.DEFAULT_PADDING) >> >> - hbox = Gtk.HBox(False, style.DEFAULT_SPACING) >> + hbox = Gtk.Box(False, style.DEFAULT_SPACING) >> + hbox.set_orientation(Gtk.Orientation.HORIZONTAL) >> >> self.label = Gtk.Label(label=self._label_text) >> hbox.pack_start(self.label, False, False, 0) >> diff --git a/src/sugar3/graphics/tray.py b/src/sugar3/graphics/tray.py >> index d1c0cfd..a9d6d79 100644 >> --- a/src/sugar3/graphics/tray.py >> +++ b/src/sugar3/graphics/tray.py >> @@ -223,7 +223,7 @@ ALIGN_TO_START = 0 >> ALIGN_TO_END = 1 >> >> >> -class HTray(Gtk.HBox): >> +class HTray(Gtk.Box): >> >> __gtype_name__ = 'SugarHTray' >> >> @@ -238,6 +238,7 @@ class HTray(Gtk.HBox): >> self.align = ALIGN_TO_START >> >> GObject.GObject.__init__(self, **kwargs) >> + self.set_orientation(Gtk.Orientation.HORIZONTAL) >> >> scroll_left = _TrayScrollButton('go-left', _PREVIOUS_PAGE) >> self.pack_start(scroll_left, False, False, 0) >> @@ -309,7 +310,7 @@ class HTray(Gtk.HBox): >> self._viewport.scroll_to_item(item) >> >> >> -class VTray(Gtk.VBox): >> +class VTray(Gtk.Box): >> >> __gtype_name__ = 'SugarVTray' >> >> @@ -324,6 +325,7 @@ class VTray(Gtk.VBox): >> self.align = ALIGN_TO_START >> >> GObject.GObject.__init__(self, **kwargs) >> + self..set_orientation(Gtk.Orientation.VERTICAL) >> >> scroll_up = _TrayScrollButton('go-up', _PREVIOUS_PAGE) >> self.pack_start(scroll_up, False, False, 0) >> diff --git a/src/sugar3/graphics/window.py b/src/sugar3/graphics/window.py >> index 2d9764d..1a955c7 100644 >> --- a/src/sugar3/graphics/window.py >> +++ b/src/sugar3/graphics/window.py >> @@ -99,8 +99,10 @@ class Window(Gtk.Window): >> self._canvas = None >> self.tray = None >> >> - self.__vbox = Gtk.VBox() >> - self.__hbox = Gtk.HBox() >> + self.__vbox = Gtk.Box() >> + self.__vbox.set_orientation(Gtk.Orientation.VERTICAL) >> + self.__hbox = Gtk.Box() >> + self.__hbox.set_orientation(Gtk.Orientation.HORIZONTAL) >> self.__vbox.pack_start(self.__hbox, True, True, 0) >> self.__hbox.show() >> >> > > > _______________________________________________ > Sugar-devel mailing list > Sugar-devel@lists.sugarlabs.org > http://lists.sugarlabs.org/listinfo/sugar-devel _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel