Make the frame adapt to screen size again.
Several cleanups. Fixup makefiles
This commit is contained in:
parent
5988a89517
commit
7850970f27
@ -3,8 +3,8 @@ import gobject
|
|||||||
import goocanvas
|
import goocanvas
|
||||||
|
|
||||||
from frame.BottomPanel import BottomPanel
|
from frame.BottomPanel import BottomPanel
|
||||||
from frame.RightPanel import RightPanel
|
#from frame.RightPanel import RightPanel
|
||||||
from frame.TopPanel import TopPanel
|
#from frame.TopPanel import TopPanel
|
||||||
from frame.PanelWindow import PanelWindow
|
from frame.PanelWindow import PanelWindow
|
||||||
|
|
||||||
from sugar.canvas.ScreenContainer import ScreenContainer
|
from sugar.canvas.ScreenContainer import ScreenContainer
|
||||||
@ -45,15 +45,13 @@ class Frame:
|
|||||||
self._screen_container.set_layout(self._screen_layout)
|
self._screen_container.set_layout(self._screen_layout)
|
||||||
|
|
||||||
def _create_window(self, constraints):
|
def _create_window(self, constraints):
|
||||||
layout = self._screen_layout
|
|
||||||
|
|
||||||
window = PanelWindow(self._model)
|
window = PanelWindow(self._model)
|
||||||
layout.set_constraints(window, constraints)
|
self._screen_layout.set_constraints(window, constraints)
|
||||||
self._windows.append(window)
|
self._windows.append(window)
|
||||||
|
|
||||||
bounds = layout.get_bounds(self._screen_container, constraints)
|
bounds = self._model.get_layout().get_bounds(self._model._root, constraints)
|
||||||
window.get_view().set_bounds(bounds[0], bounds[1],
|
window.scale_to_screen()
|
||||||
bounds[2], bounds[3])
|
window.set_bounds(constraints)
|
||||||
|
|
||||||
def __hide_timeout_cb(self):
|
def __hide_timeout_cb(self):
|
||||||
self.hide()
|
self.hide()
|
||||||
|
@ -2,7 +2,7 @@ sugardir = $(pkgdatadir)/shell/frame
|
|||||||
sugar_PYTHON = \
|
sugar_PYTHON = \
|
||||||
__init__.py \
|
__init__.py \
|
||||||
RightPanel.py \
|
RightPanel.py \
|
||||||
Panel.py \
|
PanelWindow.py \
|
||||||
Frame.py \
|
Frame.py \
|
||||||
TopPanel.py \
|
TopPanel.py \
|
||||||
BottomPanel.py
|
BottomPanel.py
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import gtk
|
import gtk
|
||||||
|
|
||||||
from sugar.canvas.CanvasWindow import CanvasWindow
|
from sugar.canvas.GridWindow import GridWindow
|
||||||
|
|
||||||
class PanelWindow(CanvasWindow):
|
class PanelWindow(GridWindow):
|
||||||
def __init__(self, model):
|
def __init__(self, model):
|
||||||
CanvasWindow.__init__(self, model)
|
GridWindow.__init__(self, model)
|
||||||
|
|
||||||
self.set_decorated(False)
|
self.set_decorated(False)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import goocanvas
|
import goocanvas
|
||||||
|
|
||||||
from frame.Panel import Panel
|
from frame.PanelWindow import PanelWindow
|
||||||
from sugar.canvas.IconItem import IconItem
|
from sugar.canvas.IconItem import IconItem
|
||||||
from sugar.canvas.IconColor import IconColor
|
from sugar.canvas.IconColor import IconColor
|
||||||
from sugar.presence import PresenceService
|
from sugar.presence import PresenceService
|
||||||
@ -152,22 +152,3 @@ class ActionsBar(goocanvas.Group):
|
|||||||
|
|
||||||
def __chat_clicked_cb(self, item):
|
def __chat_clicked_cb(self, item):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class RightPanel(Panel):
|
|
||||||
def __init__(self, shell, friends):
|
|
||||||
Panel.__init__(self)
|
|
||||||
self._shell = shell
|
|
||||||
self._friends = friends
|
|
||||||
|
|
||||||
def construct(self):
|
|
||||||
Panel.construct(self)
|
|
||||||
|
|
||||||
root = self.get_root()
|
|
||||||
|
|
||||||
actions_bar = ActionsBar(self._shell, self.get_width())
|
|
||||||
root.add_child(actions_bar)
|
|
||||||
|
|
||||||
friends_group = FriendsGroup(self._shell, self._friends,
|
|
||||||
self.get_width())
|
|
||||||
friends_group.translate(0, 150)
|
|
||||||
root.add_child(friends_group)
|
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
import gtk
|
|
||||||
import goocanvas
|
|
||||||
|
|
||||||
class CanvasWindow(gtk.Window):
|
|
||||||
def __init__(self, model):
|
|
||||||
gtk.Window.__init__(self)
|
|
||||||
|
|
||||||
self._view = goocanvas.CanvasView()
|
|
||||||
self._view.set_model(model.get())
|
|
||||||
self.add(self._view)
|
|
||||||
self._view.show()
|
|
||||||
|
|
||||||
def get_view(self):
|
|
||||||
return self._view
|
|
@ -26,5 +26,11 @@ class GridModel:
|
|||||||
def get(self):
|
def get(self):
|
||||||
return self._model
|
return self._model
|
||||||
|
|
||||||
|
def get_width(self):
|
||||||
|
return self._width
|
||||||
|
|
||||||
|
def get_bounds(self, constraints):
|
||||||
|
return self.get_layout().get_bounds(self._root, constraints)
|
||||||
|
|
||||||
def get_layout(self):
|
def get_layout(self):
|
||||||
return self._root.get_layout()
|
return self._root.get_layout()
|
||||||
|
25
sugar/canvas/GridWindow.py
Normal file
25
sugar/canvas/GridWindow.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import gtk
|
||||||
|
import goocanvas
|
||||||
|
|
||||||
|
class GridWindow(gtk.Window):
|
||||||
|
def __init__(self, model):
|
||||||
|
gtk.Window.__init__(self)
|
||||||
|
|
||||||
|
self._model = model
|
||||||
|
|
||||||
|
self._view = goocanvas.CanvasView()
|
||||||
|
self._view.set_model(model.get())
|
||||||
|
self.add(self._view)
|
||||||
|
self._view.show()
|
||||||
|
|
||||||
|
def scale_to_screen(self):
|
||||||
|
self._view.set_scale(float(gtk.gdk.screen_width()) /
|
||||||
|
float(self._model.get_width()))
|
||||||
|
|
||||||
|
def set_bounds(self, constraints):
|
||||||
|
bounds = self._model.get_bounds(constraints)
|
||||||
|
self._view.set_bounds(bounds[0], bounds[1],
|
||||||
|
bounds[2], bounds[3])
|
||||||
|
|
||||||
|
def get_view(self):
|
||||||
|
return self._view
|
@ -1,5 +1,9 @@
|
|||||||
sugardir = $(pythondir)/sugar/canvas
|
sugardir = $(pythondir)/sugar/canvas
|
||||||
sugar_PYTHON = \
|
sugar_PYTHON = \
|
||||||
__init__.py \
|
__init__.py \
|
||||||
|
GridLayout.py \
|
||||||
|
GridModel.py \
|
||||||
|
GridWindow.py \
|
||||||
IconItem.py \
|
IconItem.py \
|
||||||
IconColor.py
|
IconColor.py \
|
||||||
|
ScreenContainer.py
|
||||||
|
Loading…
Reference in New Issue
Block a user