view src/main/java/christie/remoteTextEditor/receiveCommand.java @ 267:1ac366f96815

remake for CommandPattern
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Wed, 29 Jan 2020 18:50:14 +0900
parents de4962913f24
children
line wrap: on
line source

package christie.remoteTextEditor;

import christie.annotation.Peek;
import christie.annotation.Take;
import christie.codegear.CodeGear;
import christie.codegear.CodeGearManager;
import christie.textEditor.NewTextEditor;

public class receiveCommand extends CodeGear {
    @Take
    Command cmd;

    @Peek
    NewTextEditor myEditor;

    @Override
    protected void run(CodeGearManager cgm) {
        if (cmd.isDeleteCommand == false) {
            myEditor.protectToExcessiveInsert();
            myEditor.insertMessage(cmd.fastOffset, cmd.string);
        }else if (cmd.isDeleteCommand == true){
            myEditor.protectToExcessiveInsert();
            System.out.println(cmd.fastOffset + "/" + cmd.endOffset);
            if (cmd.fastOffset > cmd.endOffset) {
                myEditor.delete(cmd.endOffset, cmd.fastOffset);
            } else if(cmd.fastOffset < cmd.endOffset){
                myEditor.delete(cmd.fastOffset ,cmd.endOffset);
            } else if (cmd.fastOffset == cmd.endOffset){
                myEditor.delete(cmd.fastOffset ,cmd.endOffset);
            }
            System.out.println("削除");
        }
        cgm.setup(new receiveCommand());
    }
}