Rev | Line | |
---|
[475] | 1 | #include "stdafx.h"
|
---|
| 2 |
|
---|
[24] | 3 | #include "common.h"
|
---|
| 4 |
|
---|
| 5 | CMdiTextEdit::CMdiTextEdit( MDIINFO *pMdiInfo ){
|
---|
| 6 | this->pMdiInfo = pMdiInfo;
|
---|
| 7 |
|
---|
| 8 | isModified = false;
|
---|
| 9 |
|
---|
| 10 | BaseNumOfUndoRedo = 0;
|
---|
| 11 |
|
---|
| 12 | pTextEditUndoState = (TEXTEDIT_UNDOSTATE *)HeapAlloc( hHeap, HEAP_ZERO_MEMORY, sizeof( TEXTEDIT_UNDOSTATE ) );
|
---|
| 13 | pTextEditUndoState->NowPos = 0;
|
---|
| 14 | }
|
---|
| 15 | CMdiTextEdit::~CMdiTextEdit(){
|
---|
| 16 | for( int i=0; i<MAX_UNDONUM; i++ ){
|
---|
| 17 | if( pTextEditUndoState->Command[i] ){
|
---|
| 18 | TextEdit_DeleteUndoData( pTextEditUndoState, i );
|
---|
| 19 | }
|
---|
| 20 | }
|
---|
| 21 | HeapDefaultFree( pTextEditUndoState );
|
---|
| 22 | }
|
---|
| 23 |
|
---|
| 24 | void CMdiTextEdit::Modify(){
|
---|
| 25 | //変更時
|
---|
| 26 | isModified = true;
|
---|
| 27 |
|
---|
| 28 | //タブ文字列に変更を示すアスタリスクを付ける
|
---|
[626] | 29 | pobj_MainTab->NofityModifyDocument( pMdiInfo->title.c_str() );
|
---|
[24] | 30 | }
|
---|
| 31 | void CMdiTextEdit::UnModify(){
|
---|
| 32 | //変更状態解除
|
---|
| 33 | isModified = false;
|
---|
| 34 |
|
---|
| 35 | //アスタリスク表示を解除する
|
---|
[626] | 36 | pobj_MainTab->NofityUnModifyDocument( pMdiInfo->title.c_str() );
|
---|
[24] | 37 |
|
---|
| 38 | //アンドゥーリドゥーのベース番号を取得
|
---|
| 39 | BaseNumOfUndoRedo = pTextEditUndoState->NowPos;
|
---|
| 40 | }
|
---|
| 41 | bool CMdiTextEdit::IsModified(){
|
---|
| 42 | return isModified;
|
---|
| 43 | }
|
---|
| 44 |
|
---|
| 45 | void CMdiTextEdit::NofityUndoRedoToModify(){
|
---|
| 46 | if( BaseNumOfUndoRedo == pTextEditUndoState->NowPos ){
|
---|
| 47 | //変更なし
|
---|
| 48 | if( IsModified() ){
|
---|
| 49 | UnModify();
|
---|
| 50 | }
|
---|
| 51 | }
|
---|
| 52 | else{
|
---|
| 53 | //変更あり
|
---|
| 54 | if( ! IsModified() ){
|
---|
| 55 | Modify();
|
---|
| 56 | }
|
---|
| 57 | }
|
---|
| 58 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.