DebuggerMain.fxml 20.4 KB
Newer Older
1
2
<?xml version="1.0" encoding="UTF-8"?>

Alexander Weigl's avatar
Alexander Weigl committed
3

alexander.weigl's avatar
alexander.weigl committed
4
<?import de.jensd.fx.glyphs.materialdesignicons.*?>
Alexander Weigl's avatar
Alexander Weigl committed
5
<?import edu.kit.iti.formal.psdbg.gui.controls.DebuggerStatusBar?>
6
<?import javafx.scene.control.*?>
7
<?import javafx.scene.layout.BorderPane?>
Alexander Weigl's avatar
Alexander Weigl committed
8
9
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
10
<?import javafx.scene.layout.VBox?>
Alexander Weigl's avatar
Alexander Weigl committed
11
<?import org.dockfx.DockPane?>
12
<BorderPane xmlns:fx="http://javafx.com/fxml/1" fx:id="rootPane" xmlns="http://javafx.com/javafx/8.0.112"
Alexander Weigl's avatar
Alexander Weigl committed
13
            fx:controller="edu.kit.iti.formal.psdbg.gui.controller.DebuggerMain"
Alexander Weigl's avatar
Alexander Weigl committed
14
            prefWidth="1024" prefHeight="640">
15
    <center>
Alexander Weigl's avatar
Alexander Weigl committed
16
17
18
19
20
21
22
        <!--  <DockStation fx:id="dockStation">

          </DockStation>-->

        <DockPane fx:id="dockStation"/>

        <!--
23
24
        <SplitPane fx:id="splitPane" dividerPositions="0.5" layoutY="29.0" prefHeight="371.0" prefWidth="600.0">
            <items>
25
26
                <VBox>
                    <children>
Alexander Weigl's avatar
Alexander Weigl committed
27
28
29
30
31

                     ScriptControllerPane fx:id="tabPane" side="left" styleClass="tab-pane"
                                       tabClosingPolicy="SELECTED_TAB" VBox.vgrow="ALWAYS"/>
                    </children>
                </VBox>
Alexander Weigl's avatar
Alexander Weigl committed
32
                <InspectionViewsController fx:id="inspectionViewsController"></InspectionViewsController>
Alexander Weigl's avatar
Alexander Weigl committed
33
34
35
36
37
38
39
40
41
            </items>
        </SplitPane>-->
    </center>
    <top>
        <VBox>
            <children>
                <MenuBar fx:id="menuBar">
                    <menus>
                        <Menu fx:id="fileMenu" text="File">
42
                            <items>
Alexander Weigl's avatar
Alexander Weigl committed
43
44
45
46
                                <MenuItem fx:id="newScriptMenuItem" onAction="#newScript" text="_New Script"
                                          accelerator="Shortcut+n"/>
                                <MenuItem fx:id="openScriptFileMenuItem" onAction="#openScript" text="_Open Script"
                                          accelerator="Shortcut+o"/>
Alexander Weigl's avatar
Alexander Weigl committed
47
                                <SeparatorMenuItem/>
Alexander Weigl's avatar
Alexander Weigl committed
48
49
50
51
                                <MenuItem fx:id="loadKeYFileMenuItem" onAction="#loadKeYFile" text="Load _KeY File"
                                          accelerator="Shortcut+Alt+o"/>
                                <MenuItem fx:id="loadJavaFileMenuItem" onAction="#loadJavaFile" text="Load _Java File"
                                          accelerator="Shortcut+Shift+o"/>
Alexander Weigl's avatar
Alexander Weigl committed
52
                                <SeparatorMenuItem/>
53
                                <MenuItem onAction="#saveScript" text="_Save Script" accelerator="Shortcut+s"/>
Alexander Weigl's avatar
Alexander Weigl committed
54
55
                                <MenuItem onAction="#saveAsScript" text="Save Script _As ..."
                                          accelerator="Shortcut+Shift+s"/>
56
                                <MenuItem onAction="#saveProof" text="_Save Proof" accelerator="Shortcut+Alt+s"/>
Alexander Weigl's avatar
Alexander Weigl committed
57
58
                                <MenuItem fx:id="closeMenuItem" onAction="#closeProgram" text="_Close"
                                          accelerator="Shortcut+q"/>
Alexander Weigl's avatar
Alexander Weigl committed
59
60
61
62
                            </items>
                        </Menu>
                        <Menu text="Edit">
                            <items>
Alexander Weigl's avatar
Alexander Weigl committed
63
                                <MenuItem text="Open in KeY" onAction="#openInKey"/>
Alexander Weigl's avatar
Alexander Weigl committed
64
                                <MenuItem text="Delete"/>
65
                                <MenuItem text="Reformat" accelerator="Ctrl+Shift+f" onAction="#reformatCurrentEditor"/>
Alexander Weigl's avatar
Alexander Weigl committed
66
67
68
                                <MenuItem text="Print Debug Information" onAction="#debugPrintDot"
                                          accelerator="Ctrl+d"
                                />
Alexander Weigl's avatar
Alexander Weigl committed
69
70
                            </items>
                        </Menu>
71
72
73
74
75
76
77
78
79
                        <Menu text="Debug">
                            <MenuItem onAction="#executeScript"
                                      text="Execute"
                                      accelerator="F2"
                                      disable="${controller.executeNotPossible}">
                                <graphic>
                                    <MaterialDesignIconView glyphName="PLAY" size="24.0"/>
                                </graphic>
                            </MenuItem>
Alexander Weigl's avatar
Alexander Weigl committed
80
81
82
                            <Menu text="Execute from Savepoint" fx:id="menuExecuteFromSavepoint" />
                            <Menu text="Restart to Savepoint" fx:id="menuRestartFromSavepoint" />

83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
                            <MenuItem text="Debug stepwise"
                                      accelerator="F3"
                                      onAction="#executeStepwise"
                                      disable="${controller.executeNotPossible}">
                                <graphic>
                                    <MaterialDesignIconView glyphName="PLAY_PAUSE" size="24.0"/>
                                </graphic>
                            </MenuItem>
                            <MenuItem
                                    accelerator="F4"
                                    text="Run to Breakpoint"
                                    onAction="#executeToBreakpoint"
                                    disable="${controller.executeNotPossible}">
                                <graphic>
                                    <MaterialDesignIconView glyphName="FAST_FORWARD" size="24.0"/>
                                </graphic>
                            </MenuItem>

                            <MenuItem onAction="#stepInto"
                                      accelerator="F5"
                                      text="Step Into"
                                      disable="${controller.stepNotPossible}">
                                <graphic>
                                    <MaterialDesignIconView glyphName="DEBUG_STEP_INTO" size="24.0"/>
                                </graphic>
                            </MenuItem>

                            <MenuItem onAction="#stepOver"
                                      accelerator="F6"
                                      text="Step Over"
                                      disable="${controller.stepNotPossible}">
                                <graphic>
                                    <MaterialDesignIconView glyphName="DEBUG_STEP_OVER" size="24.0"/>
                                </graphic>
                            </MenuItem>

Sarah Grebing's avatar
Sarah Grebing committed
119
                            <MenuItem onAction="#stepOverReverse"
120
121
                                      accelerator="F7"

Sarah Grebing's avatar
Sarah Grebing committed
122
123
124
125
126
127
128
129
130
131
132
                                      text="Step Over Reverse"
                                      disable="${controller.stepNotPossible}">
                                <graphic>
                                    <MaterialDesignIconView glyphName="DEBUG_STEP_OVER" size="24.0" scaleX="-1"/>
                                </graphic>
                            </MenuItem>

                            <MenuItem onAction="#stepIntoReverse"
                                      accelerator="F8"

                                      text="Step Into Reverse"
133
134
135
136
137
138
139
140
                                      disable="${controller.stepNotPossible}">
                                <graphic>
                                    <MaterialDesignIconView glyphName="DEBUG_STEP_OVER" size="24.0" scaleX="-1"/>
                                </graphic>
                            </MenuItem>


                            <MenuItem disable="${controller.stepNotPossible}"
Sarah Grebing's avatar
Sarah Grebing committed
141
                                      accelerator="F9"
142
143
144
145
146
147
148
149
                                      text="Step Out">
                                <graphic>
                                    <MaterialDesignIconView glyphName="DEBUG_STEP_OUT" size="24.0"/>
                                </graphic>
                            </MenuItem>

                            <MenuItem onAction="#stopDebugMode"
                                      accelerator="F12"
Sarah Grebing's avatar
Sarah Grebing committed
150
                                      text="Stop Debugging"
151
152
153
154
155
156
157
                                      disable="${controller.stepNotPossible}">
                                <!--disable="${! controller.debugMode}"-->
                                <graphic>
                                    <MaterialDesignIconView glyphName="STOP" size="24.0"/>
                                </graphic>
                            </MenuItem>
                        </Menu>
