UI: add Hex-Rays IDA Pro like debugger layout
authorJan Vrany <jan.vrany@fit.cvut.cz>
Fri, 05 Oct 2018 09:43:53 +0100
changeset 118 b5fe8d511cfa
parent 117 1ae8e04f5feb
child 119 be31a77e2d9c
UI: add Hex-Rays IDA Pro like debugger layout A courtesy to Pocho :-)
VDBDebuggerApplication.st
VDBSettingsApplication.st
--- a/VDBDebuggerApplication.st	Fri Oct 05 09:11:56 2018 +0100
+++ b/VDBDebuggerApplication.st	Fri Oct 05 09:43:53 2018 +0100
@@ -289,6 +289,164 @@
     "Modified: / 04-10-2018 / 11:08:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+layoutIDAProSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:VDBDebuggerApplication andSelector:#layoutIDASpec
+     VDBDebuggerApplication new openInterface:#layoutIDASpec
+    "
+
+    <resource: #canvas>
+
+    ^ 
+    #(FullSpec
+       name: 'layoutIDASpec'
+       uuid: 'a436edc0-c61b-11e8-8890-0021ccd5e3d3'
+       window: 
+      (WindowSpec
+         label: 'Visual Debugger'
+         name: 'Visual Debugger'
+         uuid: 'a43714d0-c61b-11e8-8890-0021ccd5e3d3'
+         min: (Point 10 10)
+         bounds: (Rectangle 0 0 718 390)
+         menu: mainMenu
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (VariableHorizontalPanelSpec
+             name: 'Contents'
+             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+             uuid: 'a43714d1-c61b-11e8-8890-0021ccd5e3d3'
+             snapMode: both
+             component: 
+            (SpecCollection
+               collection: (
+                (VariableVerticalPanelSpec
+                   name: 'SourceAndConsole'
+                   uuid: 'a43714d2-c61b-11e8-8890-0021ccd5e3d3'
+                   snapMode: both
+                   component: 
+                  (SpecCollection
+                     collection: (
+                      (SubCanvasSpec
+                         name: 'Source'
+                         uuid: 'a43714d3-c61b-11e8-8890-0021ccd5e3d3'
+                         hasHorizontalScrollBar: false
+                         hasVerticalScrollBar: false
+                         majorKey: VDBSourceAndDisassemblyApplication
+                         subAspectHolders: 
+                        (Array
+                           
+                          (SubChannelInfoSpec
+                             subAspect: frameHolder
+                             aspect: selectedFrameHolder
+                           )
+                         )
+                         createNewApplication: true
+                         createNewBuilder: true
+                       )
+                      (SubCanvasSpec
+                         name: 'ConsolePane'
+                         uuid: 'a43714d4-c61b-11e8-8890-0021ccd5e3d3'
+                         level: 0
+                         hasHorizontalScrollBar: false
+                         hasVerticalScrollBar: false
+                         clientHolder: consolePane
+                         subAspectHolders: 
+                        (Array
+                           
+                          (SubChannelInfoSpec
+                             subAspect: debuggerHolder
+                             aspect: debuggerHolder
+                           )
+                         )
+                         createNewApplication: true
+                         createNewBuilder: true
+                       )
+                      )
+                    
+                   )
+                   handles: (Any 0.75 1.0)
+                 )
+                (VariableVerticalPanelSpec
+                   name: 'FrameAndThreads'
+                   uuid: 'a43714d5-c61b-11e8-8890-0021ccd5e3d3'
+                   snapMode: both
+                   component: 
+                  (SpecCollection
+                     collection: (
+                      (SubCanvasSpec
+                         name: 'Frame'
+                         uuid: 'a43714d6-c61b-11e8-8890-0021ccd5e3d3'
+                         hasHorizontalScrollBar: false
+                         hasVerticalScrollBar: false
+                         majorKey: VDBFrameApplication
+                         subAspectHolders: 
+                        (Array
+                           
+                          (SubChannelInfoSpec
+                             subAspect: debuggerHolder
+                             aspect: debuggerHolder
+                           ) 
+                          (SubChannelInfoSpec
+                             subAspect: frameHolder
+                             aspect: selectedFrameHolder
+                           )
+                         )
+                         createNewApplication: true
+                         createNewBuilder: true
+                       )
+                      (SubCanvasSpec
+                         name: 'StackCanvas'
+                         uuid: 'a43714d7-c61b-11e8-8890-0021ccd5e3d3'
+                         level: 0
+                         hasHorizontalScrollBar: false
+                         hasVerticalScrollBar: false
+                         majorKey: VDBStackApplication
+                         subAspectHolders: 
+                        (Array
+                           
+                          (SubChannelInfoSpec
+                             subAspect: selectedFrameHolder
+                             aspect: selectedFrameHolder
+                           ) 
+                          (SubChannelInfoSpec
+                             subAspect: selectedThreadGroupHolder
+                             aspect: selectedThreadGroupHolder
+                           )
+                           
+                          (SubChannelInfoSpec
+                             subAspect: selectedThreadHolder
+                             aspect: selectedThreadHolder
+                           )
+                         )
+                         createNewApplication: true
+                         createNewBuilder: true
+                       )
+                      )
+                    
+                   )
+                   handles: (Any 0.5 1.0)
+                 )
+                )
+              
+             )
+             handles: (Any 0.7 1.0)
+           )
+          )
+        
+       )
+     )
+
+    "Created: / 05-10-2018 / 09:13:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 layoutSingleSpec
     "This resource specification was automatically generated
      by the UIPainter of ST/X."
@@ -561,6 +719,12 @@
                   choiceValue: layoutEclipseSpec
                 )
                (MenuItem
+                  label: 'IDA Pro Layout'
+                  isVisible: true
+                  choice: layoutSpecHolder
+                  choiceValue: layoutIDAProSpec
+                ) 
+               (MenuItem
                   label: 'Console-Only Layout'
                   isVisible: true
                   choice: layoutSpecHolder
@@ -667,7 +831,7 @@
         nil
       )
 
-    "Modified: / 05-10-2018 / 08:03:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 05-10-2018 / 09:14:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 toolbarMenu
--- a/VDBSettingsApplication.st	Fri Oct 05 09:11:56 2018 +0100
+++ b/VDBSettingsApplication.st	Fri Oct 05 09:43:53 2018 +0100
@@ -94,7 +94,7 @@
     ^ 
     #(FullSpec
        name: windowSpec
-       uuid: '6ee42290-c86f-11e8-8f9c-0021ccd5e3d3'
+       uuid: '62913950-c87a-11e8-8f9c-0021ccd5e3d3'
        window: 
       (WindowSpec
          label: 'Java Settings'
@@ -268,8 +268,18 @@
                                useDefaultExtent: true
                              )
                             (RadioButtonSpec
+                               label: 'IDA Pro Layout'
+                               name: 'RadioButton2'
+                               uuid: 'cba24fd3-c86e-11e8-8f9c-0021ccd5e3d3'
+                               translateLabel: true
+                               model: vdbDebuggerLayout
+                               isTriggerOnDown: true
+                               select: layoutIDAProSpec
+                               useDefaultExtent: true
+                             )
+                            (RadioButtonSpec
                                label: 'Console-Only Layout'
-                               name: 'RadioButton2'
+                               name: 'RadioButton3'
                                uuid: 'cba24fd3-c86e-11e8-8f9c-0021ccd5e3d3'
                                translateLabel: true
                                model: vdbDebuggerLayout
@@ -294,8 +304,6 @@
         
        )
      )
-
-    "Modified (format): / 05-10-2018 / 08:34:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !VDBSettingsApplication methodsFor:'actions'!