Skip to content
This repository has been archived by the owner on Jul 8, 2020. It is now read-only.

[help]Fix #109 #114

Open
wants to merge 10 commits into
base: develop
Choose a base branch
from
Open

[help]Fix #109 #114

wants to merge 10 commits into from

Conversation

shundroid
Copy link
Member

@shundroid shundroid commented Jun 19, 2016

#113 より、マージ先のブランチをdevelop に変更しました。

概要

新しくtest関数を作り、その中でidling状態のときをsubscribeして履歴を追加する変数と設計を作りました。
一応できましたが、 #109の内容はhistory classを作るということなので変更と合っていません。
そこでヘルプを貰いたいです。

詳細

まず、

  • 保存機能を実現する実態はどこに作るのか?

もし、framecontrollerと分けるならその理由。同じにするならどうやってhistoryclassから呼び出すか?

  • 具体的なhistory classの内容
  • そのclassはどこで使われる予定なのか?

等々の指示がもらえるとありがたいです。
結構デカいプロジェクトで、どこがどうつながっているのか把握するのに手間取りました・・・(特にframescontroller.framesがどんな感じで更新されていくかとか・・・)

お願いします。


This change is Reviewable

@shundroid
Copy link
Member Author

@lv7777 さん、こんにちは。
PRありがとうございます。

保存機能を実現する実態はどこに作るのか?

これについて、実装していただく部分のことですが、

History クラスの実装だけであれば、保存機能は実装しなくても大丈夫です。
保存機能の実装は、 #97 でわけています。

もし保存機能を実現するのであれば、保存先なども考える必要があることから、
Save クラスみたいに別クラスに分ける感じ、と考えています。

もし、framecontrollerと分けるならその理由。

framesControllerと保存機能を分けるのは、
もし分けないと、framesController は、「フレームを管理する」という役割なのに、
保存先や、保存の処理を含むと、役割がぶれてしまうからです。

History クラスとframesControllerを分けるのは・・
あれっ?わけないでもいいかも・・!       です。

当初、分けようとしていたのは、Historyクラスで現在の状態も管理しようと思っていましたが、
現在の状態はframesController.frames(Frameクラスのインスタンス) で管理しているため、
それに履歴の管理も足すのがコストも低いし、わかりやすいかも、と思いました。

具体的には、Frame クラスで、現在はthis.imageDataを保持していますが、
これを配列にし、過去のimageDataも保持するようにする形がいいかもです。

具体的なhistory classの内容
そのclassはどこで使われる予定なのか?

これは上で書いた、Frame クラスで履歴を管理するようにすればなくなるかと思います。

とりあえずはFrame クラスで、履歴を管理するようにしていただきたいです。
せっかく History クラスを作っていただいたのにすみません。
よろしくお願いします。

@lv7777
Copy link

lv7777 commented Jun 19, 2016

なるほど。了解しました。
履歴の意味についてですが @shundroid さんが言っているのはユーザーが保存ボタンかなんかを押したときに履歴を取ってundoしたりredoしたいということですよね?

自分は最初というかこのプルリクはdrawStateでidling状態の時に自動で画面の状態を保存するという変更にしてしまったので。

@shundroid
Copy link
Member Author

shundroid commented Jun 20, 2016

@lv7777 さん

履歴の意味についてですが @shundroid さんが言っているのはユーザーが保存ボタンかなんかを押したときに履歴を取ってundoしたりredoしたいということですよね?

いえ、操作の履歴なので、仰る通りdrawStateがidlingになったときに自動で画面の状態を保存するという変更で大丈夫です。

保存というのは、メモ帳などでファイルに保存する、みたいな「保存」です。
ですので、それは別で localStorageなどの保存できるものにファイル(パラパラ全体として)を
保存するようなものをイメージしています。

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants