frysk.gui.druid
Class CreateFryskSessionDruid

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.Bin
                          extended by org.gnu.gtk.Window
                              extended by org.gnu.gtk.Dialog
                                  extended by frysk.gui.druid.CreateFryskSessionDruid
All Implemented Interfaces:
org.gnu.gtk.event.LifeCycleListener

public class CreateFryskSessionDruid
extends org.gnu.gtk.Dialog
implements org.gnu.gtk.event.LifeCycleListener


Nested Class Summary
private static class CreateFryskSessionDruid.DruidMode
           
private static class CreateFryskSessionDruid.WarningType
           
 
Field Summary
private  ProcWiseTreeView addedProcsTreeView
           
private  org.gnu.gtk.Button backButton
           
private  org.gnu.gtk.Button cancelButton
           
private  org.gnu.gtk.Button closeButton
           
private  ProcWiseDataModel dataModel
           
private  org.gnu.gtk.RadioButton debugSessionRadioButton
           
private  CreateFryskSessionDruid.DruidMode druidMode
           
private  org.gnu.gtk.Button finishButton
           
private  org.gnu.glade.LibGlade glade
           
private  String initialSessionName
           
private static int INTRODUCTION_PAGE
           
private  org.gnu.gtk.RadioButton monitorSessionRadioButton
           
private  org.gnu.gtk.Entry nameEntry
           
private  org.gnu.gtk.Button nextButton
           
private  org.gnu.gtk.Notebook notebook
           
private static int OBSERVERS_PAGE
           
private  org.gnu.gtk.Button okButton
           
private  String oldSessionName
           
private  int processSelected
           
private  HashMap procMap
           
private  ProcWiseTreeView procWiseTreeView
           
private  org.gnu.gtk.Button saveButton
           
private static int SELECT_PROCS_PAGE
           
private  org.gnu.gtk.Image warningIcon
           
private  org.gnu.gtk.Label warningLabel
           
 
Fields inherited from class org.gnu.glib.GObject
eventsInitialized
 
Constructor Summary
CreateFryskSessionDruid(org.gnu.glade.LibGlade glade)
          Create a new instance of the Session Assistant
 
Method Summary
 void addCancelButtonListener(org.gnu.gtk.event.ButtonListener buttonListener)
           
 void addOkButtonListener(org.gnu.gtk.event.ButtonListener buttonListener)
           
private  void addProcessParent(org.gnu.gtk.TreeIter unfilteredProcessIter)
          If a child is a selected in a tree, we have to add the child's parent also.
private  void changeGroupState(ProcWiseTreeView tree, org.gnu.gtk.TreePath[] selectedProcs, boolean filtered, boolean state)
          Changes the transition on a group of processes from one tree to the other As the druid removes items from one tree and adds them to another, it must transport and translate those selected TreePaths.
private  void currentPageInvalid()
           
private  void currentPageValid()
           
private  org.gnu.gtk.TreePath deFilterPath(ProcWiseTreeView tree, org.gnu.gtk.TreePath filter)
          Convert a TreeModelFilterIter to a TreePath
private  void filterDataInSession()
           
private  CreateFryskSessionDruid.DruidMode getDruidMode()
           
private  void getDruidStructureControls(org.gnu.glade.LibGlade glade)
           
private  void getProcessSelectionControls(org.gnu.glade.LibGlade glade)
           
 void lifeCycleEvent(org.gnu.gtk.event.LifeCycleEvent event)
           
 boolean lifeCycleQuery(org.gnu.gtk.event.LifeCycleEvent event)
           
 void loadSessionMode(Session givenSession)
           
private  void nextPage()
           
 void presentEditObserversMode(Session session)
           
 void presentProcLister()
          presentProcList is a method used by the debug window to bring up a list of procs in the cpu queue that the debug window can attach to.
private  void previousPage()
           
private  void setDruidMode(CreateFryskSessionDruid.DruidMode druidMode)
           
 void setEditSessionMode(Session givenSession)
          Sets the druid up into edit mode.
private  String setInitialName()
           
 void setNewSessionMode()
          Sets the druid up into new session mode.
 void setTitle(String string)
           
private  void setTreeSelected(org.gnu.gtk.TreeIter selected, boolean setSelected)
          Sets the selection criteria (ie processes added to a session or not added to a session) in the data model.
private  void setUpCurrentPage()
           
 void setupNameEntry()
           
private  void setWarning(CreateFryskSessionDruid.WarningType warning)
           
 void showAll()
           
private  void unFilterData()
           
private  boolean validateCurrentPage()
           
private  boolean validateSessionName()
           
 
Methods inherited from class org.gnu.gtk.Dialog
addButton, addButton, addListener, addWidget, fireButtonEvent, getActionArea, getActionArea, getDialog, getDialogLayout, getEventListenerClass, getEventType, getHasSeparator, getResponseForWidget, getType, getVbox, gtk_dialog_add_action_widget, gtk_dialog_add_button, gtk_dialog_get_has_separator, gtk_dialog_get_response_for_widget, gtk_dialog_get_type, gtk_dialog_new, gtk_dialog_response, gtk_dialog_run, gtk_dialog_set_default_response, gtk_dialog_set_has_separator, gtk_dialog_set_response_sensitive, removeListener, run, setDefaultResponse, setHasSeparator
 
Methods inherited from class org.gnu.gtk.Window
addAccelGroup, checkState, deiconify, destroy, finalize, fullscreen, getAcceptFocus, getDefaultIconList, getFocusOnMap, getFocusWidget, getGravity, getIcon, getIconList, getIconName, getPosition, getScreen, getSize, getSkipPagerHint, getSkipTaskbarHint, getTitle, getTransientParent, getWindow, gtk_window_activate_default, gtk_window_activate_focus, gtk_window_add_accel_group, gtk_window_add_mnemonic, gtk_window_begin_move_drag, gtk_window_begin_resize_drag, gtk_window_deiconify, gtk_window_fullscreen, gtk_window_get_accept_focus, gtk_window_get_decorated, gtk_window_get_default_icon_list, gtk_window_get_default_size, gtk_window_get_destroy_with_parent, gtk_window_get_focus, gtk_window_get_frame_dimensions, gtk_window_get_gravity, gtk_window_get_has_frame, gtk_window_get_icon_list, gtk_window_get_icon, gtk_window_get_mnemonic_modifier, gtk_window_get_modal, gtk_window_get_position, gtk_window_get_resizable, gtk_window_get_role, gtk_window_get_screen, gtk_window_get_size, gtk_window_get_skip_pager_hint, gtk_window_get_skip_taskbar_hint, gtk_window_get_title, gtk_window_get_transient_for, gtk_window_get_type_hint, gtk_window_get_type, gtk_window_has_toplevel_focus, gtk_window_iconify, gtk_window_is_active, gtk_window_list_toplevels, gtk_window_maximize, gtk_window_mnemonic_activate, gtk_window_move, gtk_window_new, gtk_window_parse_geometry, gtk_window_present, gtk_window_remove_accel_group, gtk_window_remove_mnemonic, gtk_window_resize, gtk_window_set_accept_focus, gtk_window_set_auto_startup_notification, gtk_window_set_decorated, gtk_window_set_default_icon_from_file, gtk_window_set_default_icon_list, gtk_window_set_default_icon, gtk_window_set_default_size, gtk_window_set_default, gtk_window_set_destroy_with_parent, gtk_window_set_focus, gtk_window_set_frame_dimensions, gtk_window_set_geometry_hints, gtk_window_set_gravity, gtk_window_set_has_frame, gtk_window_set_icon_from_file, gtk_window_set_icon_list, gtk_window_set_icon, gtk_window_set_keep_above, gtk_window_set_keep_below, gtk_window_set_mnemonic_modifier, gtk_window_set_modal, gtk_window_set_position, gtk_window_set_resizable, gtk_window_set_role, gtk_window_set_screen, gtk_window_set_skip_pager_hint, gtk_window_set_skip_taskbar_hint, gtk_window_set_title, gtk_window_set_transient_for, gtk_window_set_type_hint, gtk_window_set_wmclass, gtk_window_stick, gtk_window_unfullscreen, gtk_window_unmaximize, gtk_window_unstick, hasToplevelFocus, iconify, isActive, isDestroyed, listToplevelWindows, maximize, move, present, removeAccelGroup, resize, setAcceptFocus, setAutoStartupNotification, setDecorated, setDefaultIcon, setDefaultIconFromFile, setDefaultIconList, setDefaultIconName, setDefaultSize, setDefaultWidget, setFocusOnMap, setFocusWidget, setGeometryHints, setGravity, setIcon, setIconFromFile, setIconList, setIconName, setKeepAbove, setKeepBelow, setModal, setPosition, setResizable, setScreen, setSkipPagerHint, setSkipTaskbarHint, setTransientParent, stick, unfullscreen, unmaximize, unstick
 
Methods inherited from class org.gnu.gtk.Bin
getBin, getChild, gtk_bin_get_child, gtk_bin_get_type
 
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, findListener, 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, 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, unHighlight, unHighlight
 
Methods inherited from class org.gnu.gtk.GtkObject
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, 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

INTRODUCTION_PAGE

private static final int INTRODUCTION_PAGE
See Also:
Constant Field Values

SELECT_PROCS_PAGE

private static final int SELECT_PROCS_PAGE
See Also:
Constant Field Values

OBSERVERS_PAGE

private static final int OBSERVERS_PAGE
See Also:
Constant Field Values

dataModel

private ProcWiseDataModel dataModel

procWiseTreeView

private ProcWiseTreeView procWiseTreeView

addedProcsTreeView

private ProcWiseTreeView addedProcsTreeView

warningLabel

private org.gnu.gtk.Label warningLabel

warningIcon

private org.gnu.gtk.Image warningIcon

nameEntry

private org.gnu.gtk.Entry nameEntry

notebook

private org.gnu.gtk.Notebook notebook

nextButton

private org.gnu.gtk.Button nextButton

backButton

private org.gnu.gtk.Button backButton

finishButton

private org.gnu.gtk.Button finishButton

saveButton

private org.gnu.gtk.Button saveButton

cancelButton

private org.gnu.gtk.Button cancelButton

okButton

private org.gnu.gtk.Button okButton

closeButton

private org.gnu.gtk.Button closeButton

debugSessionRadioButton

private org.gnu.gtk.RadioButton debugSessionRadioButton

monitorSessionRadioButton

private org.gnu.gtk.RadioButton monitorSessionRadioButton

processSelected

private int processSelected

oldSessionName

private String oldSessionName

procMap

private HashMap procMap

initialSessionName

private String initialSessionName

druidMode

private CreateFryskSessionDruid.DruidMode druidMode

glade

private org.gnu.glade.LibGlade glade
Constructor Detail

CreateFryskSessionDruid

public CreateFryskSessionDruid(org.gnu.glade.LibGlade glade)
Create a new instance of the Session Assistant

Parameters:
glade - - instance of the parsed glade file
Method Detail

setNewSessionMode

public void setNewSessionMode()
Sets the druid up into new session mode.


setEditSessionMode

public void setEditSessionMode(Session givenSession)
Sets the druid up into edit mode. Edit mode loads an existing session into the Assistant, and populates the existing widgets with the session data

Parameters:
givenSession - - session to edit

loadSessionMode

public void loadSessionMode(Session givenSession)

presentEditObserversMode

public void presentEditObserversMode(Session session)

presentProcLister

public void presentProcLister()
presentProcList is a method used by the debug window to bring up a list of procs in the cpu queue that the debug window can attach to.


filterDataInSession

private void filterDataInSession()

setTreeSelected

private void setTreeSelected(org.gnu.gtk.TreeIter selected,
                             boolean setSelected)
Sets the selection criteria (ie processes added to a session or not added to a session) in the data model.

Parameters:
selected - - Iter in tree to affect (from viewer).
setSelected - - set the selected value.

addProcessParent

private void addProcessParent(org.gnu.gtk.TreeIter unfilteredProcessIter)
If a child is a selected in a tree, we have to add the child's parent also. This is because only process groups can be added in the druid (PIDs and individual processes have no meaning in-between sessions. This is a utility function that given a Iter, will add that tree iters parent as well.

Parameters:
unfilteredProcessIter - - parent

deFilterPath

private org.gnu.gtk.TreePath deFilterPath(ProcWiseTreeView tree,
                                          org.gnu.gtk.TreePath filter)
Convert a TreeModelFilterIter to a TreePath

Parameters:
tree - - TreeView the source iter is from
filter - - Filtered TreePath
Returns:
- TreePath, returns the unfiltered iter in the view

changeGroupState

private void changeGroupState(ProcWiseTreeView tree,
                              org.gnu.gtk.TreePath[] selectedProcs,
                              boolean filtered,
                              boolean state)
Changes the transition on a group of processes from one tree to the other As the druid removes items from one tree and adds them to another, it must transport and translate those selected TreePaths. Ugly and really needs to be re-written

Parameters:
tree - - TreeView in question
selectedProcs - - a TreePath[] of the selected processes
filtered - - Is this a filtered tree?
state - - What selected state do you want to render the selected TreePath[]s

unFilterData

private void unFilterData()

getProcessSelectionControls

private void getProcessSelectionControls(org.gnu.glade.LibGlade glade)

getDruidStructureControls

private void getDruidStructureControls(org.gnu.glade.LibGlade glade)

setupNameEntry

public void setupNameEntry()

nextPage

private void nextPage()

previousPage

private void previousPage()

validateCurrentPage

private boolean validateCurrentPage()

validateSessionName

private boolean validateSessionName()

currentPageValid

private void currentPageValid()

currentPageInvalid

private void currentPageInvalid()

setUpCurrentPage

private void setUpCurrentPage()

setInitialName

private String setInitialName()

showAll

public void showAll()
Overrides:
showAll in class org.gnu.gtk.Widget

lifeCycleEvent

public void lifeCycleEvent(org.gnu.gtk.event.LifeCycleEvent event)
Specified by:
lifeCycleEvent in interface org.gnu.gtk.event.LifeCycleListener

lifeCycleQuery

public boolean lifeCycleQuery(org.gnu.gtk.event.LifeCycleEvent event)
Specified by:
lifeCycleQuery in interface org.gnu.gtk.event.LifeCycleListener

setDruidMode

private void setDruidMode(CreateFryskSessionDruid.DruidMode druidMode)

getDruidMode

private CreateFryskSessionDruid.DruidMode getDruidMode()

addOkButtonListener

public void addOkButtonListener(org.gnu.gtk.event.ButtonListener buttonListener)

addCancelButtonListener

public void addCancelButtonListener(org.gnu.gtk.event.ButtonListener buttonListener)

setWarning

private void setWarning(CreateFryskSessionDruid.WarningType warning)

setTitle

public void setTitle(String string)
Overrides:
setTitle in class org.gnu.gtk.Window