IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
Removed a print statement from application.py
Change the logging format in logger.py. Instead of showing the asctime in
the message, we now show the logger name. This isn't a web server so the
time really isn't that relevant.
The Logger constructor now has a name parameter which defaults to GAPHOR and
is displayed in the log messages. This way new loggers that are created
can have a name and the messages carry more meaning.
The logger class has a new static attribute - level. This can be set to
apply the logging level globally, for any Logger instances. For now, this
doesn't have an effect since Logger is a singleton. However, this is likely
to change.
initialization.
The major change is that Application now has an option parser for access
to command line options. This means that plugins and services can add command
line options to the parser and have access to their values. This is done
by creating the parser object inside main() and passing it to the application.
The application will then initialize all services before actually parsing
the options. This gives them a chance to add their own.
The imports in __init__.py have also been re-arranged. Logging is now set
when the application is initialized.
The launch() function in __init__.py has been simplified. Instead of passing
a Gaphor file argument, launch() will now ask the Application instance if
there is a Gaphor model to load.
The main() function in __init__.py is also much smaller and simpler now
due to the above changes.
_create_generalization() method was trying to use an adapter to
connect the generalization item to the super class and child class
items. This was expecting a port parameter.
However, this didn't fix the problem entirely because the generalization
items were not connected in the diagram. I changed _create_generalization()
to use a connect() method instead. This method is taken from the unit tests.
This seems to mostly resolve the issue.
to read a buffer from the input and feed to to the output while yielding
the progress percentage.
It is just an experiment because it is intended to be generic enough to work
with several input and output types. Currently, it needs an open file
object as input and a SAX parser as output.
This class takes a number of parameters that alter the way it is displayed
or behaves.
The selection property returns the file selection. Accessing this property
is what displays the dialog, tests the response, and returns the file
selection if any.
The file manager service uses this new class for displaying dialogs.
Gaphor application instance if the element has been bound to a factory.
If the application instance exists, we can use its component methods
instead of calling zope.component directly.
Also removed some manual garbage collection and assertions as they seemed
to serve no real purpose.
The ElementFactory.lselect() method is used for element retrieval instead
of wrapping select() in a list instance or accessing _elements directly.
The Gaphor application instance, if supplied, will handle the
ElementDeleteEvent instead of calling the _element_deleted component
adapter directly.
has changed from _save() to save().
The save() method verifies orphan references in the model before saving.
This functionality has been moved to its own method, verify_orphans().
The filename validation, which makes sure the filename has a valid
extension, has also been moved to a separate method - verify_filename().
The save() method has also been cleaned up. If there is no supplied filename,
the method fails immediately. It is no longer wrapped in a large if
statement. The try/finally statement has also been removed.
documentation and using better variable names. The initialization
also uses the MAX_RECENT constant.
Fixed the get_filename() method used by the filename property. It
wasn't actually returning anything.
Added some documentation to the set_filename() method.