Alexander Weigl's avatar
Alexander Weigl committed
158
159
                        <Menu text="View">
                            <items>
160
161
                                <CheckMenuItem fx:id="miCodeDock" onAction="#showCodeDock" text="Show Java Code window"
                                               accelerator="Ctrl+J">
Alexander Weigl's avatar
Alexander Weigl committed
162
163
164
                                    <graphic>
                                        <MaterialDesignIconView glyphName="CODE_TAGS" size="24.0"/>
                                    </graphic>
Alexander Weigl's avatar
Alexander Weigl committed
165
                                </CheckMenuItem>
Alexander Weigl's avatar
Alexander Weigl committed
166
                                <CheckMenuItem fx:id="miWelcomeDock" onAction="#showWelcomeDock"
167
                                               text="Show Welcome window" accelerator="Ctrl+w">
Alexander Weigl's avatar
Alexander Weigl committed
168
169
170
                                    <graphic>
                                        <MaterialDesignIconView glyphName="HELP_CIRCLE" size="24.0"/>
                                    </graphic>
Alexander Weigl's avatar
Alexander Weigl committed
171
                                </CheckMenuItem>
Alexander Weigl's avatar
Alexander Weigl committed
172
                                <CheckMenuItem fx:id="miActiveInspector" onAction="#showActiveInspector"
173
                                               text="Show Active Inspector window" accelerator="Ctrl+I">
Alexander Weigl's avatar
Alexander Weigl committed
174
175
176
                                    <graphic>
                                        <MaterialDesignIconView glyphName="MAGNIFY" size="24.0"/>
                                    </graphic>
Alexander Weigl's avatar
Alexander Weigl committed
177
                                </CheckMenuItem>
178
179
                                <CheckMenuItem fx:id="miProofTree" onAction="#showProofTree" text="Show Proof Tree"
                                               accelerator="Ctrl+t">
Alexander Weigl's avatar
Alexander Weigl committed
180
181
182
                                    <graphic>
                                        <MaterialDesignIconView glyphName="TREE" size="24.0"/>
                                    </graphic>
Alexander Weigl's avatar
Alexander Weigl committed
183
                                </CheckMenuItem>
Alexander Weigl's avatar
Alexander Weigl committed
184
                                <CheckMenuItem fx:id="miCommandHelp" onAction="#showCommandHelp"
185
                                               accelerator="F1"
Alexander Weigl's avatar
Alexander Weigl committed
186
                                               text="Show Command Help">
Alexander Weigl's avatar
Alexander Weigl committed
187
188
189
                                    <graphic>
                                        <MaterialDesignIconView glyphName="STACKEXCHANGE" size="24.0"/>
                                    </graphic>
Alexander Weigl's avatar
Alexander Weigl committed
190
                                </CheckMenuItem>
Alexander Weigl's avatar
Alexander Weigl committed
191
192
                            </items>
                        </Menu>
193
                        <Menu fx:id="examplesMenu" text="_Examples">
194
195
196
197
                            <items>
                                <MenuItem text="Examples not loaded" disable="true"/>
                            </items>
                        </Menu>
Alexander Weigl's avatar
Alexander Weigl committed
198
199
                        <Menu text="Help">
                            <items>
Alexander Weigl's avatar
Alexander Weigl committed
200
                                <MenuItem text="About" onAction="#showAbout"/>
Alexander Weigl's avatar
Alexander Weigl committed
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
                            </items>
                        </Menu>
                    </menus>
                </MenuBar>
                <ToolBar fx:id="toolbar">
                    <items>
                        <SplitMenuButton fx:id="buttonStartInterpreter" onAction="#executeScript"
                                         disable="${controller.executeNotPossible}">
                            <graphic>
                                <MaterialDesignIconView glyphName="PLAY" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Execute Script"/>
                            </tooltip>

                            <items>
217
218
219
220
221
222
223
                                <!-- <MenuItem text="Execute from Cursor"
                                           onAction="#executeScriptFromCursor"
                                           disable="${controller.executeNotPossible}">
                                     <graphic>
                                         <MaterialDesignIconView glyphName="CURSOR_TEXT" size="24.0"/>
                                     </graphic>
                                 </MenuItem> -->
alexander.weigl's avatar
alexander.weigl committed
224

Alexander Weigl's avatar
Alexander Weigl committed
225
                                <MenuItem
