A class is defined with operations, attributes ... but the C++/Java/Php/Python/Idl generator doesn't generate it
First, if you do not have any message in the trace window, this means the Plug-out doing the code generation is not started, perhaps your firewall blocks it, see The plug-out does nothing.
Else, may be the class doesn't have an associated artifact, or the class/artifact is not defined for the target language. Note that a default definition (set through the generation settings) may be done at the creation for each language if you ask for it through the Languages menu.
How to refer to elements from another library ?
In fact this depends on which level of detail you want to have concerning the library you reference.
Of course the solutions above may be followed for library of classes you write yourself.
In the cases (2) and (3) the better is to do the work in a project only dedicated to these classes, this project being a kind of library in the Bouml point of view. Doing that this allows you to import this project as a library.
Last remark : yes, a C++ catalogue like I did for the Java programmers is missing ...
During a reverse I have syntax errors on a valid code
Syntax errors may be detected by the reverse on a valid code in several cases :
To do substitutions on the read files : edit the package where the C++ reverse will be started (perhaps the project itself) to add a user property (through the tab Properties) with the key #file and the value must be the absolute pathname of a file. Each line of the specified file must contain :
Warning : the lines must not contains spaces or tabs.
How to have comments compatible with Doxygen
By default the definition of generated elements contains the keyword ${comment}, this keyword produces the description of the element adding // before.
When you want to fully specify the contain of the generated comments you just have to replace ${comment} by ${description} and the code generator will not add // at the beginning of each line. Of course do the change in the generation settings of the artifact, class, attribute, relation and operation !
When a default value is specified for a static variable there is no "=" inserted.
This is the desired behavior : a variable initialization is not always done by '=', if the variable is a class instance the init form is Type Class::Var(param1, ... paramn).
So, you have two solutions :
How to add #include in the generated code ?
In the artifact, edit it and add the needed #include in the C++ header or source definition, before or after ${includes}.
You can also use the dependencies between classes.
How to add import in the generated code ?
In the artifact, edit it and add the needed import in the top of Java source definition.
The plug-out does nothing
The exchanges between BOUML and each plug-out are supported by a TCP/IP socket. When you ask BOUML to start a plug-out, it search for a free port number starting at 1024 on localhost (127.0.0.1), this port is given in argument to the called plug-out. In case you have a firewall it may be necessary to configure it to allow BOUML and the plug-outs to use a socket.
A modification made by a plug-out is not see by the other ones
To reduce the number of exchanges with BOUML and run faster, a plug-out does not ask for BOUML each time you want to get a value. The system classes read and memorize all the data of a given item the first time you access to one of them (with the restrictions allowed by WITHCPP, WITHJAVA, WITHPHP, WITHPYTHON and WITHIDL). This is transparent for you until two plug-outs access to the same data, when one plug-out modify a value already read by the other, the second plug-out does not see the new value until it unload (an operation defined on UmlBaseItem) the object, then ask for the value.
I can't compile a plug-out in Java
Some files implementing base classes of the API contain several classes, this produces error at compile time when you compile a plug-out file by file. To compile a plug-out, compile all the files at the same time doing javac *.java in the directory where the generated files are.
If I edit a note I can't close the window
This is possible using the key escape. I will add ok / cancel buttons !
Error message cannot write in 'H:/.boumlrc' (H: may be an other path)
Some files like '.boumlrc' are saved in your home directory, this message appears when you don't have the write access in this directory (here H). This have no sense, change your home directory to something else of set the write access of your home directory.
BOUML not friendly with multi display setup (2 monitors)
It is not possible to know you have a multiple screen configuration, but this case is managed by Bouml : you just have to define the default screen to use through the entry set environment of the menu miscellaneous.
These limits are taken into account only for the initial size and position of the BOUML's windows and when a dialog is opened, after that you are able to go out of these limits up to the true desktop limits.
Font script support for foreign languages
After editing a description or other part, the font is modified or several characters are replaced by a space
During the edition the characters encoded with a 16 bits unicode character set, but out of the editions the characters are saved on only 8 bits.
When you use non ISO_8859-1 (latin1) characters you must specify which charset must be used (the list depends on the release of Qt) through the entry set environment of the menu miscellaneous.
Warning : it is not possible to use non ISO_8859-1 everywhere, for instance browser element's name must only use ISO_8859-1 characters, refer to the documentation.
If I do a copy/paste of a diagram from Bouml to Word or PPoint under Windows, the result is not pretty
Word and PPoint are responsible of this problem, not Bouml : if you do the paste in paint for instance you will obtain the original picture. To not have a problem with Word and PPoint don't use a copy/paste but save the diagram picture in a file under Bouml and use this file. Under Word you may also use Edit - Paste Special... and select As bitmap.
I change the generation settings but the generated code is unchanged
Changing the generation settings doesn't have impact on the definitions and declarations already existing : let's suppose you have for instance in C++ an attribute which is a pointer (so its definition contains ${type} * ${name}), and you change something in the default definition of the attributes in C++. Hopefully your attribute's definition is unchanged, else you will not be very happy to loose the '*' to follow the new default definition !
To propagate a change to the already existing elements, use the plug-out Global change.
The reverse doesn't make diagrams
This is the expected behavior : I consider a good diagram can't be generated automatically because a good class diagram is not any list of classes placed randomly in a picture.
Anyway, to make the diagram is very easy : create diagram(s) and drag & drop desired classes from the browser to the diagram. By default the relations between classes will be drawned also (depending on the drawing settings).
If you want you can quickly add all the classes defined under a class view to a diagram : create and open the diagram if needed, select the class view in the browser, do a right mouse click inside the diagram and choose add classes from the selected class view.
Note : you may first change the diagram drawing settings for instance to ask to hide operations and/or attributes etc ...
Concurrent use of BOUML
Please, refer to the documentation chapter multi users considerations and probably project synchro, project control or file control.
How to change getter or setter operations's name
If you have an attribute or relation named foo by default the getter and setter operations are named get_foo and set_foo.
If you want to have getFoo, edit the operation, go in the target language tab and replace get_${name} by get${Name}, idem for the setter.
If you want to have get_FOO, edit the operation, go in the target language tab and replace get_${name} by get_${NAME}, idem for the setter.
Problem with Xft and very large font
At least in the pkgsrc system, QT3 has been configured to depend on Xft2.
When QT3 opens a font, the font size is wrong, and the message couldn't open fontconfigs chosen font with Xft is written on the console. To solve this problem you must compile QT3 with the option -no-xft.
How to have object with different states in an activity diagram ?
In fact, when you add an activity object you add a use of this object, this is why editing the object you have access to its state.
So, to show the same objet with different states in an activity diagram you have to duplicate the object and to set the state on each use.
Is it possible to export documentation/diagram in PDF/EPS format ?
Not directly. To produce PDF you can use for instance Pdf Creator from an HTML export. To produce EPS the better is to export images in SVG.