<widget class="GtkVBox" id="historyLayout">
<property name="visible">True</property>
<child>
- <widget class="GtkEntry" id="entryView">
+ <widget class="GtkScrolledWindow" id="scrollingHistory">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="editable">False</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <child>
+ <widget class="GtkTreeView" id="historyView">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">False</property>
+ <property name="reorderable">True</property>
+ <property name="rules_hint">True</property>
+ <property name="enable_search">False</property>
+ <property name="hover_selection">False</property>
+ <property name="hover_expand">False</property>
+ <property name="rubber_banding">False</property>
+ </widget>
+ </child>
</widget>
<packing>
- <property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
</packing>
</child>
<child>
- <widget class="GtkScrolledWindow" id="scrollingHistory">
+ <widget class="GtkEntry" id="entryView">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="hscrollbar_policy">never</property>
- <property name="vscrollbar_policy">automatic</property>
- <child>
- <widget class="GtkTreeView" id="historyView">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">False</property>
- <property name="headers_clickable">False</property>
- <property name="reorderable">True</property>
- <property name="rules_hint">True</property>
- <property name="enable_search">False</property>
- <property name="hover_selection">True</property>
- <property name="hover_expand">True</property>
- <property name="rubber_banding">True</property>
- </widget>
- </child>
+ <property name="editable">False</property>
+ <property name="invisible_char">●</property>
</widget>
<packing>
+ <property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
self.__resultColumn.set_attributes(self.__valueCell, text=2)
self._historyView.set_reorderable(True)
+ self._historyView.get_selection().set_mode(gtk.SELECTION_SINGLE)
self._historyView.connect("row-activated", self._on_close_activated)
def push(self, node):
simpleNode = node.simplify()
- self.__historyStore.prepend([
+ self.__historyStore.append([
gtk.STOCK_CLOSE,
operation.render_operation(self.__prettyRenderer, node),
operation.render_operation(self.__prettyRenderer, simpleNode),
node,
simpleNode
])
+ selection = self._historyView.get_selection()
+ selectionPath = (len(self.__historyStore)-1, )
+ selection.select_path(selectionPath)
+ self._historyView.scroll_to_cell(selectionPath)
def pop(self):
if len(self.__historyStore) == 0:
raise IndexError("Not enough items in the history for the operation")
- row = self.__historyStore[0]
+ row = self.__historyStore[-1]
data = row[self.DATA_IDX]
- del self.__historyStore[0]
+ del self.__historyStore[-1]
return data
def peek(self):
if len(self.__historyStore) == 0:
raise IndexError("Not enough items in the history for the operation")
- row = self.__historyStore[0]
+ row = self.__historyStore[-1]
data = row[self.DATA_IDX]
return data
yield data
def _on_close_activated(self, treeView, path, viewColumn):
+ print path
if viewColumn is self.__closeColumn:
del self.__historyStore[path[0]]
elif viewColumn is self.__resultColumn: