frysk.gui.srcwin
Class CurrentStackView

java.lang.Object
  extended by org.gnu.glib.Struct
      extended by org.gnu.glib.GObject
          extended by org.gnu.gtk.GtkObject
              extended by org.gnu.gtk.Widget
                  extended by org.gnu.gtk.Container
                      extended by org.gnu.gtk.TreeView
                          extended by frysk.gui.srcwin.CurrentStackView
All Implemented Interfaces:
org.gnu.gtk.event.TreeSelectionListener

public class CurrentStackView
extends org.gnu.gtk.TreeView
implements org.gnu.gtk.event.TreeSelectionListener


Nested Class Summary
static interface CurrentStackView.StackViewListener
           
 
Field Summary
private static DebugInfoFrame currentFrame
           
private  DebugInfoFrame head
           
private  LinkedList observers
           
private static PrintDebugInfoStackOptions STACK_OPTIONS
           
private  Object[] stackArray
           
private  org.gnu.gtk.DataColumn[] stackColumns
           
private  org.gnu.gtk.TreeStore treeModel
           
 
Fields inherited from class org.gnu.glib.GObject
eventsInitialized
 
Constructor Summary
CurrentStackView(DebugInfoFrame[][] frames)
           
 
Method Summary
 void addListener(CurrentStackView.StackViewListener listener)
           
 void addProc(DebugInfoFrame[] frames, int current)
           
 void appendRows(DebugInfoFrame frame, org.gnu.gtk.TreeIter taskIter)
           
private  void buildTree(DebugInfoFrame[][] frames)
           
 void clear()
           
static DebugInfoFrame getCurrentFrame()
           
 DebugInfoFrame getFirstFrameSelection()
           
private  void notifyObservers(DebugInfoFrame newStack, int current)
           
 void refreshProc(DebugInfoFrame[] frames, int current)
           
 void removeProc(int current)
           
 void selectionChangedEvent(org.gnu.gtk.event.TreeSelectionEvent arg0)
           
 void selectRow(DebugInfoFrame frame)
          Scan the available stack frames and find the frame which matches the parameter.
 
Methods inherited from class org.gnu.gtk.TreeView
activateCell, addListener, appendColumn, appendDataColumn, appendDataColumn, appendDataColumn, appendDataColumn, appendDataColumn, appendDataColumn, autoSizeColumns, collapseAll, collapseRow, expandAll, expandRow, expandToPath, findListener, fireTreeViewEvent, getAlternateRowColor, getColumn, getColumns, getCursorColumn, getCursorPath, getEnableSearch, getEventListenerClass, getEventType, getExpanderColumn, getFixedHeightMode, getHAdjustment, getHeadersVisible, getHoverExpand, getHoverSelection, getModel, getReorderable, getRowExpanded, getRowSeparatorMethod, getSearchColumn, getSearchDataColumn, getSelection, getTreeView, getType, getVAdjustment, gtk_tree_view_append_column, gtk_tree_view_collapse_all, gtk_tree_view_collapse_row, gtk_tree_view_columns_autosize, gtk_tree_view_expand_all, gtk_tree_view_expand_row, gtk_tree_view_expand_to_path, gtk_tree_view_get_bin_window, gtk_tree_view_get_column, gtk_tree_view_get_columns, gtk_tree_view_get_cursor_column, gtk_tree_view_get_cursor_path, gtk_tree_view_get_enable_search, gtk_tree_view_get_expander_column, gtk_tree_view_get_hadjustment, gtk_tree_view_get_headers_visible, gtk_tree_view_get_model, gtk_tree_view_get_path_at_pos, gtk_tree_view_get_reorderable, gtk_tree_view_get_rules_hint, gtk_tree_view_get_search_column, gtk_tree_view_get_selection, gtk_tree_view_get_type, gtk_tree_view_get_vadjustment, gtk_tree_view_insert_column, gtk_tree_view_move_column_after, gtk_tree_view_new_with_model, gtk_tree_view_new, gtk_tree_view_remove_column, gtk_tree_view_row_activated, gtk_tree_view_row_expanded, gtk_tree_view_scroll_to_cell, gtk_tree_view_scroll_to_point, gtk_tree_view_set_cursor_on_cell, gtk_tree_view_set_cursor, gtk_tree_view_set_enable_search, gtk_tree_view_set_expander_column, gtk_tree_view_set_hadjustment, gtk_tree_view_set_headers_clickable, gtk_tree_view_set_headers_visible, gtk_tree_view_set_model, gtk_tree_view_set_reorderable, gtk_tree_view_set_rules_hint, gtk_tree_view_set_search_column, gtk_tree_view_set_vadjustment, handleSeparatorFunc, insertColumn, moveColumn, removeColumn, removeListener, scrollToCell, scrollToCell, scrollToCell, scrollToCell, scrollToPoint, setAlternateRowColor, setCursor, setCursor, setEnableSearch, setExpanderColumn, setFixedHeightMode, setHAdjustment, setHeadersClickable, setHeadersVisible, setHoverExpand, setHoverSelection, setModel, setReorderable, setRowSeparatorMethod, setSearchColumn, setSearchDataColumn, setVAdjustment, showDataColumn, showDataColumn, showDataColumn, showDataColumn, showDataColumn, showDataColumn
 
Methods inherited from class org.gnu.gtk.Container
add, addListener, fireContainerEvent, getBooleanChildProperty, getBorderWidth, getChildProperty, getChildren, getContainer, getIntChildProperty, getResizeMode, gtk_container_add, gtk_container_check_resize, gtk_container_child_get_property, gtk_container_child_set_property, gtk_container_child_type, gtk_container_get_border_width, gtk_container_get_children, gtk_container_get_focus_chain, gtk_container_get_focus_hadjustment, gtk_container_get_focus_vadjustment, gtk_container_get_resize_mode, gtk_container_get_type, gtk_container_propagate_expose, gtk_container_remove, gtk_container_resize_children, gtk_container_set_border_width, gtk_container_set_focus_chain, gtk_container_set_focus_child, gtk_container_set_focus_hadjustment, gtk_container_set_focus_vadjustment, gtk_container_set_reallocate_redraws, gtk_container_set_resize_mode, gtk_container_unset_focus_chain, remove, removeListener, resizeChildren, setBooleanChildProperty, setBorderWidth, setChildProperty, setIntChildProperty, setResizeMode
 
Methods inherited from class org.gnu.gtk.Widget
activate, addAccelerator, addEvents, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, canActivateAccel, createContext, createLayout, draw, drawArea, drawArea, finish, fireBooleanLifeCycleEvent, fireConfigureEvent, fireDeleteDragDataEvent, fireDragMotionEvent, fireDropDragEvent, fireEndDragEvent, fireExposeEvent, fireFocusEvent, fireKeyEvent, fireLeaveDragDestinationEvent, fireLifeCycleEvent, fireMouseEvent, fireMouseMotionEvent, fireReceiveDragDataEvent, fireRequestDragDataEvent, fireStartDragEvent, getAccessible, getAllocation, getCanFocus, getColormap, getContext, getData, getDisplay, getDragData, getExtensionEvents, getModifierStyle, getName, getParent, getParentWindow, getPointer, getRootWindow, getScreen, getSensitive, getStyle, getToplevel, getWidget, getWindow, grabDefault, grabFocus, gtk_drag_dest_set, gtk_drag_dest_unset, gtk_drag_finish, gtk_drag_get_data, gtk_drag_highlight, gtk_drag_source_set_icon_pixbuf, gtk_drag_source_set_icon_stock, gtk_drag_source_set_icon, gtk_drag_source_set, gtk_drag_source_unset, gtk_drag_unhighlight, gtk_widget_activate, gtk_widget_add_accelerator, gtk_widget_add_events, gtk_widget_add_mnemonic_label, gtk_widget_can_activate_accel, gtk_widget_child_focus, gtk_widget_child_notify, gtk_widget_class_path, gtk_widget_create_pango_context, gtk_widget_create_pango_layout, gtk_widget_destroy, gtk_widget_destroyed, gtk_widget_ensure_style, gtk_widget_event, gtk_widget_freeze_child_notify, gtk_widget_get_accessible, gtk_widget_get_allocation, gtk_widget_get_ancestor, gtk_widget_get_child_requisition, gtk_widget_get_child_visible, gtk_widget_get_colormap, gtk_widget_get_composite_name, gtk_widget_get_default_colormap, gtk_widget_get_default_direction, gtk_widget_get_default_style, gtk_widget_get_default_visual, gtk_widget_get_direction, gtk_widget_get_display, gtk_widget_get_events, gtk_widget_get_extension_events, gtk_widget_get_modifier_style, gtk_widget_get_name, gtk_widget_get_pango_context, gtk_widget_get_parent_window, gtk_widget_get_parent, gtk_widget_get_pointer, gtk_widget_get_root_window, gtk_widget_get_screen, gtk_widget_get_sensitive, gtk_widget_get_settings, gtk_widget_get_size_request, gtk_widget_get_style, gtk_widget_get_toplevel, gtk_widget_get_type, gtk_widget_get_visual, gtk_widget_get_window, gtk_widget_grab_default, gtk_widget_grab_focus, gtk_widget_has_screen, gtk_widget_hide_all, gtk_widget_hide_on_delete, gtk_widget_hide, gtk_widget_intersect, gtk_widget_is_ancestor, gtk_widget_is_focus, gtk_widget_list_accel_closures, gtk_widget_list_mnemonic_labels, gtk_widget_map, gtk_widget_mnemonic_activate, gtk_widget_modify_base, gtk_widget_modify_bg, gtk_widget_modify_fg, gtk_widget_modify_font, gtk_widget_modify_style, gtk_widget_modify_text, gtk_widget_path, gtk_widget_pop_colormap, gtk_widget_pop_composite_child, gtk_widget_push_colormap, gtk_widget_push_composite_child, gtk_widget_queue_draw_area, gtk_widget_queue_draw, gtk_widget_queue_resize, gtk_widget_realize, gtk_widget_region_intersect, gtk_widget_remove_accelerator, gtk_widget_remove_mnemonic_label, gtk_widget_render_icon, gtk_widget_reparent, gtk_widget_reset_rc_styles, gtk_widget_send_expose, gtk_widget_set_accel_path, gtk_widget_set_app_paintable, gtk_widget_set_child_visible, gtk_widget_set_colormap, gtk_widget_set_composite_name, gtk_widget_set_default_colormap, gtk_widget_set_default_direction, gtk_widget_set_direction, gtk_widget_set_double_buffered, gtk_widget_set_events, gtk_widget_set_extension_events, gtk_widget_set_name, gtk_widget_set_parent_window, gtk_widget_set_parent, gtk_widget_set_redraw_on_allocate, gtk_widget_set_scroll_adjustments, gtk_widget_set_sensitive, gtk_widget_set_size_request, gtk_widget_set_state, gtk_widget_set_style, gtk_widget_shape_combine_mask, gtk_widget_show_all, gtk_widget_show_now, gtk_widget_show, gtk_widget_size_allocate, gtk_widget_size_request, gtk_widget_style_get_property, gtk_widget_thaw_child_notify, gtk_widget_translate_coordinates, gtk_widget_unmap, gtk_widget_unparent, gtk_widget_unrealize, handleButtonPressed, handleButtonReleased, handleConfigure, handleDelete, handleDestroy, handleDragDataDeleted, handleDragDataReceived, handleDragDataRequested, handleDragDestinationLeft, handleDragDropped, handleDragEnded, handleDragMotionOccurred, handleDragStarted, handleExpose, handleFocusIn, handleFocusOut, handleHide, handleKeyPressed, handleKeyReleased, handleMap, handleMouseEnter, handleMouseLeave, handleMouseMotion, handleNoExpose, handleRealize, handleScroll, handleShow, handleUnmap, handleUnrealize, hasFocus, hasScreen, hide, hideAll, highlight, highlight, intersect, isAncestor, makeWidget, modifyStyle, popColormap, pushColormap, realize, removeAccelerator, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, reparent, setBackgroundColor, setBaseColor, setCanFocus, setColormap, setDoubleBuffered, setDragDestination, setDragIcon, setDragIconPixbuf, setDragIconStock, setDragSource, setEvents, setExtensionEvents, setFont, setForegroundColor, setMinimumSize, setName, setNoDragDestination, setNoDragSource, setSensitive, setTextColor, shapeCombineMask, show, showAll, unHighlight, unHighlight
 
Methods inherited from class org.gnu.gtk.GtkObject
checkState, destroy, getFlags, gtk_object_destroy, gtk_object_get_type, gtk_object_sink, setFlags, sink
 
Methods inherited from class org.gnu.glib.GObject
addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addListener, collect, finalize, freezeNotify, getBooleanProperty, getData, getData, getDoubleProperty, getFloatProperty, getGObjectFromHandle, getIntFromHandle, getIntProperty, getJavaObjectProperty, getLongProperty, getPixbufProperty, getProperty, getStringFromHandle, getStringProperty, hasProperty, instantiateJGObjectFromGType, notify, removeEventHandler, removeListener, retrieveGObject, setBooleanProperty, setData, setData, setDoubleProperty, setFloatProperty, setIntProperty, setJavaObjectProperty, setLongProperty, setPixbufProperty, setProperty, setStringProperty, thawNotify
 
Methods inherited from class org.gnu.glib.Struct
equals, getHandle, getNullHandle, hashCode, setHandle
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stackColumns

private org.gnu.gtk.DataColumn[] stackColumns

STACK_OPTIONS

private static final PrintDebugInfoStackOptions STACK_OPTIONS

currentFrame

private static DebugInfoFrame currentFrame

observers

private LinkedList observers

head

private DebugInfoFrame head

treeModel

private org.gnu.gtk.TreeStore treeModel

stackArray

private Object[] stackArray
Constructor Detail

CurrentStackView

public CurrentStackView(DebugInfoFrame[][] frames)
Method Detail

refreshProc

public void refreshProc(DebugInfoFrame[] frames,
                        int current)

buildTree

private void buildTree(DebugInfoFrame[][] frames)

appendRows

public void appendRows(DebugInfoFrame frame,
                       org.gnu.gtk.TreeIter taskIter)

addProc

public void addProc(DebugInfoFrame[] frames,
                    int current)

removeProc

public void removeProc(int current)

clear

public void clear()

getCurrentFrame

public static DebugInfoFrame getCurrentFrame()
Returns:
The currently selected stack frame

addListener

public void addListener(CurrentStackView.StackViewListener listener)

notifyObservers

private void notifyObservers(DebugInfoFrame newStack,
                             int current)

getFirstFrameSelection

public DebugInfoFrame getFirstFrameSelection()

selectRow

public void selectRow(DebugInfoFrame frame)
Scan the available stack frames and find the frame which matches the parameter. Then highlight the row containing that frame.

Parameters:
frame - The StackFrame whose row to highlight.

selectionChangedEvent

public void selectionChangedEvent(org.gnu.gtk.event.TreeSelectionEvent arg0)
Specified by:
selectionChangedEvent in interface org.gnu.gtk.event.TreeSelectionListener