Activate/deactivate the frame on F5

This commit is contained in:
Marco Pesenti Gritti
2006-08-28 16:53:29 +02:00
parent 3f4625f0a1
commit 7d01cee2ef
8 changed files with 72 additions and 58 deletions
+1 -2
View File
@@ -24,8 +24,8 @@ class ActionsBar(goocanvas.Group):
self.add_icon(icon)
def add_icon(self, icon):
self._y += (self._width + 6)
icon.set_property('y', self._y)
self._y += (self._width + 6)
self.add_child(icon)
def __share_clicked_cb(self, item):
@@ -48,5 +48,4 @@ class FriendsPanel(Panel):
Panel.construct(self)
actions_bar = ActionsBar(self._shell, self.get_width())
actions_bar.translate(self.get_border(), self.get_border())
self.get_root().add_child(actions_bar)
+31 -24
View File
@@ -1,59 +1,66 @@
import gtk
import goocanvas
class PanelModel(goocanvas.CanvasModelSimple):
class PanelView(goocanvas.CanvasView):
BORDER = 4
def __init__(self, width, height):
goocanvas.CanvasModelSimple.__init__(self)
def construct(self, x, y):
model = goocanvas.CanvasModelSimple()
root = model.get_root_item()
root = self.get_root_item()
item = goocanvas.Rect(x=0, y=0, width=width, height=height,
item = goocanvas.Rect(x=0, y=0,
width=self.get_allocation().width,
height=self.get_allocation().height,
line_width=0, fill_color="#4f4f4f")
root.add_child(item)
class PanelView(goocanvas.CanvasView):
def construct(self):
canvas_model = PanelModel(self.get_allocation().width,
self.get_allocation().height)
self.set_model(canvas_model)
self._group = goocanvas.Group()
root.add_child(self._group)
self._group.translate(x + PanelView.BORDER, y + PanelView.BORDER)
self.set_model(model)
def get_root_group(self):
return self._group
class Panel(gtk.Window):
def __init__(self):
gtk.Window.__init__(self)
self._x = 0
self._y = 0
self._view = PanelView()
self.add(self._view)
self._view.show()
self.connect('realize', self.__realize_cb)
self.set_decorated(False)
self.realize()
self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
screen = gtk.gdk.screen_get_default()
self.window.set_transient_for(screen.get_root_window())
def get_view(self):
return self._view
def get_model(self):
return self._view.get_model()
def get_root(self):
return self.get_model().get_root_item()
def get_border(self):
return PanelModel.BORDER
return self._view.get_root_group()
def get_height(self):
height = self._view.get_allocation().height
return height - self.get_border() * 2
return height - PanelView.BORDER * 2
def get_width(self):
width = self._view.get_allocation().width
return width - self.get_border() * 2
return width - PanelView.BORDER * 2
def __realize_cb(self, window):
self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DOCK)
def set_position(self, x, y):
self._x = x
self._y = y
def construct(self):
self._view.construct()
self._view.construct(self._x, self._y)
def show(self):
gtk.Window.show(self)
+30 -13
View File
@@ -10,21 +10,38 @@ class PanelManager:
size = 30
self._verbs_panel = VerbsPanel(shell)
self._verbs_panel.move(0, gtk.gdk.screen_height() - size)
self._verbs_panel.resize(gtk.gdk.screen_width(), size)
self._verbs_panel.show()
self._verbs_panel.set_position(size, 0)
self._verbs_panel.move(1, gtk.gdk.screen_height() - size + 1)
self._verbs_panel.resize(gtk.gdk.screen_width() - 1, size - 1)
self._friends_panel = FriendsPanel(shell)
self._friends_panel.move(gtk.gdk.screen_width() - size, 0)
self._friends_panel.resize(size, gtk.gdk.screen_height())
self._friends_panel.show()
self._friends_panel.move(gtk.gdk.screen_width() - size, size)
self._friends_panel.resize(size, gtk.gdk.screen_height() - size * 2 + 1)
self._top_panel = TopPanel(shell)
self._top_panel.move(0, 0)
self._top_panel.resize(gtk.gdk.screen_width(), size)
self._top_panel.show()
self._top_panel.set_position(size, 0)
# FIXME bug in matchbox, can't use 0,0
self._top_panel.move(0, 1)
self._top_panel.resize(gtk.gdk.screen_width() - 1, size - 1)
panel = Panel()
panel.move(0, 0)
panel.resize(size, gtk.gdk.screen_height())
panel.show()
self._left_panel = Panel()
self._left_panel.move(0, size)
self._left_panel.resize(size, gtk.gdk.screen_height() - size * 2 + 1)
def show(self):
self._verbs_panel.show()
self._friends_panel.show()
self._top_panel.show()
self._left_panel.show()
def hide(self):
self._verbs_panel.hide()
self._friends_panel.hide()
self._top_panel.hide()
self._left_panel.hide()
def toggle_visibility(self):
if self._verbs_panel.props.visible:
self.hide()
else:
self.show()
-1
View File
@@ -37,5 +37,4 @@ class TopPanel(Panel):
Panel.construct(self)
zoom_bar = ZoomBar(self._shell, self.get_height())
zoom_bar.translate(self.get_border(), self.get_border())
self.get_root().add_child(zoom_bar)
+2 -2
View File
@@ -59,10 +59,9 @@ class VerbsPanel(Panel):
def construct(self):
Panel.construct(self)
root = self.get_model().get_root_item()
root = self.get_root()
activity_bar = ActivityBar(self._shell, self.get_height())
activity_bar.translate(self.get_border(), self.get_border())
root.add_child(activity_bar)
def __item_view_created_cb(self, view, item_view, item):
@@ -73,3 +72,4 @@ class VerbsPanel(Panel):
def __activity_button_press_cb(self, view, target, event, activity_id):
self._shell.start_activity(activity_id)
self._shell.get_panel_manager().hide()