November 28th, 2009
A new class Observer has been added to BSUtilities, which helps to implement the observer pattern. This class should be used as a parent when defining a class X that wants to observe another class Y. It adds a pure virtual member function
void beInformed (void)
which must be overridden in the definition of X. Then, X can be registered with Y and Y calls X::beInformed()upon changes.
Perhaps, this can be made more generic, but the present protoype works for the ObservableLineEdit class as Y.
Posted in BSUtilities Developer Log | No Comments »
November 28th, 2009
Some BSUtilities classes should have a graphical user interface. For example, I had planned this for Logger already, but this has not been realized.
During work on the Quantities GUI, some BSUtilities related GUI code (based on Qt4) has been generated, and was now moved to the BSUtilities file hierarchy within directory GUI/Qt. Owing to the fact that we now have BSUtilities headers in different directories in the hierarchy, some include directives proved inconsistent with respect to header paths when being used within BSUtilities or in outside code. Thus, the fiel and directory hierarchy will have to be changed (see also separate post).
Presently, a ObservableLineEdit has been implemented that is based on the QLineEdit in Qt4, but does not rely on the signals-and-slots mechanism to report value changes, but rather on the observer pattern.
Posted in BSUtilities Developer Log | No Comments »
November 28th, 2009
During work on a GUI add-on to BSUtilities, it appeared that also for this package, I need to change the overall file and directory structure as has been done before with Quantities: There should be one main directory containing the configure files, documentation and m4 subdirectories and a subdirectory BSUtilities, which holds the actual code. This will help to make the include directives in code using BSUtilities and those within BSUtilities more consistent.
Posted in BSUtilities Developer Log | 1 Comment »
November 21st, 2009
Implementation of a graphical user interface to Quantities has been started. Such an interface should provide a graphical element that allows to visualize a Quantity and to change it.
Implementation will be done in Qt4, as a QuantityWidget. The widget should also allow to change its features, for example to display the Quantity in various units, to display/remove the name and symbol etc.
Now, the appropriate directory structure (subdirectory GUI/Qt) has been generated and a primitive first header and implementation file for QuantityWidget have been written. No compilations or tests were done yet.
Posted in Quantities Developer Log, Uncategorized | 5 Comments »
August 15th, 2009
Since version 1.2.2, the structure of installed headers has changed (they are in the <install_directory_>/includes/Quantities-<versionnumber>/Quantities) directory. This was not yet reflected in the internal use of headers, resulting in some confusion between development of Quantities and other packages using this. All include directives inside Quantities are now adapted to this scheme.
Developers of other software, which uses Quantities, should update their code to include the full path starting with the directory mentioned above in their include directives. This will avoid name clashes (among others).
Presently, the changes are in only in my development code. However, I will upload to cvs as soon as possible, and also prepare a new version.
Posted in Quantities Developer Log | 2 Comments »
August 9th, 2009
In older logs I had several thoughts about serialization of UniqueQuantities. With more recent developments in the base functionality of UniqueQuantities (access control, see WikiNotes in Quantities/Quantity/documentation) I think that serialization of these singleton objects does no longer make sense. The value (and the entire state) of a UniqueQuantity is fixed and is generated
at first use automatically (that’s the whole idea of the singleton).
Consequently, the *_export.h headers in PhysicalQuantities were removed from the cvs repository.
Posted in PhysicalQuantities Developer Log | No Comments »
August 9th, 2009
Similar to BSUtilities documentation only builds are now supported with the –enable-onlydoc option to configure. In contrast to BSUtilities, it is not sufficient to define the –prefix option. Rather the –with_BSUtilities and –with-BSUtilities_version options must be given, in order to find the BSUtilities documentation for linking in.
Posted in Quantities Developer Log | 1 Comment »
August 9th, 2009
Some additional information (and a link to the Quantities home page) has been added to the Quantities 1.2.2 release notes (important note when Boost 1.34.1 has to be compiled with more recent gcc C++ compilers – version 4.3.x).
Posted in Quantities Developer Log | 1 Comment »
August 9th, 2009
The configure flag –enable-onlydoc does now allow to generate only documentation, even if the prerequisites for compilation and linking are not available. For details see the Tracker
Posted in BSUtilities Developer Log, Uncategorized | No Comments »
August 8th, 2009
As in the BSUtilities README, the erroneous link in the Quantities README was corrected. The notes.txt (Release Notes) file was updated.
Posted in Quantities Developer Log | No Comments »