The active plot is now more visible.
This commit is contained in:
parent
f826931105
commit
e08cc8b816
@ -67,7 +67,21 @@ class ViewFrame (gtk.Frame):
|
||||
self.view_frames = view_frames
|
||||
self.empty_view = EmptyView()
|
||||
self._button_event = None
|
||||
|
||||
|
||||
## Set up a VBox with a label wrapped in an event box.
|
||||
label = gtk.Label()
|
||||
ebox = gtk.EventBox()
|
||||
ebox.add(label)
|
||||
vbox = gtk.VBox()
|
||||
vbox.pack_start(ebox, expand=False)
|
||||
vbox.pack_start(gtk.HSeparator(), expand=False)
|
||||
|
||||
## Keep the references for later use.
|
||||
self._vbox = vbox
|
||||
self._ebox = ebox
|
||||
self._view_title = label
|
||||
self.add(vbox)
|
||||
|
||||
view_frames.append(self)
|
||||
if len(view_frames) == 1:
|
||||
self.focus()
|
||||
@ -84,9 +98,10 @@ class ViewFrame (gtk.Frame):
|
||||
# Set view
|
||||
self._view = self.empty_view
|
||||
self._view.connect("button-press-event", self.on_button_press_event)
|
||||
self.add(self._view)
|
||||
self._vbox.add(self._view)
|
||||
self._view_title.set_text(self._view.title)
|
||||
self.show_all()
|
||||
self._view.show()
|
||||
self.show()
|
||||
|
||||
def focus(self):
|
||||
"""Gets focus and ensures that no other window is in focus."""
|
||||
@ -98,6 +113,7 @@ class ViewFrame (gtk.Frame):
|
||||
frame.unfocus()
|
||||
|
||||
self.set_shadow_type(gtk.SHADOW_IN)
|
||||
self._ebox.set_state(gtk.STATE_ACTIVE)
|
||||
self.focused = True
|
||||
self.emit('focus-changed', self, True)
|
||||
return self
|
||||
@ -108,6 +124,7 @@ class ViewFrame (gtk.Frame):
|
||||
return
|
||||
|
||||
self.set_shadow_type(gtk.SHADOW_OUT)
|
||||
self._ebox.set_state(gtk.STATE_NORMAL)
|
||||
self.focused = False
|
||||
self.emit('focus-changed', self, False)
|
||||
|
||||
@ -123,9 +140,8 @@ class ViewFrame (gtk.Frame):
|
||||
return
|
||||
|
||||
# detach view from current parent
|
||||
view_parent = view.get_parent()
|
||||
if view_parent:
|
||||
view_parent.set_view(None)
|
||||
if view._view_frame:
|
||||
view._view_frame.set_view(None)
|
||||
|
||||
# switch which widget we are listening to
|
||||
if self._button_event:
|
||||
@ -135,11 +151,16 @@ class ViewFrame (gtk.Frame):
|
||||
self.on_button_press_event)
|
||||
|
||||
# remove old view, set new view
|
||||
self._view.hide()
|
||||
self.remove(self._view)
|
||||
self.add(view)
|
||||
if self._view:
|
||||
self._view.hide()
|
||||
self._vbox.remove(self._view)
|
||||
self._view._view_frame = None
|
||||
|
||||
self._view_title.set_text(view.title)
|
||||
self._vbox.add(view)
|
||||
view.show()
|
||||
|
||||
view._view_frame = self
|
||||
self._view = view
|
||||
|
||||
def get_view(self):
|
||||
@ -262,7 +283,7 @@ class View (gtk.Frame):
|
||||
gtk.Frame.__init__(self)
|
||||
self.title = title
|
||||
self.set_shadow_type(gtk.SHADOW_NONE)
|
||||
self.set_label(title)
|
||||
self._view_frame = None
|
||||
|
||||
def get_toolbar(self):
|
||||
return None
|
||||
@ -294,11 +315,12 @@ class Plot (View):
|
||||
self._toolbar = PlotToolbar(self)
|
||||
self.canvas.add_events(gtk.gdk.ENTER_NOTIFY_MASK)
|
||||
self.current_dim = None
|
||||
self._current_selection = None
|
||||
|
||||
def set_frozen(self, frozen):
|
||||
"""A frozen plot will not be updated when the current selection is changed."""
|
||||
self._frozen = frozen
|
||||
if not frozen:
|
||||
if not frozen and self._current_selection != None:
|
||||
self.set_current_selection(self._current_selection)
|
||||
|
||||
def get_title(self):
|
||||
@ -316,13 +338,12 @@ class Plot (View):
|
||||
3.) the selections dim_name is the plot's dimension.
|
||||
"""
|
||||
|
||||
self._current_selection = selection
|
||||
if self._frozen \
|
||||
or not self.get_property('visible') \
|
||||
or self.current_dim != dim_name:
|
||||
return
|
||||
else:
|
||||
self._current_selection = selection
|
||||
|
||||
|
||||
self.set_current_selection(selection)
|
||||
|
||||
def set_selection_listener(self, listener):
|
||||
@ -726,10 +747,6 @@ class DefaultPlotMode (PlotMode):
|
||||
def __init__(self, plot):
|
||||
PlotMode.__init__(self, plot, 'default', 'Default mode', 'cursor.png')
|
||||
|
||||
def activate(self):
|
||||
for k, v in self.canvas.callbacks.items():
|
||||
print k, v
|
||||
|
||||
|
||||
class PanPlotMode (PlotMode):
|
||||
def __init__(self, plot):
|
||||
|
Reference in New Issue
Block a user