[kde-edu]: Review Request: Add variable management panel

Aleix Pol aleixpol at kde.org
Wed Sep 15 02:39:28 CEST 2010


I guess the patch is fine, I don't really understand why don't you just let
the backend to provide a model with the variables values and so on.
You can assert some runtime restrictions to it, if you feel it's necessary
but I think it would be less code in both sides to implement and a more
flexible way. (it's how it's implemented in KAlgebra at least).

Cheers!
Aleix

On Wed, Sep 15, 2010 at 1:28 AM, Alexander Rieder <alexanderrieder at gmail.com
> wrote:

>    This is an automatically generated e-mail. To reply, visit:
> http://svn.reviewboard.kde.org/r/5354/
>   Review request for KDE-Edu.
> By Alexander Rieder.
> Description
>
> Implement basics for a VariableManager panel.
> This change is rather big, as it involves some completely new plugin interfaces to make it as easy as possible to add similar things later.
> This patch only contains a simple GUI and a dummy implementation in the NullBackend. (to test it start cantor with --backend=nullbackend), and of course the new interfaces.
> First it introduces Extensions for the Session (so far they were only for the Backend) to allow optional hooks into the workings inside the session.
> Also it introduces so called PanelPlugins, these are plugins that create widgets that are shown in the side panel depending on the exported extensions by the session.
> The current HelpPanel is turned into such a panel, and the new VariableManager is one too.
> On the backend side, one only has to implement the VariableManagerExtension, and emit the signals appropriately/implement the functions there.
> I would really like some feedback on this API (for both VariableManagerExtension and PanelPlugin side), please have a look, and possibly suggest better namings than PanelPlugin or SessionExtension
>
>   Testing
>
> This is mostly a preview for the new APIs, but all the functionality should work as it used to (I didn't notice any regressions).
> The variable management works for the dummy implementation in the NullBackend
>
>   Diffs
>
>    - /trunk/KDE/kdeedu/cantor/src/CMakeLists.txt (1174987)
>    - /trunk/KDE/kdeedu/cantor/src/backends/null/CMakeLists.txt (1174987)
>    - /trunk/KDE/kdeedu/cantor/src/backends/null/nullsession.h (1174987)
>    - /trunk/KDE/kdeedu/cantor/src/backends/null/nullsession.cpp (1174987)
>    - /trunk/KDE/kdeedu/cantor/src/backends/null/nullvariablemgrextension.h
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/backends/null/nullvariablemgrextension.cpp
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/cantor.h (1174987)
>    - /trunk/KDE/kdeedu/cantor/src/cantor.cpp (1174987)
>    - /trunk/KDE/kdeedu/cantor/src/cantor_part.h (1174987)
>    - /trunk/KDE/kdeedu/cantor/src/cantor_part.cpp (1174987)
>    - /trunk/KDE/kdeedu/cantor/src/lib/CMakeLists.txt (1174987)
>    - /trunk/KDE/kdeedu/cantor/src/lib/backend.cpp (1174987)
>    - /trunk/KDE/kdeedu/cantor/src/lib/cantor_panelplugin.desktop
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/lib/extensions/variablemgrextension.h
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/lib/extensions/variablemgrextension.cpp
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/lib/panelplugin.h (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/lib/panelplugin.cpp (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/lib/panelpluginhandler.h (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/lib/panelpluginhandler.cpp
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/lib/session.h (1174987)
>    - /trunk/KDE/kdeedu/cantor/src/lib/session.cpp (1174987)
>    - /trunk/KDE/kdeedu/cantor/src/lib/sessionextension.h (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/lib/sessionextension.cpp (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/panelplugins/CMakeLists.txt
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/panelplugins/helppanel/CMakeLists.txt
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/panelplugins/helppanel/helppanelplugin.cpp
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/panelplugins/helppanel/helppanelplugin.desktop
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/panelplugins/helppanel/helppanelplugin.h
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/panelplugins/variablemgr/CMakeLists.txt
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/panelplugins/variablemgr/variablemanagerplugin.h
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/panelplugins/variablemgr/variablemanagerplugin.cpp
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/panelplugins/variablemgr/variablemanagerplugin.desktop
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/panelplugins/variablemgr/variablemanagerwidget.h
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/panelplugins/variablemgr/variablemanagerwidget.cpp
>    (PRE-CREATION)
>    - /trunk/KDE/kdeedu/cantor/src/worksheet.cpp (1174987)
>
> View Diff <http://svn.reviewboard.kde.org/r/5354/diff/>
> Screenshots
> [image: The Variable Manager plugin]<http://svn.reviewboard.kde.org/r/5354/s/503/>
>
> _______________________________________________
> kde-edu mailing list
> kde-edu at mail.kde.org
> https://mail.kde.org/mailman/listinfo/kde-edu
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kde-edu/attachments/20100915/046f4576/attachment-0001.htm 


More information about the kde-edu mailing list