You can do anything in a plugin that you can do in calibre itself. There is no separation between calibre code and plugin code. On the flip side of that, there are no well defined interfaces either. The only well defined interface is that plugins export an action, which becomes a button in the toolbars and/or context menu.
You can in theory do anything you want to the calibre interface in a plugin. Add panels to the main UI, completely replace the main UI with your own, etc. But you are then dependent on all the internal/undocumented/unstable guts of calibre.
|