DebuggerMain.fxml 20.2 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
80
81
82
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
                        <Menu text="Debug">
                            <MenuItem onAction="#executeScript"
                                      text="Execute"
                                      accelerator="F2"
                                      disable="${controller.executeNotPossible}">
                                <graphic>
                                    <MaterialDesignIconView glyphName="PLAY" size="24.0"/>
                                </graphic>
                            </MenuItem>
                            <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
116
                            <MenuItem onAction="#stepOverReverse"
117
118
                                      accelerator="F7"

Sarah Grebing's avatar
Sarah Grebing committed
119
120
121
122
123
124
125
126
127
128
129
                                      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"
130
131
132
133
134
135
136
137
                                      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
138
                                      accelerator="F9"
139
140
141
142
143
144
145
146
                                      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
147
                                      text="Stop Debugging"
148
149
150
151
152
153
154
                                      disable="${controller.stepNotPossible}">
                                <!--disable="${! controller.debugMode}"-->
                                <graphic>
                                    <MaterialDesignIconView glyphName="STOP" size="24.0"/>
                                </graphic>
                            </MenuItem>
                        </Menu>
Alexander Weigl's avatar
Alexander Weigl committed
155
156
                        <Menu text="View">
                            <items>
157
158
                                <CheckMenuItem fx:id="miCodeDock" onAction="#showCodeDock" text="Show Java Code window"
                                               accelerator="Ctrl+J">
Alexander Weigl's avatar
Alexander Weigl committed
159
160
161
                                    <graphic>
                                        <MaterialDesignIconView glyphName="CODE_TAGS" size="24.0"/>
                                    </graphic>
Alexander Weigl's avatar
Alexander Weigl committed
162
                                </CheckMenuItem>
Alexander Weigl's avatar
Alexander Weigl committed
163
                                <CheckMenuItem fx:id="miWelcomeDock" onAction="#showWelcomeDock"
164
                                               text="Show Welcome window" accelerator="Ctrl+w">
Alexander Weigl's avatar
Alexander Weigl committed
165
166
167
                                    <graphic>
                                        <MaterialDesignIconView glyphName="HELP_CIRCLE" size="24.0"/>
                                    </graphic>
Alexander Weigl's avatar
Alexander Weigl committed
168
                                </CheckMenuItem>
Alexander Weigl's avatar
Alexander Weigl committed
169
                                <CheckMenuItem fx:id="miActiveInspector" onAction="#showActiveInspector"
170
                                               text="Show Active Inspector window" accelerator="Ctrl+I">
Alexander Weigl's avatar
Alexander Weigl committed
171
172
173
                                    <graphic>
                                        <MaterialDesignIconView glyphName="MAGNIFY" size="24.0"/>
                                    </graphic>
Alexander Weigl's avatar
Alexander Weigl committed
174
                                </CheckMenuItem>
175
176
                                <CheckMenuItem fx:id="miProofTree" onAction="#showProofTree" text="Show Proof Tree"
                                               accelerator="Ctrl+t">
Alexander Weigl's avatar
Alexander Weigl committed
177
178
179
                                    <graphic>
                                        <MaterialDesignIconView glyphName="TREE" size="24.0"/>
                                    </graphic>
Alexander Weigl's avatar
Alexander Weigl committed
180
                                </CheckMenuItem>
Alexander Weigl's avatar
Alexander Weigl committed
181
                                <CheckMenuItem fx:id="miCommandHelp" onAction="#showCommandHelp"
182
                                               accelerator="F1"
Alexander Weigl's avatar
Alexander Weigl committed
183
                                               text="Show Command Help">
Alexander Weigl's avatar
Alexander Weigl committed
184
185
186
                                    <graphic>
                                        <MaterialDesignIconView glyphName="STACKEXCHANGE" size="24.0"/>
                                    </graphic>
Alexander Weigl's avatar
Alexander Weigl committed
187
                                </CheckMenuItem>
Alexander Weigl's avatar
Alexander Weigl committed
188
189
                            </items>
                        </Menu>
190
                        <Menu fx:id="examplesMenu" text="_Examples">
191
192
193
194
                            <items>
                                <MenuItem text="Examples not loaded" disable="true"/>
                            </items>
                        </Menu>
Alexander Weigl's avatar
Alexander Weigl committed
195
196
                        <Menu text="Help">
                            <items>
Alexander Weigl's avatar
Alexander Weigl committed
197
                                <MenuItem text="About" onAction="#showAbout"/>
Alexander Weigl's avatar
Alexander Weigl committed
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
                            </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>
214
215
216
217
218
219
220
                                <!-- <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
221

