Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
OpenGEODE
Commits
d1428672
Commit
d1428672
authored
Aug 28, 2016
by
Maxime Perrotin
Browse files
Update states in data dictionary
parent
df19fa28
Changes
3
Hide whitespace changes
Inline
Side-by-side
opengeode/opengeode.py
View file @
d1428672
...
...
@@ -369,6 +369,7 @@ class SDL_Scene(QtGui.QGraphicsScene, object):
''' Main graphic scene (canvas) where the user can place SDL symbols '''
# Signal to be emitted when the scene is left (e.g. UP button)
scene_left
=
QtCore
.
Signal
()
context_change
=
QtCore
.
Signal
()
def
__init__
(
self
,
context
=
'process'
):
''' Create a Scene for a given context:
...
...
@@ -820,6 +821,7 @@ class SDL_Scene(QtGui.QGraphicsScene, object):
recursive
=
False
,
nextstate
=
False
,
cpy
=
True
))
symbol
.
update_completion_list
(
pr_text
=
pr_text
)
self
.
context_change
.
emit
()
def
highlight
(
self
,
item
):
...
...
@@ -1135,6 +1137,7 @@ class SDL_Scene(QtGui.QGraphicsScene, object):
subscene
=
SDL_Scene
(
context
=
context
)
subscene
.
messages_window
=
self
.
messages_window
subscene
.
parent_scene
=
parent
subscene
.
context_change
.
connect
(
self
.
context_change
.
emit
)
return
subscene
...
...
@@ -2035,6 +2038,7 @@ class OG_MainWindow(QtGui.QMainWindow, object):
self
.
view
.
refresh
()
scene
.
undo_stack
.
cleanChanged
.
connect
(
lambda
x
:
self
.
view
.
wrapping_window
.
setWindowModified
(
not
x
))
scene
.
context_change
.
connect
(
self
.
update_datadict_window
)
def
start
(
self
,
file_name
):
''' Initializes all objects to start the application '''
...
...
@@ -2226,18 +2230,24 @@ class OG_MainWindow(QtGui.QMainWindow, object):
# it should be attached to the current scene instead TODO
in_sig
,
out_sig
,
states
,
dcl
,
timers
=
[
self
.
datadict
.
topLevelItem
(
i
)
for
i
in
range
(
2
,
7
)]
context
=
sdlSymbols
.
CONTEXT
def
change_state
(
item
,
state
):
item
.
setDisabled
(
state
)
item
.
takeChildren
()
if
self
.
view
.
scene
().
context
==
'block'
:
map
(
lambda
elem
:
elem
.
setDisabled
(
True
),
map
(
lambda
elem
:
change_state
(
elem
,
True
),
(
in_sig
,
out_sig
,
states
,
dcl
,
timers
))
elif
self
.
view
.
scene
().
context
==
'process'
:
map
(
lambda
elem
:
elem
.
setDisabled
(
False
),
map
(
lambda
elem
:
change_state
(
elem
,
False
),
(
in_sig
,
out_sig
,
states
,
dcl
,
timers
))
for
each
in
sorted
(
context
.
mapping
.
viewkeys
()):
QtGui
.
QTreeWidgetItem
(
states
,
[
each
,])
elif
self
.
view
.
scene
().
context
==
'procedure'
:
map
(
lambda
elem
:
elem
.
setDisabled
(
False
),
(
dcl
,
timers
,
out_sig
))
map
(
lambda
elem
:
elem
.
setDisabled
(
True
),
(
in_sig
,
states
))
map
(
lambda
elem
:
change_state
(
elem
,
False
),
(
dcl
,
timers
,
out_sig
))
map
(
lambda
elem
:
change_state
(
elem
,
True
),
(
in_sig
,
states
))
self
.
datadict
.
resizeColumnToContents
(
0
)
def
vi_command
(
self
):
# type: () -> None
'''
...
...
opengeode/sdlSymbols.py
View file @
d1428672
...
...
@@ -1090,7 +1090,7 @@ class Procedure(Process):
self
.
setPath
(
path
)
super
(
Process
,
self
).
set_shape
(
width
,
height
)
def
update_completion_list
(
self
,
**
kwargs
):
def
update_completion_list
(
self
,
_
):
''' When text was entered, update completion list of ProcedureCall '''
for
each
in
CONTEXT
.
procedures
:
if
unicode
(
self
.
text
).
lower
()
==
each
.
inputString
:
...
...
tests/regression/test-operators/operators.pr
View file @
d1428672
/* CIF PROCESS (1
42
, 1
59
), (146, 75) */
/* CIF PROCESS (1
63
, 1
40
), (146, 75) */
PROCESS operators;
/* CIF TEXT (
286
, 21), (303, 152) */
/* CIF TEXT (
355
, 21), (303, 152) */
DCL i Integer := 2;
DCL f Real := 2.0;
DCL b Boolean := true;
...
...
@@ -10,47 +10,47 @@ DCL fixSeqOf FixSeqof := {1, 2, 3};
DCL varSeqOf varSeqOf := {1, 2, 3};
DCL c Choice := i:2;
/* CIF ENDTEXT */
/* CIF START (
7
3,
2
4), (100, 50) */
/* CIF START (
16
3, 4
8
), (100, 50) */
START;
/* CIF NEXTSTATE (
7
3,
89
), (100, 50) */
/* CIF NEXTSTATE (
16
3,
113
), (100, 50) */
NEXTSTATE Wait;
/* CIF STATE (
7
3,
89
), (100, 50) */
/* CIF STATE (
16
3,
113
), (100, 50) */
STATE Wait;
/* CIF INPUT (
7
4, 1
59
), (100, 50) */
/* CIF INPUT (
16
4, 1
83
), (100, 50) */
INPUT run;
/* CIF PROCEDURECALL (1
3
, 2
2
4), (221, 35) */
/* CIF PROCEDURECALL (1
04
, 24
8
), (221, 35) */
CALL assert(abs(-i) = i, 'abs(-i) = i');
/* CIF PROCEDURECALL (
-
8, 2
74
), (264, 35) */
/* CIF PROCEDURECALL (8
2
, 2
98
), (264, 35) */
CALL assert(abs(-f) = f, 'abs(-f) = f');
/* CIF PROCEDURECALL (
-22
, 3
2
4), (293, 35) */
/* CIF PROCEDURECALL (
68
, 34
8
), (293, 35) */
CALL assert(ceil(f + 0.5) = 3.0, 'ceil(f + 0.5) = 3.0');
/* CIF PROCEDURECALL (
-9
0, 3
74
), (429, 35) */
/* CIF PROCEDURECALL (0, 3
98
), (429, 35) */
CALL assert(round(cos(pi)) = -1.0, 'round(cos(pi)) = -1.0');
/* CIF PROCEDURECALL (12, 4
2
4), (224, 35) */
/* CIF PROCEDURECALL (1
0
2, 44
8
), (224, 35) */
CALL assert(fix(f) = i, 'fix(f) = i');
/* CIF PROCEDURECALL (
-1
, 4
74
), (251, 35) */
/* CIF PROCEDURECALL (
89
, 4
98
), (251, 35) */
CALL assert(float(i) = f, 'float(i) = f');
/* CIF PROCEDURECALL (
-18
, 5
2
4), (284, 35) */
/* CIF PROCEDURECALL (
72
, 54
8
), (284, 35) */
CALL assert(floor(f + 0.5) = f, 'floor(f + 0.5) = f');
/* CIF PROCEDURECALL (
-47
, 5
74
), (343, 35) */
/* CIF PROCEDURECALL (
43
, 5
98
), (343, 35) */
CALL assert(length(fixSeqOf) = 3, 'length(fixSeqOf) = 3');
/* CIF PROCEDURECALL (
-51
, 6
2
4), (350, 35) */
/* CIF PROCEDURECALL (
39
, 64
8
), (350, 35) */
CALL assert(length(varSeqOf) = 3, 'length(varSeqOf) = 3');
/* CIF PROCEDURECALL (
3
, 6
74
), (240, 35) */
/* CIF PROCEDURECALL (
94
, 6
98
), (240, 35) */
CALL assert(num(e) = 12, 'num(e) = 12');
/* CIF PROCEDURECALL (
-14
, 7
2
4), (276, 35) */
/* CIF PROCEDURECALL (
76
, 74
8
), (276, 35) */
CALL assert(power(i, 3) = 8, 'power(i, 3) = 8');
/* CIF PROCEDURECALL (
-9
0, 7
74
), (429, 35) */
/* CIF PROCEDURECALL (0, 7
98
), (429, 35) */
CALL assert(round(sin(pi)) = 0.0, 'round(sin(pi)) = 0.0');
/* CIF PROCEDURECALL (
-1
5, 8
2
4), (278, 35) */
/* CIF PROCEDURECALL (
7
5, 84
8
), (278, 35) */
CALL assert(sqrt(16.0) = 4.0, 'sqrt(16.0) = 4.0');
/* CIF PROCEDURECALL (
-2
6, 8
74
), (301, 35) */
/* CIF PROCEDURECALL (6
4
, 8
98
), (301, 35) */
CALL assert(trunc(f + 0.1) = f, 'trunc(f + 0.1) = f');
/* CIF PROCEDURECALL (
2
4, 9
2
4), (200, 35) */
/* CIF PROCEDURECALL (
11
4, 94
8
), (200, 35) */
CALL writeln(i, f, b, s);
/* CIF PROCEDURECALL (
2
4, 9
74
), (200, 35) */
/* CIF PROCEDURECALL (
11
4, 9
98
), (200, 35) */
CALL write(i, f, b, s);
/* CIF NEXTSTATE (
7
4, 10
2
4), (100, 50) */
/* CIF NEXTSTATE (
16
4, 104
8
), (100, 50) */
NEXTSTATE Wait;
ENDSTATE;
ENDPROCESS operators;
\ No newline at end of file
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