Example #1
0
void EditHandler::ProcessUpdateUIEvent(wxWindow *owner, wxUpdateUIEvent &event)
{
    LEditor *editor = dynamic_cast<LEditor*>(owner);

    if (event.GetId() == wxID_COPY || event.GetId() == XRCID("trim_trailing") || event.GetId() == XRCID("to_lower") || event.GetId() == XRCID("to_upper")) {
        event.Enable(editor);

    } else if (event.GetId() == wxID_CUT) {
        event.Enable(editor);

    } else if (event.GetId() == wxID_PASTE) {
#ifdef __WXGTK__
        event.Enable(editor);
#else
        event.Enable(editor && editor->CanPaste());
#endif
    } else if (event.GetId() == wxID_UNDO) {
        event.Enable(editor && editor->CanUndo());
    } else if (event.GetId() == wxID_REDO) {
        event.Enable(editor && editor->CanRedo());
    } else if (event.GetId() == wxID_SELECTALL) {
        event.Enable(editor && editor->GetLength() > 0);
    } else if (event.GetId() == wxID_DUPLICATE || event.GetId() == wxID_DELETE) {
        event.Enable(true);
    } else {
        event.Enable(false);
    }
    event.Skip(false);
}