Alexander Weigl's avatar
Alexander Weigl committed
222
                                <MenuItem
223
                                        text="Execute Script Stepwise From Start"
224
                                        onAction="#executeStepwise"
Alexander Weigl's avatar
Alexander Weigl committed
225
                                        disable="${controller.executeNotPossible}">
Sarah Grebing's avatar
Sarah Grebing committed
226
                                    <graphic>
Alexander Weigl's avatar
Alexander Weigl committed
227
                                        <MaterialDesignIconView glyphName="PLAY_PAUSE" size="24.0"/>
Sarah Grebing's avatar
Sarah Grebing committed
228
                                    </graphic>
Alexander Weigl's avatar
Alexander Weigl committed
229
                                </MenuItem>
230
231
232
233
234
235
236
237
                                <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
238
                            </items>
Sarah Grebing's avatar
Sarah Grebing committed
239

Alexander Weigl's avatar
Alexander Weigl committed
240
                        </SplitMenuButton>
Sarah Grebing's avatar
Sarah Grebing committed
241

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

                        <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
261
                        <Button onAction="#stepInto" disable="${controller.stepNotPossible}">
Alexander Weigl's avatar
Alexander Weigl committed
262
263
264
265
266
267
268
269
                            <graphic>
                                <MaterialDesignIconView glyphName="DEBUG_STEP_INTO" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Step Into"/>
                            </tooltip>
                        </Button>

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

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


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

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

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

LULUDBR\Lulu's avatar
LULUDBR\Lulu committed
318
319
320
321
322
323
324
325
                        <Button fx:id="interactive_undo" onAction="#undo" disable="true">
                            <graphic>
                                <MaterialDesignIconView glyphName="UNDO" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Undo"/>
                            </tooltip>
                        </Button>
326
                        <ComboBox fx:id="combo_savepoints"  disable="true" prefWidth="100" prefHeight="30">
LULUDBR\Lulu's avatar
LULUDBR\Lulu committed
327

328
                        </ComboBox>
329
330
331
332
333
334
335
336
                        <Button fx:id="spselect" onAction="#selectSavepoint" disable="true">
                            <graphic>
                                <MaterialDesignIconView glyphName="CHECK" size="22.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Select Savepoint"/>
                            </tooltip>
                        </Button>
Alexander Weigl's avatar
Alexander Weigl committed
337
338
                        <Pane HBox.hgrow="ALWAYS"/>
                        <Label text="Windows:"/>
Alexander Weigl's avatar
Alexander Weigl committed
339
                        <ToggleButton fx:id="togBtnCodeDock" onAction="#showCodeDock">
Alexander Weigl's avatar
Alexander Weigl committed
340
341
342
343
344
345
346
                            <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
347
                        <ToggleButton fx:id="togBtnWelcome" onAction="#showWelcomeDock">
Alexander Weigl's avatar
Alexander Weigl committed
348
349
350
351
352
353
354
                            <graphic>
                                <MaterialDesignIconView glyphName="HELP_CIRCLE" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Show Welcome window"/>
                            </tooltip>
                        </ToggleButton>
Alexander Weigl's avatar
Alexander Weigl committed
355
                        <ToggleButton fx:id="togBtnActiveInspector" onAction="#showActiveInspector">
Alexander Weigl's avatar
Alexander Weigl committed
356
357
358
359
360
361
362
                            <graphic>
                                <MaterialDesignIconView glyphName="MAGNIFY" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Show Active Inspector window"/>
                            </tooltip>
                        </ToggleButton>
Alexander Weigl's avatar
Alexander Weigl committed
363
                        <ToggleButton fx:id="togBtnProofTree" onAction="#showProofTree">
Alexander Weigl's avatar
Alexander Weigl committed
364
365
366
367
368
369
370
371
                            <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
372
                        <ToggleButton fx:id="togBtnCommandHelp" onAction="#showCommandHelp">
Alexander Weigl's avatar
Alexander Weigl committed
373
374
375
376
377
378
379
                            <graphic>
                                <MaterialDesignIconView glyphName="STACKEXCHANGE" size="24.0"/>
                            </graphic>
                            <tooltip>
                                <Tooltip text="Show Command Help"/>
                            </tooltip>
                        </ToggleButton>
380
                    </items>
Alexander Weigl's avatar
Alexander Weigl committed
381
382
383
                </ToolBar>
            </children>
        </VBox>
384
    </top>
Alexander Weigl's avatar
Alexander Weigl committed
385
    <bottom>
386
        <DebuggerStatusBar fx:id="statusBar"/>
Alexander Weigl's avatar
Alexander Weigl committed
387
    </bottom>
388
</BorderPane>