вторник, 7 июля 2020 г.

Cantor - Plots handling improvments

Hello everyone,

this is the third post about the progress in my GSoC project and I want to present new changes in the handling of the external packages in Cantor.
The biggest changes done recently happened for Python. We now properly support integrated plots created with matplotlib.
Cantor intercepts the creation of plots and embedds the result into its worksheet.
This also works if multiple plots are created in one step the order of plots is preserved.
Also, text results between plots are also supported.

Besides matplotlib, we also properly handle Plot.ly - another popular graphing library for Python and R. This package has some requirements
that have to be fulfilled first. The user is notified about these requirements in case they are not fulfilled.

Similar implementation was also done for Julia and Octave, but to a smaller extent.
Though many preparational changes were done in the code for this, the only visible result for the user
are at the moment the new messages about unfulfited requirements of graphing packages.
Especially for Julia this is imprortannt now since for graphing the package GR was hard-coded in the past and there was no notification to the user
if this package was not installed and it was not immediately clear to the user why the creation of plots fails.
With this improvements Cantor is doing the next steps to become more user friendly.

There is another important change - the settings for graphing packages become dynamic.
The user can now change them on the fly without having to restart the session.


Also, the plot menu was extended. Julia and Python now can produce code for multiple packages - the prefered package can be choosen in settings.


In the next post I plan to show how the usability of Cantor panels is going to be improved.

суббота, 20 июня 2020 г.

Cantor - Zoom widget and tooltips

Hello everyone,

this is the second post about the progress in my GSoC project and I want to present the new zoom widget feature and some useful tooltip changes.

As the name says, the zoom widget feature brings a zoom widget in Cantor. This widget is more useful than the previous workflow with "increase/decrease zoom" actions for them, if you for example want to directly zoom to 200%:


It also important to notice that there are people who don't zoom often and dislike one more wide widget in main toolbar. As usual in KDE applications, they can just hide the widget via the toolbar settings dialog:



The second mentioned change is simple, but quite useful. As you can see in the following screenshot, the description text exposed to the user in Cantor's settings dialog is a balance between "short and useless text" and "detailed explanation which don't fit into the settings window". This was the situation before. Now, the detailed explanation pops up as a tooltip and the main setting text is a short text, which better fits into the dialog:



In the next post I plan to show another important and somewhat bigger feature which about handling of external graphical packages inside of Cantor.

понедельник, 8 июня 2020 г.

Cantor new features

Hello everyone,

this is the first post about the progress in my GSoC project and I want to present three new features in Cantor implemented recently.

The first feature is about new additional actions for Command Entries which can be applied worksheet-wide:


The second feature is simple, but quite usefull. It's about having the possibility to exclude certaint entries from the execution. This is usefull for example, if you want to test performance of the code with different realization of certain part of it - you simply activate/deactivate quickly worksheet entries and process the worksheet again.

The third feature is a new type of Entries - Horizontal Line Entry. As the name says, this is a cusstomizable horizontal line that helps to structure and to visualy separate different parts of worksheet.
And this is an example how such a line looks in a real document.

In the next post I plan to show a zoom widget and some new tooltips examples.

вторник, 2 июня 2020 г.

Cantor during GSoC 2020

  Hello everyone! I'm participating in Google Summer of Code 2020, I am working on KDE Cantor project. The GSoC project is mentored by Alexander Semke - one of the core developers of LabPlot and Cantor. At first, let me introduce you into Cantor and into my GSoC-project:

    Cantor is a KDE application providing a graphical interface to different open-source computer algebra systems and programming languages, like Octave, Maxima, Julia, Python etc. The main idea of this application is to provide one single, common and user-friendly interface for different systems instead of providing different GUIs for different systems. The details specific to the different languages are transparent to the end-user and are handled internally in the language specific parts of Cantor’s code.

    Though the code base of Cantor is already in quite good shape, there is still room for improvements with respect to the missing features, user experience and functional issues.

    Given the existence of similar open-source applications like wxMaxima, Jupyter, Octave GUI but also commercial like Mathematica, it is important to address all issues and to add missing features to become competitive with other applications or even be ahead of them.

    The idea of this project is not to implement one single and big "killer feature" but to address several smaller and bigger open and outstanding topics in Cantor.


  So, as you can see, the idea behind the project is an idea of "smothing the corners". The project also splitted into two section: feature section and bugfix section. And first, I will work on features.

  Since this project consists of many not so big development topics that I plan to finalize in timely manner, I hope to frequently post about the current progress and show you a lot of new cool stuf being added to Cantor in the next three months.

Cantor - Plots handling improvments

Hello everyone, this is the third post about the progress in my GSoC project and I want to present new changes in the handling of the ext...