Hi,
I'm trying to write an editor plug-in.
I have overloaded EditorBase and implemented the functions GetModified(), SetModified() and Save().
If I close an modified file, Save() is called correctly.
If I modify the file, the save-icon and the menu entry get enabled correctly.
But if I click on the icon, the menu entry or press Ctrl+S, Save() is not called.
I have found the reason for that: its EditorManager::SaveActive():
bool EditorManager::SaveActive()
{
SANITY_CHECK(false);
cbEditor* ed = GetBuiltinEditor(GetActiveEditor());
if (ed)
return ed->Save();
return true;
}
Why do you call GetBuiltinEditor() here?
It's completely unnecessary here, because Save() is an virtual function of EditorBase.
if you change the function to:
bool EditorManager::SaveActive()
{
SANITY_CHECK(false);
EditorBase* ed = GetActiveEditor();
if (ed)
return ed->Save();
return true;
}
saving should also work for custom editors.
The same is with EditorManager::SaveAll().
I generally think you should redesign EditorBase, so that you don't have to make an distinction between buldin and custom editors.
I you do this, you can move cbEditor to an plug-in, which will make the source much cleaner. But thats something for >1.0.
It seems that someone (Rick?) who moved enough cbEditor functions to EditorBase, forgot to update the editormanager's functions.
Thanks for spotting this.
^^; oopsie... please put that in bug reports (with priority 1) so i remember to implement it after RC2 is released.
I corrected the Save() functions but still more functions should be moved to EditorBase (like SaveAs()). We 'll settle this after RC2 is released.
Hi
Is someone working on this? (SaveAs() is not in editorBase)
Hi
See patch ID 002606. It moves the SaveAs to EditorBase and adds SelectAll to EditorBase/cbEditor.
Both changes need additional changes in editormanager and SelectAll needs changes in main.
All these changes are quite small, so please take a look at it.
I work on a editor plugin (two-way structogram tool, see attachment for first screenshot) and needed this interface.
I think HexEditor will also benefit of this changes (at least the SaveAs method).
Regards Daniel
[attachment deleted by admin]
Quote from: danselmi on December 05, 2008, 03:19:37 PM
I work on a editor plugin (two-way structogram tool, see attachment for first screenshot) and needed this interface.
Wow! Now *that* looks great. :P Nice work! :D