Adding new signals(extension for plugins)
Many people need some data, when user works with text, but they can't get it when create new plugin - they must run into core code, get some info and make some nessesary changes for new plugin.
I have a proposal for it: we will add some events and listnen them(this is a list with nessesary events).
|Event name||Place for inserting||Event's data|
|CopyEvent||Place of copying, data in buffer|
|CutEvent||Place of cutting, data in buffer|
|InsertEvent||Place of inserting, data in buffer|
|Creating new paragraph by "Enter"||Place of creating new paragraph|
|Deleting||Place of deleting, deleting data|
|SortingEvent||Sorting data before, sorting data after|
|NumberingEvent/MarkingEvent||Data for numbering(may be also before and after)|
|Undo/Redo||(If these actions calls events higher - we don't need it)||Action, place of action, data for action|
|Moving text by mouse||Text, position from, position to|
Then we simply create listner for these events and use it with our aims.
"+" of this solution
- Plugins' creators can use these events without changing core code and knowing about it - it decrease plugin and core coherence and increase core code reliability
- It increases opportunities of plugins - it makes creating new plugin more simple
"-" of this solution
- These events must be added at properly places in core code(as it wrote in table)