226
                                        text="Execute Script Stepwise From Start"
227
                                        onAction="#executeStepwise"
Alexander Weigl's avatar
Alexander Weigl committed
228
                                        disable="${controller.executeNotPossible}">
Sarah Grebing's avatar
Sarah Grebing committed
229
                                    <graphic>
Alexander Weigl's avatar
Alexander Weigl committed
230
                                        <MaterialDesignIconView glyphName="PLAY_PAUSE" size="24.0"/>
Sarah Grebing's avatar
Sarah Grebing committed
231
                                    </graphic>
Alexander Weigl's avatar
Alexander Weigl committed
232
                                </MenuItem>
233
234
235
236
237
238
239
240
                                <MenuItem
                                        text="Run to Breakpoint"
                                        onAction="#executeToBreakpoint"
                                        disable="${controller.executeNotPossible}">
                                    <graphic>
                                        <MaterialDesignIconView glyphName="FAST_FORWARD" size="24.0"/>
                                    </graphic>
                                </MenuItem>
Alexander Weigl's avatar
Alexander Weigl committed
241
                            </items>
Sarah Grebing's avatar
Sarah Grebing committed
242

Alexander Weigl's avatar
Alexander Weigl committed
243
                        </SplitMenuButton>
Sarah Grebing's avatar
Sarah Grebing committed
244

Sarah Grebing's avatar
Sarah Grebing committed
245
246
247
248
249
250
251
252
                        <!--      <Button onAction="#reloadProblem" disable="${controller.executeNotPossible}">
                                  <graphic>
                                      <MaterialDesignIconView glyphName="REFRESH" size="24.0"/>
                                  </graphic>
                                  <tooltip>
                                      <Tooltip text="Reload Problem"/>
                                  </tooltip>
                              </Button>-->
253
254
255
256
257
258
259
260
261
262
263

                        <Button onAction="#continueAfterRun" disable="${controller.executeNotPossible}">
                            <graphic>
                                <MaterialDesignIconView glyphName="PLAY_CIRCLE_OUTLINE" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Continue"/>
                            </tooltip>
                        </Button>


Alexander Weigl's avatar
Alexander Weigl committed
264
                        <Button onAction="#stepInto" disable="${controller.stepNotPossible}">
Alexander Weigl's avatar
Alexander Weigl committed
265
266
267
268
269
270
271
272
                            <graphic>
                                <MaterialDesignIconView glyphName="DEBUG_STEP_INTO" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Step Into"/>
                            </tooltip>
                        </Button>

273
                        <Button onAction="#stepOver" disable="${controller.stepNotPossible}">
Alexander Weigl's avatar
Alexander Weigl committed
274
275
276
277
278
279
280
281
                            <graphic>
                                <MaterialDesignIconView glyphName="DEBUG_STEP_OVER" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Step Over"/>
                            </tooltip>
                        </Button>

Sarah Grebing's avatar
Sarah Grebing committed
282
                        <Button onAction="#stepOverReverse" disable="${controller.stepNotPossible}">
Alexander Weigl's avatar
Alexander Weigl committed
283
284
285
286
                            <graphic>
                                <MaterialDesignIconView glyphName="DEBUG_STEP_OVER" size="24.0" scaleX="-1"/>
                            </graphic>
                            <tooltip>
287
                                <Tooltip text="Step Over Reverse"/>
Alexander Weigl's avatar
Alexander Weigl committed
288
289
290
291
                            </tooltip>
                        </Button>


292
                        <Button onAction="#stepIntoReverse" disable="${controller.stepNotPossible}">
Alexander Weigl's avatar
Alexander Weigl committed
293
294
295
296
                            <graphic>
                                <MaterialDesignIconView glyphName="DEBUG_STEP_OUT" size="24.0"/>
                            </graphic>
                            <tooltip>
297
                                <Tooltip text="Step Into Reverse"/>
Alexander Weigl's avatar
Alexander Weigl committed
298
299
300
                            </tooltip>
                        </Button>

301
                        <Button onAction="#stopDebugMode" disable="${controller.stepNotPossible}">
Sarah Grebing's avatar
Sarah Grebing committed
302
                            <!--disable="${! controller.debugMode}"-->
Alexander Weigl's avatar
Alexander Weigl committed
303
304
305
306
                            <graphic>
                                <MaterialDesignIconView glyphName="STOP" size="24.0"/>
                            </graphic>
                            <tooltip>
