dot: add option C(COLOR)

This fixes the output gliches visible in the previous patches,
where highlighting a state would remove its fill color.

* spot/twaalgos/dot.cc, spot/taalgos/dot.cc: Implement option C(COLOR).
* bin/common_aoutput.cc, doc/org/oaut.org: Document it.
* doc/org/.dir-locals.el.in, doc/org/init.el.in,
python/spot/__init__.py: Use it.
* tests/python/automata-io.ipynb, tests/python/automata.ipynb,
tests/python/highlighting.ipynb: Test it.
* tests/core/readsave.test: Adjust.
* NEWS: Mention recent changes.
This commit is contained in:
Alexandre Duret-Lutz 2016-02-05 18:56:08 +01:00
parent 23c2cbf46a
commit 77b0b5b3fe
12 changed files with 163 additions and 107 deletions

30
NEWS
View file

@ -12,20 +12,26 @@ New in spot 1.99.7a (not yet released)
object can be queried about the supported variables and their
types.
* print_dot() now accepts an option of the form "<N" to specify
a maximum number of states to output. Incomplete states are
then marked appropriately. For a quick example, compare
ltl2tgba -D 'Ga | Gb | Gc' -d'<3'
with
ltl2tgba -D 'Ga | Gb | Gc' -d
* print_dot() now has option "k" to use state-based labels when
possible. This is similar to the "k" option already supported
by print_hoa(), and is useful when printing Kripke structures.
* print_dot() now accepts several new options:
- use "<N" to specify a maximum number of states to output.
Incomplete states are then marked appropriately. For a quick
example, compare
ltl2tgba -D 'Ga | Gb | Gc' -d'<3'
with
ltl2tgba -D 'Ga | Gb | Gc' -d
- use "C(color)" to specify the color to use for filling states.
- use "#" to display the internal number of each transition
- use "k" to use state-based labels when possible. This is
similar to the "k" option already supported by print_hoa(), and
is useful when printing Kripke structures.
* Option "k" is automatically passed used by print_dot() and
print_hoa() when printing Kripke structures.
* print_dot() also honnor two new automaton properties called
"highlight-edges" and "highlight-states". These are used to color
a subset of edges or transitions.
Python:
* The ltsmin interface has been binded in Python. See
@ -36,6 +42,10 @@ New in spot 1.99.7a (not yet released)
unreadable (and slow to process by GraphViz). This can be
overridden by calling spot.setup(max_states=N).
* Automata now have methods to color selected states and
transitions. See
https://spot.lrde.epita.fr/ipynb/highlighting.html for an example.
Documentation:
* There is a new page giving informal illustrations (and extra