Class/Object

cogdebugger.ui

CogDebugger

Related Docs: object CogDebugger | package ui

Permalink

class CogDebugger extends MainFrame with RestorableState

Implements the main window for the Cog Ex Machina Visual Debugging Tool.

The debugger consists of two large views and a main toolbar:

The first of the main views displays the structure of probed fields in a compute graph. It can show data dependencies between fields by drawing the actual graph, or more compactly just show the fields without their data connections. Clicking a field in this first main view launches a probe window on the second view.

The second view serves as the home for probe windows. A probe window visualizes the current state of a field in some manner (exactly how is dependent on what type of field is being probed; some fields have several visualizations that a user can switch between). Probe windows can be rearranged, resized, and closed on this view.

The main toolbar hosts controls for stepping, running continuously, stopping, and resetting the ComputeGraph. It also hosts counters for monitoring the current simulation time and rate of execution.

---

Until we're past our demo in mid-August, the Cog 4 browser's toolbars have been reworked to look more like they did in Cog 3, so that we don't have to rewrite the whole programmer's manual. That mostly means no menubar and different button placements on the toolbars.

Linear Supertypes
RestorableState, MainFrame, Frame, RichWindow, Window, RootPanel, Container, UIElement, LazyPublisher, Publisher, Reactor, Proxy, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. CogDebugger
  2. RestorableState
  3. MainFrame
  4. Frame
  5. RichWindow
  6. Window
  7. RootPanel
  8. Container
  9. UIElement
  10. LazyPublisher
  11. Publisher
  12. Reactor
  13. Proxy
  14. AnyRef
  15. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CogDebugger(computeGraph: libcog.ComputeGraph)

    Permalink
  2. new CogDebugger(computeGraph: libcog.ComputeGraph, appName: String)

    Permalink
  3. new CogDebugger(computeGraph: libcog.ComputeGraph, appName: String, clockToolbarLearningRate: Float, clockToolbarUpdateInterval: Int)

    Permalink
  4. new CogDebugger(computeGraphAndAppName: Option[(libcog.ComputeGraph, String)], clockToolbarLearningRate: Float, clockToolbarUpdateInterval: Int)

    Permalink

    computeGraphAndAppName

    An (optional) ComputeGraph and window title with which to immediately initialize the UI. If None is provided, the user will be prompted to select a ComputeGraph file using a file browser.

    clockToolbarLearningRate

    Learning rate for the leaky integrator that calculates the graph's rate of execution

    clockToolbarUpdateInterval

    Interval between updates to the counters tracking simulation tick and tick rate