Sarah Grebing's avatar
Sarah Grebing committed
307
                                <Tooltip text="Stop Debugging"/>
Alexander Weigl's avatar
Alexander Weigl committed
308
                            </tooltip>
Sarah Grebing's avatar
Sarah Grebing committed
309
                        </Button>
Alexander Weigl's avatar
Alexander Weigl committed
310

311
                        <ToggleButton fx:id="btnInteractiveMode" onAction="#interactiveMode" disable="true">
312
313
314
315
316
317
318
                            <!--disable="${! controller.debugMode}"-->
                            <graphic>
                                <MaterialDesignIconView glyphName="HAND_POINTING_RIGHT" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Start/Stop Interactive Mode"/>
                            </tooltip>
319
                        </ToggleButton>
320

LULUDBR\Lulu's avatar
LULUDBR\Lulu committed
321
322
323
324
325
326
327
328
329
                        <Button fx:id="interactive_undo" onAction="#undo" disable="true">
                            <graphic>
                                <MaterialDesignIconView glyphName="UNDO" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Undo"/>
                            </tooltip>
                        </Button>

Alexander Weigl's avatar
Alexander Weigl committed
330
331
332
333
334
                        <Separator/>

                        <Label text="Rollback to: "/>
                        <ComboBox fx:id="cboSavePoints" disable="true"/>
                        <Button fx:id="btnSavePointRollback" onAction="#selectSavepoint" disable="true">
335
336
337
338
339
340
341
                            <graphic>
                                <MaterialDesignIconView glyphName="CHECK" size="22.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Select Savepoint"/>
                            </tooltip>
                        </Button>
Alexander Weigl's avatar
Alexander Weigl committed
342
343
                        <Separator/>

Alexander Weigl's avatar
Alexander Weigl committed
344
345
                        <Pane HBox.hgrow="ALWAYS"/>
                        <Label text="Windows:"/>
Alexander Weigl's avatar
Alexander Weigl committed
346
                        <ToggleButton fx:id="togBtnCodeDock" onAction="#showCodeDock">
Alexander Weigl's avatar
Alexander Weigl committed
347
348
349
350
351
352
353
                            <graphic>
                                <MaterialDesignIconView glyphName="CODE_TAGS" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Shows the Java Source Code"/>
                            </tooltip>
                        </ToggleButton>
Alexander Weigl's avatar
Alexander Weigl committed
354
                        <ToggleButton fx:id="togBtnWelcome" onAction="#showWelcomeDock">
Alexander Weigl's avatar
Alexander Weigl committed
355
356
357
358
359
360
361
                            <graphic>
                                <MaterialDesignIconView glyphName="HELP_CIRCLE" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Show Welcome window"/>
                            </tooltip>
                        </ToggleButton>
Alexander Weigl's avatar
Alexander Weigl committed
362
                        <ToggleButton fx:id="togBtnActiveInspector" onAction="#showActiveInspector">
Alexander Weigl's avatar
Alexander Weigl committed
363
364
365
366
367
368
369
                            <graphic>
                                <MaterialDesignIconView glyphName="MAGNIFY" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Show Active Inspector window"/>
                            </tooltip>
                        </ToggleButton>
Alexander Weigl's avatar
Alexander Weigl committed
370
                        <ToggleButton fx:id="togBtnProofTree" onAction="#showProofTree">
Alexander Weigl's avatar
Alexander Weigl committed
371
372
373
374
375
376
377
378
                            <graphic>
                                <!-- FILE-TREE-->
                                <MaterialDesignIconView glyphName="TREE" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Show Proof Tree"/>
                            </tooltip>
                        </ToggleButton>
Alexander Weigl's avatar
Alexander Weigl committed
379
                        <ToggleButton fx:id="togBtnCommandHelp" onAction="#showCommandHelp">
Alexander Weigl's avatar
Alexander Weigl committed
380
381
382
383
384
385
386
                            <graphic>
                                <MaterialDesignIconView glyphName="STACKEXCHANGE" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Show Command Help"/>
                            </tooltip>
                        </ToggleButton>
387
                    </items>
Alexander Weigl's avatar
Alexander Weigl committed
388
389
390
                </ToolBar>
            </children>
        </VBox>
391
    </top>
Alexander Weigl's avatar
Alexander Weigl committed
392
    <bottom>
393
        <DebuggerStatusBar fx:id="statusBar"/>
Alexander Weigl's avatar
Alexander Weigl committed
394
    </bottom>
395
</BorderPane>