- New: Attributes "needRestart", "mustExist", "isFile" and "isPath".
- New: Display a warning message when a parameter with mustExist or
needRestart is modificated.
- New: In ConfigurationWidget, method selectTab() to select the current
displayed tab.
- Change: In Configuration::writeToFile() and writeToStream(), adds a
third parameter telling which parameter to save. It's a semicolon
separated list of parameter head id. Example: "kite;mauka".
- Bug: In FilePathEdit, do not sets the file/path if the Dialog has been
cancelled.
- Bug: In FilePathEdit, do not uses the native dialog (called by static
methods) when under Linux/GtkStyle as the native widget seems to be
badly linked (bug in GtkStyle?).
- New: Integrate the FilePathEdit widget, courtesy of D. Dupuis.
- Bug: In ConfEditorMain, new boolean switch to allow disable of GtkStyle
which make FilePathEdit to coredump (Linux feature only!).
- New: In Configuration, write methods are ables to completly drive the
XML file (values & layout), selectable through flags.
- New: In ConfigurationWidget, the Apply button is now outside the
tabs. Also adds two modes: Embedded & StandAlone with different sets
of buttons.
- Bug: In Configuration::writeToStream(), percentage parameters values where
incorrectly written (divideds by 100).
- Bug: In ConfEditorMain, read the "dot" configuration file *after* the
system one.
- Change: New problem identified with the Python modules: each module seems
to be built as a complete binary, so all the static C++ initializers are
allocated in each module. In particular the C++ tree inheritance is built
for *each* module so we cannot longer uses the typeid() comparisons
across modules... It was used by boost::program_options to perform is
casts with boost::any and was starting throwing exceptions because of
bad casts. program_option was first initialized in "configuration"
first included by PyViewer then in PyCRL (see Utilities.cpp).
A first solution is to re-order the import of Python modules in
stratus1/st_model so that CRL is imported first.
The second is to not not link "configuration" with boost::program_option
as only the binary vlsisapd-conf-editor needs it.
That is a serious problem of which we must be aware and can cause further
strange behaviors.
Debug code used to diagnostic has been kept commented in the sources a
it may be needed again :-(
This behavior do not affect our singletons because they are part of
dynamic libraries that seems to be correctly shared between the various
Python modules.
* ./vlsisapd:
- Change: In Configuration CMakeLists.txt, add Boost_LIBRARIES only on the
target_link_libraries() of the binary, not the libraries, as they are
not needed there and cause later trouble.
- Library linking: there must not be "target_link_library()" for libraries,
only when building binaries. Avoid clashes between static module
or class variables, and strange reinitialisation of those variables.
- Change: Boost is now always linked staticly.
- New: More thorough type checking of parameter's type while setting/
getting.
- New: In Parameter, callback mechanism (trimmed down Observer pattern)
to uses whenever Qt signal/slots are not used. This is needed to
maintain data coherency througout the software.