Type Members

  1. trait InterfaceMixin extends scala.swing.RichWindow.InterfaceMixin

    Permalink
    Definition Classes
    RichWindow
  2. trait SuperMixin extends Window

    Permalink
    Attributes
    protected
    Definition Classes
    Window

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def background: Color

    Permalink
    Definition Classes
    UIElement
  6. def background_=(c: Color): Unit

    Permalink
    Definition Classes
    UIElement
  7. def bounds: Rectangle

    Permalink
    Definition Classes
    UIElement
  8. def bounds_=(rect: Rectangle): Unit

    Permalink
    Definition Classes
    Window
  9. def buildUI(state: DebuggerState): Unit

    Permalink

    (Re-)Initializes the core components of the UI (run controls, network viewer, probe desktop) and installs them in the main window.

    (Re-)Initializes the core components of the UI (run controls, network viewer, probe desktop) and installs them in the main window.

    The old GUI components and any references to the old graph are destroyed.

    state

    The DebuggerState this GUI is associated with

    Attributes
    protected
  10. def centerOnScreen(): Unit

    Permalink
    Definition Classes
    Window
  11. var cleanupOperation: Option[() ⇒ Unit]

    Permalink
  12. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def close(): Unit

    Permalink
    Definition Classes
    Window
  14. def closeOperation(): Unit

    Permalink
    Definition Classes
    CogDebugger → MainFrame → Window
  15. def contents: Seq[Component]

    Permalink
    Definition Classes
    RootPanel → Container
  16. def contents_=(c: Component): Unit

    Permalink
    Definition Classes
    Window → RootPanel
  17. def cursor: Cursor

    Permalink
    Definition Classes
    UIElement
  18. def cursor_=(c: Cursor): Unit

    Permalink
    Definition Classes
    UIElement
  19. def deafTo(ps: Publisher*): Unit

    Permalink
    Definition Classes
    Reactor
  20. var debuggerState: Option[DebuggerState]

    Permalink
    Attributes
    protected[cogdebugger]
  21. def defaultButton: Option[Button]

    Permalink
    Definition Classes
    Window
  22. def defaultButton_=(b: Option[Button]): Unit

    Permalink
    Definition Classes
    Window
  23. def defaultButton_=(b: Button): Unit

    Permalink
    Definition Classes
    Window
  24. def displayable: Boolean

    Permalink
    Definition Classes
    UIElement
  25. def dispose(): Unit

    Permalink
    Definition Classes
    Window
  26. def doRestoreComputeGraph(state: DebuggerState): Unit

    Permalink

    Prompt the user with an open dialog to load a saved computegraph file from disk, and if approved, instantiate the computegraph and reinitialize the GUI to display display its contents, throwing out anything pertaining to the old.

    Prompt the user with an open dialog to load a saved computegraph file from disk, and if approved, instantiate the computegraph and reinitialize the GUI to display display its contents, throwing out anything pertaining to the old.

    state

    A DebuggerState used as a hint to determine the chooser's starting directory in the event there have been no computegraph files recently saved/opened.

  27. def doSaveComputeGraph(state: DebuggerState): Unit

    Permalink

    Prompt the user with a save dialog to select a file into which to save the current ComputeGraph, and if approved by the user, write the computegraph to disk.

    Prompt the user with a save dialog to select a file into which to save the current ComputeGraph, and if approved by the user, write the computegraph to disk.

    state

    A DebuggerState used as a hint to determine the chooser's starting directory in the event there have been no computegraph files recently saved/opened.

  28. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  29. def equals(that: Any): Boolean

    Permalink
    Definition Classes
    Proxy → Any
  30. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  31. def font: Font

    Permalink
    Definition Classes
    UIElement
  32. def font_=(f: Font): Unit

    Permalink
    Definition Classes
    UIElement
  33. def foreground: Color

    Permalink
    Definition Classes
    UIElement
  34. def foreground_=(c: Color): Unit

    Permalink
    Definition Classes
    UIElement
  35. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  36. def hashCode(): Int

    Permalink
    Definition Classes
    Proxy → Any
  37. def iconImage: Image

    Permalink
    Definition Classes
    Frame
  38. def iconImage_=(i: Image): Unit

    Permalink
    Definition Classes
    Frame
  39. def iconified: Boolean

    Permalink
    Definition Classes
    Frame
  40. def iconify(): Unit

    Permalink
    Definition Classes
    Frame
  41. def ignoreRepaint: Boolean

    Permalink
    Definition Classes
    UIElement
  42. def ignoreRepaint_=(b: Boolean): Unit

    Permalink
    Definition Classes
    UIElement
  43. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  44. def listenTo(ps: Publisher*): Unit

    Permalink
    Definition Classes
    Reactor
  45. val listeners: RefSet[Reaction] { val underlying: scala.collection.mutable.HashSet[scala.ref.Reference[scala.swing.Reactions.Reaction]] }

    Permalink
    Attributes
    protected
    Definition Classes
    Publisher
  46. def locale: Locale

    Permalink
    Definition Classes
    UIElement
  47. def location: Point

    Permalink
    Definition Classes
    UIElement
  48. def locationOnScreen: Point

    Permalink
    Definition Classes
    UIElement
  49. def location_=(p: Point): Unit

    Permalink
    Definition Classes
    Window
  50. def maximize(): Unit

    Permalink
    Definition Classes
    Frame
  51. def maximized: Boolean

    Permalink
    Definition Classes
    Frame
  52. def maximumSize: Dimension

    Permalink
    Definition Classes
    UIElement
  53. def maximumSize_=(x: Dimension): Unit

    Permalink
    Definition Classes
    UIElement
  54. def menuBar: MenuBar

    Permalink
    Definition Classes
    RichWindow
  55. def menuBar_=(m: MenuBar): Unit

    Permalink
    Definition Classes
    RichWindow
  56. def minimumSize: Dimension

    Permalink
    Definition Classes
    UIElement
  57. def minimumSize_=(x: Dimension): Unit

    Permalink
    Definition Classes
    UIElement
  58. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  59. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  60. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  61. def onFirstSubscribe(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    UIElement → LazyPublisher
  62. def onLastUnsubscribe(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    UIElement → LazyPublisher
  63. def open(): Unit

    Permalink
    Definition Classes
    Window
  64. def owner: Window

    Permalink
    Definition Classes
    Window
  65. def pack(): CogDebugger.this.type

    Permalink
    Definition Classes
    Window
  66. lazy val peer: JFrame with InterfaceMixin

    Permalink
    Definition Classes
    Frame → RichWindow → Window → RootPanel → UIElement
  67. def preferredSize: Dimension

    Permalink
    Definition Classes
    UIElement
  68. def preferredSize_=(x: Dimension): Unit

    Permalink
    Definition Classes
    UIElement
  69. def publish(e: Event): Unit

    Permalink
    Definition Classes
    Publisher
  70. val reactions: Reactions

    Permalink
    Definition Classes
    Reactor
  71. def releaseOpenCLResources(): Unit

    Permalink
    Attributes
    protected
  72. def repaint(rect: Rectangle): Unit

    Permalink
    Definition Classes
    UIElement
  73. def repaint(): Unit

    Permalink
    Definition Classes
    UIElement
  74. def resizable: Boolean

    Permalink
    Definition Classes
    RichWindow
  75. def resizable_=(b: Boolean): Unit

    Permalink
    Definition Classes
    RichWindow
  76. def restore(savedState: Node): Unit

    Permalink

    Restore the debugger to a state described in the given XML node.

    Restore the debugger to a state described in the given XML node.

    Definition Classes
    CogDebuggerRestorableState
  77. def restore(): Unit

    Permalink

    Restore the debugger to a state defined by an XML file present on disk.

    Restore the debugger to a state defined by an XML file present on disk. At present, state that can be restored is mostly related to probe frames: which visualizations are open, their size and position, and the state of their buttons and dropdowns.

  78. def save: Elem

    Permalink

    Describe the current debugger state in an XML element.

    Describe the current debugger state in an XML element. This description includes mostly layout-related information (size and position of the debugger window and probe frames), but also includes the state of buttons and dropdowns on most probe frames.

    returns

    The root XML node describing this debugger session.

    Definition Classes
    CogDebuggerRestorableState
  79. def saveApplicationState(): Unit

    Permalink

    Save any layout-related information of the current debugger session to disk so that the debugger can be restored to its current state on a subsequent run.

    Save any layout-related information of the current debugger session to disk so that the debugger can be restored to its current state on a subsequent run. Layout-relted information includes the size and position of the debugger window, the location of any dividers for the various panes, the size and position of probe frames open on the desktop, and the state of any buttons or dropdowns on those probe frames.

    Attributes
    protected
  80. def self: Component

    Permalink
    Definition Classes
    UIElement → Proxy
  81. def setLocationRelativeTo(c: UIElement): Unit

    Permalink
    Definition Classes
    Window
  82. def setupCGExecutionControls(state: DebuggerState): BoxPanel

    Permalink

    Builds a toolbar with controls for stepping the compute graph and controlling the rate at which probes refresh.

    Builds a toolbar with controls for stepping the compute graph and controlling the rate at which probes refresh. This toolbar is also home to the cycle counter and cycles/sec readout.

    returns

    The GUI's main toolbar component

    Attributes
    protected
  83. def setupProbeDesktop(state: DebuggerState): Desktop

    Permalink

    Builds the ProbeDesktop.

    Builds the ProbeDesktop.

    Attributes
    protected
  84. def setupStructureViewer(state: DebuggerState): StructurePane

    Permalink
    Attributes
    protected
  85. def showing: Boolean

    Permalink
    Definition Classes
    UIElement
  86. def size: Dimension

    Permalink
    Definition Classes
    UIElement
  87. def size_=(size: Dimension): Unit

    Permalink
    Definition Classes
    Window
  88. def subscribe(listener: Reaction): Unit

    Permalink
    Definition Classes
    LazyPublisher → Publisher
  89. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  90. def teardownUI(): Unit

    Permalink

    Disconnect event transport between any components in the current UI, if it exists (else do nothing).

    Disconnect event transport between any components in the current UI, if it exists (else do nothing).

    Attributes
    protected
  91. def title: String

    Permalink
    Definition Classes
    RichWindow
  92. def title_=(s: String): Unit

    Permalink
    Definition Classes
    RichWindow
  93. def toString(): String

    Permalink
    Definition Classes
    Proxy → Any
  94. def toolkit: Toolkit

    Permalink
    Definition Classes
    UIElement
  95. def uniconify(): Unit

    Permalink
    Definition Classes
    Frame
  96. def unmaximize(): Unit

    Permalink
    Definition Classes
    Frame
  97. def unsubscribe(listener: Reaction): Unit

    Permalink
    Definition Classes
    LazyPublisher → Publisher
  98. def visible: Boolean

    Permalink
    Definition Classes
    UIElement
  99. def visible_=(b: Boolean): Unit

    Permalink
    Definition Classes
    UIElement
  100. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  101. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  102. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from RestorableState

Inherited from MainFrame

Inherited from Frame

Inherited from RichWindow

Inherited from Window

Inherited from RootPanel

Inherited from Container

Inherited from UIElement

Inherited from LazyPublisher

Inherited from Publisher

Inherited from Reactor

Inherited from Proxy

Inherited from AnyRef

Inherited from Any

Ungrouped