/*-----------------------------------------------------------------------------
[名称]	MainFrmUI.cpp
[概要]	UI更新ハンドラの実装
[備考]	CMainFrame のUI更新ハンドル関数のみを抜き出してある。
[履歴]	2003-02-27	NC		コメント付加(moralog)
		2003-10-27	b031031 (3179)フリーカーソルON/OFFボタン追加(dincom)
		2003-11-08	b031130 (3146)タグジャンプ機能追加(moralog)
		2003-12-20	b031228 (3146)検索ツールバー分割(moralog)
-----------------------------------------------------------------------------*/


//-----------------------------------------------------------------------------
// インクルード
//-----------------------------------------------------------------------------
#include "stdafx.h"
#include "Shitarabian.h"
#include "MainFrm.h"
#include "Selection.h"
#include "FinderDlg.h"
#include "ReplacerDlg.h"
#include "ShitarabianView.h"
#include "BlankDlg.h"
#include "FlipDlg.h"
#include "Reverse.h"
#include "Common.h"
#include "ExeCommon.h"
#include "CharPaletteDlg.h"
#include "CommandMultiEdit.h"
#include "TokenReader.h"
#include "ShitarabianPlugInManager.h"
#include "ShitarabianPlugIn.h"
#include "PlugInDlg.h"
#include "ManagedCombo.h"
#include "DocumentIF.h"
#include "MacroExecute.h"
#include "ToolBarManager.h"
#include "ShitarabianDoc.h"
#include "CommandManager.h"
#include "EditDrawer.h"
#include "LinkDefine.h"
#include "GeneralSetting.h"
// ▼ (3179) BGN 2003.11.08 (moralog) ツールバーからの切り替え機能追加
#include "Unicoder.h"
// ▲ (3179) END


/*-----------------------------------------------------------------------------
[名称]	「取り消し」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditUndo(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
	case OperationBoxSelect:
		{
			CCommandManager*	pCmd = CCommandManager::GetInstance();
			pCmdUI->Enable( pCmd->CanUnDo() );
		}
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「やり直し」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditRedo(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
	case OperationBoxSelect:
		{
			CCommandManager*	pCmd = CCommandManager::GetInstance();
			pCmdUI->Enable( pCmd->CanReDo() );
		}
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「拡大」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateViewZoomin(CCmdUI* pCmdUI) 
{
	CEditDrawer*	pDraw = CEditDrawer::GetInstance();
	int		iZoom = pDraw->GetZoom();
	pCmdUI->Enable( iZoom < 16 );
}


/*-----------------------------------------------------------------------------
[名称]	「縮小」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateViewZoomout(CCmdUI* pCmdUI) 
{
	CEditDrawer*	pDraw = CEditDrawer::GetInstance();
	int		iZoom = pDraw->GetZoom();
	pCmdUI->Enable( iZoom > 1 );
}


/*-----------------------------------------------------------------------------
[名称]	「印刷」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateFilePrint(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;
	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「印刷プレビュー」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateFilePrintPreview(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;
	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「印刷設定」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateFilePrintSetup(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;
	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「選択モードトグル」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditModeselect(CCmdUI* pCmdUI) 
{
	CShitarabianDoc* pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationBoxSelect:
	case OperationFloating:
		pCmdUI->SetCheck( 1 );
		break;

	case OperationNormal:
	default:
		pCmdUI->SetCheck( 0 );
		break;
	}
	switch( pDoc->GetOperationMode() )
	{
	case OperationBoxSelect:
	case OperationFloating:
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「マークのトグル」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditMark(CCmdUI* pCmdUI) 
{
	CShitarabianDoc* pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「後のマーク行へ」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditNextmark(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		{
			long	nMark = pDoc->GetMarkCount();
			pCmdUI->Enable( nMark>0 );
		}
		break;
	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「後を検索」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditFindnext(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		{
			CString		strSubString;
			m_wndSubStringCombo.GetWindowText( strSubString );
			pCmdUI->Enable( !strSubString.IsEmpty() );
		}
		break;
	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「前を検索」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditFindprev(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		{
			CString		strSubString;
			m_wndSubStringCombo.GetWindowText( strSubString );
			pCmdUI->Enable( !strSubString.IsEmpty() );
		}
		break;
	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「検索コンボボックス」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateComboSubstring(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		{
			BOOL bEnable = !m_dlgReplacer.IsWindowVisible() &&
							!m_dlgFinder.IsWindowVisible();
			pCmdUI->Enable( bEnable );
		}
		break;
	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「切り取り」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditCut(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
	case OperationBoxSelect:
		{
			pCmdUI->Enable( pDoc->GetSelection()->IsSelected() );
		}
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「コピー」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditCopy(CCmdUI* pCmdUI) 
{
	CShitarabianDoc* pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
	case OperationBoxSelect:
	case OperationFloating:
		{
			pCmdUI->Enable( pDoc->GetSelection()->IsSelected() );

			// please! ついでに検索ダイアログの見た目制御もする
			m_dlgFinder.VisibleControl();
			m_dlgReplacer.VisibleControl();
		}
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「貼り付け」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditPaste(CCmdUI* pCmdUI) 
{
	CShitarabianDoc* pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
	case OperationBoxSelect:
	case OperationFloating:
		{
			OpenClipboard();

			/* クリップボードから文字列のメモリオブジェクト取得 */
			HGLOBAL		hMem;
			hMem = GetClipboardData( CF_TEXT );
			pCmdUI->Enable( hMem != NULL );

			/* メモリオブジェクトをアンロック */
			if ( hMem != NULL )
			{
				GlobalUnlock(hMem);
			}
			CloseClipboard();
		}
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「引用符付き貼り付け」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditQuotepaste(CCmdUI* pCmdUI) 
{
	CShitarabianDoc* pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		{
			OpenClipboard();

			/* クリップボードから文字列のメモリオブジェクト取得 */
			HGLOBAL		hMem;
			hMem = GetClipboardData( CF_TEXT );
			pCmdUI->Enable( hMem != NULL );

			/* メモリオブジェクトをアンロック */
			if ( hMem != NULL )
			{
				GlobalUnlock(hMem);
			}
			CloseClipboard();
		}
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}

/*-----------------------------------------------------------------------------
[名称]	「クリップボード履歴」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditClipHistory(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable( TRUE );
}


/*-----------------------------------------------------------------------------
[名称]	「左右反転」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditMirror(CCmdUI* pCmdUI) 
{
	CShitarabianDoc* pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
	case OperationBoxSelect:
	case OperationFloating:
		{
			pCmdUI->Enable( pDoc->GetSelection()->IsSelected() );
		}
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「上下反転」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditFlip(CCmdUI* pCmdUI) 
{
	CShitarabianDoc* pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
	case OperationBoxSelect:
	case OperationFloating:
		{
			pCmdUI->Enable( pDoc->GetSelection()->IsSelected() );
		}
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「選択行右端空白除去」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditRemovelastblank(CCmdUI* pCmdUI)
{
	CShitarabianDoc* pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		{
			pCmdUI->Enable( pDoc->GetSelection()->IsSelected() );
		}
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「すべてを選択」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditAllselect(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「選択語彙検索」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditQuickfind(CCmdUI* pCmdUI) 
{
	CShitarabianDoc* pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		{
			pCmdUI->Enable( pDoc->GetSelection()->IsSelected() );
		}
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「置換」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditReplace(CCmdUI* pCmdUI) 
{
	CShitarabianDoc* pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「検索」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditFind(CCmdUI* pCmdUI) 
{
	CShitarabianDoc* pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「左へ１ドット移動」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditShiftleft(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	CSelection*			pSelection = pDoc->GetSelection();

	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( !pSelection->IsSelected() );
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「右へ１ドット移動」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditShiftright(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	CSelection*			pSelection = pDoc->GetSelection();

	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( !pSelection->IsSelected() );
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}

/*-----------------------------------------------------------------------------
[名称]	「後ろの更新行へ」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateFindNextmodify(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();

	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( pDoc->IsModified() );
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「前の更新行へ」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateFindPrevmodify(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();

	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( pDoc->IsModified() );
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「左寄せ」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditLeft(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「センタリング」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditMid(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「右よせ」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditRight(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;

	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「検索ツールバー表示」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateViewFindtoolbar(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck( m_wndFindBar.IsWindowVisible() );
}

// ▼ (3146) BGN 2003.12.20 (moralog) 検索ツールバー分割
/*-----------------------------------------------------------------------------
[名称]	「拡張検索ツールバー表示」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateViewExtfindtoolbar(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck( m_wndExtFindBar.IsWindowVisible() );
}
// ▲ (3146) END

/*-----------------------------------------------------------------------------
[名称]	「編集ツールバー表示」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateViewEdittoolbar(CCmdUI* pCmdUI)
{
	pCmdUI->SetCheck( m_wndEditBar.IsWindowVisible() );	
}


/*-----------------------------------------------------------------------------
[名称]	「（リンク先）を開く」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateLink(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		{
			TLinkTarget*	pLink = CLinkDefine::GetInstance()->TargetLink();
			pCmdUI->Enable( pLink->bEnable );
		}
		break;
	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「（文字列）を選択」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateMagicSelect(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		{
			TLinkTarget*	pLink = CLinkDefine::GetInstance()->TargetLink();
			pCmdUI->Enable( pLink->bEnable );
		}
		break;
	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「（文字列）をコピー」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateMagicCopy(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		{
			TLinkTarget*	pLink = CLinkDefine::GetInstance()->TargetLink();
			pCmdUI->Enable( pLink->bEnable );
		}
		break;
	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}


/*-----------------------------------------------------------------------------
[名称]	「いきなり検索」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	なし
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditFindmagicrod(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;
	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}

// ▼ (3179) BGN 2003.10.28 (dincom) ツールバーからの切り替え機能追加
/*-----------------------------------------------------------------------------
[名称]	「フリーカーソル」（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	(3179) 2003-10-27	 関数付加(dincom)
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditFreecursol(CCmdUI* pCmdUI) 
{
	BOOL bFreeCursor = CGeneralSetting::GetInstance()->GetFreeCursor(); //フリーカソルかの判断

	if( bFreeCursor )
	{
		pCmdUI->SetCheck( 1 );  //フリーカソルOFF
	}
	else
	{
		pCmdUI->SetCheck( 0 );  //フリーカソルON
	}
}
// ▲ (3179) END

// ▼ (3179) BGN 2003.10.28 (dincom) ツールバーからの切り替え機能追加
/*-----------------------------------------------------------------------------
[名称]	上下反転文字 （UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	(3179) 2003-10-28	 関数付加(dincom)
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditFlipchar(CCmdUI* pCmdUI) 
{
	CFliperDefine* pFliper = CGeneralSetting::GetInstance()->GetFlipz();

	//上下反転文字有効判定
	if( pFliper->GetEnable() )
	{
		pCmdUI->SetCheck( 1 );
	}
	else
	{
		pCmdUI->SetCheck( 0 );
	}
	
}
// ▲ (3179) END

// ▼ (3179) BGN 2003.10.28 (dincom) ツールバーからの切り替え機能追加
/*-----------------------------------------------------------------------------
[名称]	左右反転文字 （UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	(3179) 2003-10-28	 関数付加(dincom)
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditMirrorchar(CCmdUI* pCmdUI) 
{
	CFliperDefine* pFliper = CGeneralSetting::GetInstance()->GetMirrorz();

	//左右反転文字有効判定
	if( pFliper->GetEnable() )
	{
		pCmdUI->SetCheck( 1 );
	}
	else
	{
		pCmdUI->SetCheck( 0 );
	}
	
}
// ▲ (3179) END

// ▼ (3179) BGN 2003.10.28 (dincom) ツールバーからの切り替え機能追加
/*-----------------------------------------------------------------------------
[名称]	BOX表示　（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	(3179) 2003-10-28	 関数付加(dincom)
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditBoxchar(CCmdUI* pCmdUI) 
{
	CBoxCharDefine* pBoxChar = CGeneralSetting::GetInstance()->GetBoxCharDefine();

	//BOX表示有効判定
	if( pBoxChar->GetEnable() )
	{
		pCmdUI->SetCheck( 1 );
	}
	else
	{
		pCmdUI->SetCheck( 0 );
	}

}
// ▲ (3179) END

// ▼ (3179) BGN 2003.11.08 (moralog) ツールバーからの切り替え機能追加
/*-----------------------------------------------------------------------------
[名称]	ユニコード表示（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	(3179) 2003-10-28	 関数付加(dincom)
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditUnicode(CCmdUI* pCmdUI) 
{
	CUnicoder*	pUnicoder = CUnicoder::GetInstance();
	if ( pUnicoder->GetEnable() )
	{
		pCmdUI->SetCheck( 1 );
	}
	else
	{
		pCmdUI->SetCheck( 0 );
	}
}
// ▲ (3179) END

// ▼ (3146) BGN 2003.11.08 (moralog) タグジャンプ機能追加
/*-----------------------------------------------------------------------------
[名称]	タグジャンプ（UI更新ハンドラ）
[機能]	CCmdUI のヘルプを参照。
[戻値]	なし
[備考]	(3146) 2003-11-08	 関数追加(moralog)
-----------------------------------------------------------------------------*/
void CMainFrame::OnUpdateEditTagjump(CCmdUI* pCmdUI) 
{
	CShitarabianDoc*	pDoc = (CShitarabianDoc*)GetActiveDocument();
	switch( pDoc->GetOperationMode() )
	{
	case OperationNormal:
		pCmdUI->Enable( TRUE );
		break;
	default:
		pCmdUI->Enable( FALSE );
		break;
	}
}
// ▲ (3146) END

