Fixed plot things. A plot can only be attached to one view now.

This commit is contained in:
2006-05-29 11:24:33 +00:00
parent 62c1d79dac
commit 581cef75ae
3 changed files with 31 additions and 16 deletions

View File

@@ -51,6 +51,7 @@ class ViewFrame (gtk.Frame):
self.focused = False
self.view_frames = view_frames
self.empty_view = EmptyView()
self._button_event = None
view_frames.append(self)
if len(view_frames) == 1:
@@ -58,8 +59,11 @@ class ViewFrame (gtk.Frame):
else:
self.unfocus()
# Set view
self._view = self.empty_view
self.set_view(self._view)
self._view.connect("button-press-event", self.on_button_press_event)
self.add(self._view)
self._view.show()
self.show()
def focus(self):
@@ -88,14 +92,19 @@ class ViewFrame (gtk.Frame):
if view == None:
view = self.empty_view
# # do nothing if the view is already there
# if view == self._view:
# return
# do nothing if the view is already there
if view == self._view:
return
# detach view from current parent
view_parent = view.get_parent()
if view_parent:
view_parent.set_view(None)
# switch which widget we are listening to
# if self._view:
# self._view.disconnect(self.on_button_press_event)
view.connect("button-press-event", self.on_button_press_event)
if self._button_event:
self._view.disconnect(self._button_event)
self._button_event = view.connect("button-press-event", self.on_button_press_event)
# remove old view, set new view
self._view.hide()
@@ -112,7 +121,6 @@ class ViewFrame (gtk.Frame):
return self._view
def on_button_press_event(self, widget, event):
print "foo"
if not self.focused:
self.focus()
@@ -132,8 +140,8 @@ class MainView (gtk.Notebook):
self.append_page(self._small_views)
self.append_page(self._large_view)
self.set_current_page(0)
self.show()
self.set_current_page(0)
def __getitem__(self, x, y):
return self._views[x, y]
@@ -151,6 +159,9 @@ class MainView (gtk.Notebook):
return None
def goto_large(self):
if self.get_current_page() == 1:
return
vf = self.get_active_small_view()
view = vf.get_view()
vf.set_view(None)
@@ -158,6 +169,9 @@ class MainView (gtk.Notebook):
self.set_current_page(1)
def goto_small(self):
if self.get_current_page() == 0:
return
vf = self.get_active_small_view()
view = self._large_view.get_view()
self._large_view.set_view(None)
@@ -174,7 +188,6 @@ class MainView (gtk.Notebook):
self._small_views.show()
gtk.Notebook.show(self)
# def insert_view(self, view)
class Plot (gtk.Frame):