package controller;

import javafx.beans.binding.Bindings;
import javafx.beans.property.DoubleProperty;
import javafx.beans.property.ObjectProperty;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.ListView;
import javafx.scene.control.TextArea;
import javafx.scene.layout.AnchorPane;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import model.FileManager;
import model.FileModel;

import java.io.File;
import java.util.ArrayList;

/**
 * Created by SH on 2016-05-11.
 */
public class EditorSceneController {

    @FXML private TextArea textArea;
    @FXML private Button btnFileOpen;

    @FXML
    private void initialize(){

        // ListView와 TextArea의 스크롤을 동기화시킨다.
        DoubleProperty textAreaScrollTo = textArea.scrollTopProperty();

    }

    @FXML // 불러오기 버튼을 클릭했을 때의 동작
    private void onTBBtnLoadClicked(ActionEvent event) {
        //File chooser code
        try {
            Stage s = (Stage) btnFileOpen.getScene().getWindow();

            FileChooser fileChooser = new FileChooser();
            fileChooser.setTitle("Open Resource File");
            fileChooser.getExtensionFilters().addAll(
                    new FileChooser.ExtensionFilter("Text Files", "*.txt"),
                    new FileChooser.ExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif"),
                    new FileChooser.ExtensionFilter("Audio Files", "*.wav", "*.mp3", "*.aac"),
                    new FileChooser.ExtensionFilter("All Files", "*.*"));

            File selectedFile = fileChooser.showOpenDialog(s);

            //Show text in Edit panel
            //TODO 불러오기 버튼이 속한 에딧패널이 좌측인지 우측인지 인지가능한 코드가 필요.
            FileManager.getFileManager().GetFileModelL().readFile(selectedFile.getPath());

            ArrayList<String> strings = FileManager.getFileManager().GetFileModelL().getStringArrayList();

            for (String temp : strings) textArea.appendText(temp);
        }
        catch(Exception e) {

        }
    }

    @FXML // 저장 버튼을 클릭했을 때의 동작
    private void onTBBtnSaveClicked(ActionEvent event) {

    }

    @FXML // 수정 버튼을 클릭했을 때의 동작
    private void onTBBtnEditClicked(ActionEvent event) {

    }

}

@@ -2202,26 +2202,346 @@
 nEvent event) %7B%0A
+        if(!textArea.isEditable()) %7B    // edit %EB%AA%A8%EB%93%9C%EB%A1%9C %EC%A7%84%EC%9E%85%0A            textArea.setEditable(true);%0A            //TODO STATUS %EA%B0%B1%EC%8B%A0%0A            //TODO %EB%B2%84%ED%8A%BC %EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94%0A        %7D%0A        else %7B                          // edit %EB%AA%A8%EB%93%9C %ED%83%88%EC%B6%9C%0A            textArea.setEditable(false);%0A            //TODO STATUS %EA%B0%B1%EC%8B%A0%0A            //TODO %EB%B2%84%ED%8A%BC %ED%99%9C%EC%84%B1%ED%99%94%0A        %7D
 %0A    %7D%0A%0A%7D%0A

edit button updating..