当前位置: 首页>>代码示例>>C++>>正文


C++ OptionsConfigPtr::GetCopyLineEmptySelection方法代码示例

本文整理汇总了C++中OptionsConfigPtr::GetCopyLineEmptySelection方法的典型用法代码示例。如果您正苦于以下问题:C++ OptionsConfigPtr::GetCopyLineEmptySelection方法的具体用法?C++ OptionsConfigPtr::GetCopyLineEmptySelection怎么用?C++ OptionsConfigPtr::GetCopyLineEmptySelection使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在OptionsConfigPtr的用法示例。


在下文中一共展示了OptionsConfigPtr::GetCopyLineEmptySelection方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: ProcessCommandEvent

//------------------------------------
// Handle copy events
//------------------------------------
void EditHandler::ProcessCommandEvent(wxWindow* owner, wxCommandEvent& event)
{
    wxUnusedVar(event);
    clEditor* editor = (clEditor*)owner;

    OptionsConfigPtr options = editor->GetOptions();
    switch(event.GetId()) {
    case wxID_ZOOM_IN:
        editor->ZoomIn();
        return;
    case wxID_ZOOM_OUT:
        editor->ZoomOut();
        return;
    case wxID_ZOOM_FIT:
        editor->SetZoom(0);
        return;
    case wxID_COPY:
        if(options->GetCopyLineEmptySelection()) {
            editor->CopyAllowLine();
        } else {
            editor->Copy();
        }
        return;
    case wxID_CUT:
        editor->Cut();
        return;
    case wxID_PASTE:
        editor->Paste();
        return;
    case wxID_SELECTALL:
        editor->SelectAll();
        return;
    case wxID_DUPLICATE:
        editor->SelectionDuplicate();
        return;
    case wxID_DELETE:
        editor->DeleteBack();
        return;
    default:
        break;
    }

    if(event.GetId() == wxID_UNDO) {
        if(editor->GetCommandsProcessor().CanUndo()) {
            editor->Undo();
            editor->GetCommandsProcessor().CloseSciUndoAction();
            editor->GetCommandsProcessor().DecrementCurrentCommand();
        }

    } else if(event.GetId() == wxID_REDO) {
        if(editor->GetCommandsProcessor().CanRedo()) {
            editor->Redo();
            editor->GetCommandsProcessor().CloseSciUndoAction(); // Is this necessary? At least it does no harm
            editor->GetCommandsProcessor().IncrementCurrentCommand();
        }

    } else if(event.GetId() == XRCID("label_current_state")) {
        wxString label =
            wxGetTextFromUser("What would you like to call the current state?", "Label current state", "", editor);
        if(!label.empty()) { editor->GetCommandsProcessor().SetUserLabel(label); }

    } else if(event.GetId() == XRCID("delete_line_end")) {
        editor->DelLineRight();

    } else if(event.GetId() == XRCID("delete_line_start")) {
        editor->DelLineLeft();

    } else if(event.GetId() == XRCID("delete_line")) {
        editor->LineDelete();

    } else if(event.GetId() == XRCID("copy_line")) {
        editor->LineCopy();

    } else if(event.GetId() == XRCID("cut_line")) {
        editor->LineCut();

    } else if(event.GetId() == XRCID("trim_trailing")) {
        editor->TrimText(true, false);

    } else if(event.GetId() == XRCID("to_lower")) {
        editor->ChangeCase(true);

    } else if(event.GetId() == XRCID("to_upper")) {
        editor->ChangeCase(false);

    } else if(event.GetId() == XRCID("transpose_lines")) {
        editor->LineTranspose();

    } else if(event.GetId() == XRCID("move_line_down")) {

        int curline = editor->GetCurrentLine();
        int lastline = editor->LineFromPosition(editor->GetLength() - 1);

        if(editor->GetSelection().empty() ||
           (editor->LineFromPos(editor->GetSelectionStart() == editor->LineFromPos(editor->GetSelectionEnd())))) {
            // No selection (or only a trivial 1-line one)
            if(curline != lastline) {
//.........这里部分代码省略.........
开发者ID:eranif,项目名称:codelite,代码行数:101,代码来源:menu_event_handlers.cpp


注:本文中的OptionsConfigPtr::GetCopyLineEmptySelection方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。