Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
sarah.grebing
ProofScriptParser
Commits
400269f0
Commit
400269f0
authored
Nov 09, 2017
by
Alexander Weigl
Browse files
interaction mode, undocking
parent
b3b1128d
Changes
4
Hide whitespace changes
Inline
Side-by-side
ui/src/main/java/edu/kit/iti/formal/psdbg/gui/controller/DebuggerMain.java
View file @
400269f0
...
...
@@ -26,7 +26,6 @@ import edu.kit.iti.formal.psdbg.interpreter.KeYProofFacade;
import
edu.kit.iti.formal.psdbg.interpreter.KeyInterpreter
;
import
edu.kit.iti.formal.psdbg.interpreter.data.GoalNode
;
import
edu.kit.iti.formal.psdbg.interpreter.data.KeyData
;
import
edu.kit.iti.formal.psdbg.interpreter.data.State
;
import
edu.kit.iti.formal.psdbg.interpreter.dbg.*
;
import
edu.kit.iti.formal.psdbg.parser.ast.ProofScript
;
import
javafx.application.Platform
;
...
...
@@ -81,14 +80,10 @@ public class DebuggerMain implements Initializable {
protected
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
DebuggerMain
.
class
);
public
final
ContractLoaderService
contractLoaderService
=
new
ContractLoaderService
();
private
InspectionViewsController
inspectionViewsController
;
private
final
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
2
);
@Getter
private
final
DebuggerMainModel
model
=
new
DebuggerMainModel
();
private
InspectionViewsController
inspectionViewsController
;
private
ScriptController
scriptController
;
@FXML
...
...
@@ -128,7 +123,7 @@ public class DebuggerMain implements Initializable {
private
CheckMenuItem
miProofTree
;
@FXML
private
Button
btnIM
;
private
Toggle
Button
btnIM
;
private
JavaArea
javaArea
=
new
JavaArea
();
...
...
@@ -289,8 +284,10 @@ public class DebuggerMain implements Initializable {
* @see {@link #handleStatePointer(PTreeNode)}
*/
private
void
handleStatePointerUI
(
PTreeNode
<
KeyData
>
node
)
{
getInspectionViewsController
().
getActiveInspectionViewTab
().
activate
(
node
,
node
.
getStateBeforeStmt
());
scriptController
.
getDebugPositionHighlighter
().
highlight
(
node
.
getStatement
());
if
(
node
!=
null
)
{
getInspectionViewsController
().
getActiveInspectionViewTab
().
activate
(
node
,
node
.
getStateBeforeStmt
());
scriptController
.
getDebugPositionHighlighter
().
highlight
(
node
.
getStatement
());
}
}
private
void
marriageJavaCode
()
{
...
...
@@ -501,10 +498,12 @@ public class DebuggerMain implements Initializable {
statusBar
.
publishSuccessMessage
(
"Interpreter finished."
);
btnIM
.
setDisable
(
false
);
assert
model
.
getDebuggerFramework
()
!=
null
;
PTreeNode
<
KeyData
>
statePointer
=
model
.
getDebuggerFramework
().
getStatePointer
();
btnIM
.
setSelected
(
true
);
/*PTreeNode<KeyData> statePointer = model.getDebuggerFramework().getStatePointer();
assert statePointer!=null;
State<KeyData> lastState = statePointer.getStateAfterStmt();
getInspectionViewsController().getActiveInspectionViewTab().activate(statePointer, lastState);
*/
});
}
...
...
@@ -858,11 +857,15 @@ public class DebuggerMain implements Initializable {
@FXML
public
void
interactiveMode
(
ActionEvent
actionEvent
)
{
interactiveModeController
.
setActivated
(
true
);
interactiveModeController
.
start
(
getFacade
().
getProof
(),
getInspectionViewsController
().
getActiveInspectionViewTab
().
getModel
());
if
(
btnIM
.
isSelected
())
{
interactiveModeController
.
stop
();
}
else
{
interactiveModeController
.
setActivated
(
true
);
interactiveModeController
.
start
(
getFacade
().
getProof
(),
getInspectionViewsController
().
getActiveInspectionViewTab
().
getModel
());
}
}
}
@FXML
public
void
showWelcomeDock
(
ActionEvent
actionEvent
)
{
if
(!
welcomePaneDock
.
isDocked
()
&&
!
welcomePaneDock
.
isFloating
())
{
...
...
ui/src/main/java/edu/kit/iti/formal/psdbg/gui/controller/InteractiveModeController.java
View file @
400269f0
...
...
@@ -67,6 +67,7 @@ public class InteractiveModeController {
public
void
stop
()
{
Events
.
unregister
(
this
);
String
c
=
getCasesAsString
();
scriptController
.
getDockNode
(
scriptArea
).
undock
();
Events
.
fire
(
new
Events
.
InsertAtTheEndOfMainScript
(
c
));
}
...
...
ui/src/main/java/edu/kit/iti/formal/psdbg/gui/controls/ScriptController.java
View file @
400269f0
...
...
@@ -122,7 +122,7 @@ public class ScriptController {
return
getDockNode
(
findEditor
(
filepath
));
}
p
rivate
DockNode
getDockNode
(
ScriptArea
editor
)
{
p
ublic
DockNode
getDockNode
(
ScriptArea
editor
)
{
if
(
editor
==
null
)
{
return
null
;
}
...
...
@@ -178,7 +178,7 @@ public class ScriptController {
if
(
lastScriptArea
==
null
)
dockNode
.
dock
(
parent
,
DockPos
.
LEFT
);
else
dockNode
.
dock
(
parent
,
DockPos
.
LEFT
,
getDockNode
(
lastScriptArea
));
dockNode
.
dock
(
parent
,
DockPos
.
CENTER
,
getDockNode
(
lastScriptArea
));
area
.
dirtyProperty
().
addListener
(
new
ChangeListener
<
Boolean
>()
{
@Override
...
...
ui/src/main/resources/edu/kit/iti/formal/psdbg/gui/controller/DebuggerMain.fxml
View file @
400269f0
...
...
@@ -9,6 +9,7 @@
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<?import org.dockfx.DockPane?>
<?import org.controlsfx.control.ToggleSwitch?>
<BorderPane
xmlns:fx=
"http://javafx.com/fxml/1"
fx:id=
"rootPane"
xmlns=
"http://javafx.com/javafx/8.0.112"
fx:controller=
"edu.kit.iti.formal.psdbg.gui.controller.DebuggerMain"
prefWidth=
"1024"
prefHeight=
"640"
>
...
...
@@ -275,7 +276,7 @@
</tooltip>
</Button>
<Button
fx:id=
"btnIM"
onAction=
"#interactiveMode"
disable=
"true"
>
<
Toggle
Button
fx:id=
"btnIM"
onAction=
"#interactiveMode"
disable=
"true"
>
<!--disable="${! controller.debugMode}"-->
<graphic>
<MaterialDesignIconView
glyphName=
"HAND_POINTING_RIGHT"
size=
"24.0"
/>
...
...
@@ -283,7 +284,7 @@
<tooltip>
<Tooltip
text=
"Start/Stop Interactive Mode"
/>
</tooltip>
</Button>
</
Toggle
Button>
<Pane
HBox.hgrow=
"ALWAYS"
/>
<Label
text=
"Windows:"
/>
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment