00001
00002
00003
00004 #include "stdafx.h"
00005 #include "Viewer.h"
00006 #include "ViewerDoc.h"
00007 #include "BottomView.h"
00008 #include "ViewerView.h"
00009
00010 #include "BottomDialog.h"
00011
00012
00013
00014
00015 IMPLEMENT_DYNAMIC(CBottomDialog, CDialog)
00016 CBottomDialog::CBottomDialog(CWnd* pParent )
00017 : CDialog(CBottomDialog::IDD, pParent)
00018 {
00019 m_pDocument = NULL;
00020 m_bPlaying = false;
00021 }
00022
00023 CBottomDialog::~CBottomDialog()
00024 {
00025 }
00026
00027 void CBottomDialog::DoDataExchange(CDataExchange* pDX)
00028 {
00029 CDialog::DoDataExchange(pDX);
00030 DDX_Control(pDX, IDC_SLIDER_ANIM, m_SliderAnim);
00031 DDX_Control(pDX, IDC_EDIT_ANIM_CURRENT, m_EditAnimCurrent);
00032 DDX_Control(pDX, IDC_LABEL_OBJECT_SELECTED, m_LabelObjectSelected);
00033 DDX_Control(pDX, IDC_BUTTON_SELECTION_BEGIN, m_ButtonSelectionBegin);
00034 DDX_Control(pDX, IDC_BUTTON_SELECTION_END, m_ButtonSelectionEnd);
00035 DDX_Control(pDX, IDC_BUTTON_ANIM_REWIND, m_ButtonAnimRewind);
00036 DDX_Control(pDX, IDC_BUTTON_ANIM_PLAY, m_ButtonAnimPlay);
00037 DDX_Control(pDX, IDC_BUTTON_ANIM_PAUSE, m_ButtonAnimPause);
00038 DDX_Control(pDX, IDC_BUTTON_ANIM_STOP, m_ButtonAnimStop);
00039 DDX_Control(pDX, IDC_BUTTON_ANIM_FORWARD, m_ButtonAnimForward);
00040 DDX_Control(pDX, IDC_SPIN_ANIM_CURRENT, m_SpinAnimCurrent);
00041 DDX_Control(pDX, IDC_LABEL_ANIM_MIN, m_LabelAnimMin);
00042 DDX_Control(pDX, IDC_BITMAP_SELECTEDOBJECT, m_ObjectSelected);
00043 DDX_Control(pDX, IDC_EDIT_ANIM_MAX, m_EditAnimMax);
00044 DDX_Control(pDX, IDC_SPIN_ANIM_MAX, m_SpinAnimMax);
00045 DDX_Control(pDX, IDC_EDIT_ANIM_FPS, m_EditAnimFPS);
00046 DDX_Control(pDX, IDC_SPIN_ANIM_FPS, m_SpinAnimFPS);
00047 DDX_Control(pDX, IDC_LABEL_FPS, m_LabelFPS);
00048 DDX_Control(pDX, IDC_LABEL_FRAME, m_LabelFrame);
00049 DDX_Control(pDX, IDC_CHECK_HIERARCHY, m_CheckHierarchyAnim);
00050 DDX_Control(pDX, IDC_RADIO_ANIM, m_ButtonAnim);
00051 DDX_Control(pDX, IDC_RADIO_MESH, m_ButtonMesh);
00052 }
00053
00054
00055 BEGIN_MESSAGE_MAP(CBottomDialog, CDialog)
00056 ON_BN_CLICKED(IDC_BUTTON_SELECTION_BEGIN, OnBnClickedButtonSelectionBegin)
00057 ON_BN_CLICKED(IDC_BUTTON_SELECTION_END, OnBnClickedButtonSelectionEnd)
00058 ON_BN_CLICKED(IDC_BUTTON_ANIM_REWIND, OnBnClickedButtonAnimRewind)
00059 ON_BN_CLICKED(IDC_BUTTON_ANIM_PLAY, OnBnClickedButtonAnimPlay)
00060 ON_BN_CLICKED(IDC_BUTTON_ANIM_PAUSE, OnBnClickedButtonAnimPause)
00061 ON_BN_CLICKED(IDC_BUTTON_ANIM_STOP, OnBnClickedButtonAnimStop)
00062 ON_BN_CLICKED(IDC_BUTTON_ANIM_FORWARD, OnBnClickedButtonAnimForward)
00063 ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_ANIM_CURRENT, OnDeltaposSpinAnimCurrent)
00064 ON_EN_CHANGE(IDC_EDIT_ANIM_CURRENT, OnEnChangeEditAnimCurrent)
00065 ON_NOTIFY(NM_CUSTOMDRAW, IDC_SLIDER_ANIM, OnNMCustomdrawSliderAnim)
00066 ON_WM_SIZE()
00067 ON_WM_CLOSE()
00068 ON_WM_KEYDOWN()
00069 ON_WM_SYSKEYDOWN()
00070 ON_WM_DESTROY()
00071 ON_EN_CHANGE(IDC_EDIT_ANIM_MAX, OnEnChangeEditAnimMax)
00072 ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_ANIM_MAX, OnDeltaposSpinAnimMax)
00073 ON_WM_HSCROLL()
00074 ON_WM_VSCROLL()
00075 ON_WM_TIMER()
00076 ON_BN_CLICKED(IDC_CHECK_HIERARCHY, OnBnClickedCheckHierarchy)
00077 ON_BN_CLICKED(IDC_RADIO_ANIM, OnBnClickedRadioAnim)
00078 ON_BN_CLICKED(IDC_RADIO_MESH, OnBnClickedRadioMesh)
00079 END_MESSAGE_MAP()
00080
00081
00082
00083
00084 void CBottomDialog::OnBnClickedButtonSelectionBegin()
00085 {
00086 int min, max;
00087 m_SliderAnim.GetSelection( min, max );
00088 if( m_SliderAnim.GetPos() > max )
00089 {
00090 m_SliderAnim.SetSelection( m_SliderAnim.GetPos(), m_SliderAnim.GetPos() );
00091 }
00092 else
00093 {
00094 m_SliderAnim.SetSelection( m_SliderAnim.GetPos(), max );
00095 }
00096 GetDocument()->SetSelectionStart( m_SliderAnim.GetPos() );
00097 m_SliderAnim.RedrawWindow();
00098 }
00099
00100 void CBottomDialog::OnBnClickedButtonSelectionEnd()
00101 {
00102 int min, max;
00103 m_SliderAnim.GetSelection( min, max );
00104 if( m_SliderAnim.GetPos() < min )
00105 {
00106 m_SliderAnim.SetSelection( m_SliderAnim.GetPos(), m_SliderAnim.GetPos() );
00107 }
00108 else
00109 {
00110 m_SliderAnim.SetSelection( min, m_SliderAnim.GetPos() );
00111 }
00112 GetDocument()->SetSelectionEnd( m_SliderAnim.GetPos() );
00113 m_SliderAnim.RedrawWindow();
00114 }
00115
00116 void CBottomDialog::OnBnClickedButtonAnimRewind()
00117 {
00118 int Min, Max;
00119 m_SliderAnim.GetSelection( Min, Max );
00120 m_SliderAnim.SetPos( (s32)Min );
00121 m_SpinAnimCurrent.SetPos( (s32)Min );
00122 GetDocument()->SetFrame( (s32)Min );
00123 }
00124
00125 void CBottomDialog::OnBnClickedButtonAnimPlay()
00126 {
00127 m_bPlaying = true;
00128 SetTimer( 1, (UINT)(1000.0f / (float)m_SpinAnimFPS.GetPos()), NULL );
00129 GetDocument()->SetFPS( m_SpinAnimFPS.GetPos() );
00130 }
00131
00132 void CBottomDialog::OnBnClickedButtonAnimPause()
00133 {
00134 m_bPlaying = false;
00135 KillTimer( 1 );
00136 }
00137
00138 void CBottomDialog::OnBnClickedButtonAnimStop()
00139 {
00140 m_bPlaying = false;
00141 KillTimer( 1 );
00142 OnBnClickedButtonAnimRewind();
00143 }
00144
00145 void CBottomDialog::OnBnClickedButtonAnimForward()
00146 {
00147 int Min, Max;
00148 m_SliderAnim.GetSelection( Min, Max );
00149 m_SliderAnim.SetPos( (s32)Max );
00150 m_SpinAnimCurrent.SetPos( (s32)Max );
00151 GetDocument()->SetFrame( (s32)Max );
00152 }
00153
00154 void CBottomDialog::OnDeltaposSpinAnimCurrent(NMHDR *pNMHDR, LRESULT *pResult)
00155 {
00156 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168 *pResult = 0;
00169 }
00170
00171 void CBottomDialog::OnEnChangeEditAnimCurrent()
00172 {
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185 }
00186
00187 void CBottomDialog::OnNMCustomdrawSliderAnim(NMHDR *pNMHDR, LRESULT *pResult)
00188 {
00189 LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201 *pResult = 0;
00202 }
00203
00204 void CBottomDialog::OnEnChangeEditAnimMax()
00205 {
00206 }
00207
00208 void CBottomDialog::OnDeltaposSpinAnimMax(NMHDR *pNMHDR, LRESULT *pResult)
00209 {
00210 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00211
00212
00213
00214 *pResult = 0;
00215 }
00216
00217 void CBottomDialog::OnSize(UINT nType, int cx, int cy)
00218 {
00219 CDialog::OnSize(nType, cx, cy);
00220
00221 CRect DlgRect;
00222 CRect DlgScreenRect;
00223 GetClientRect( &DlgRect );
00224
00225 int CurrentYPos = DlgRect.bottom;
00226 int YInter = 3;
00227 int Border = 10;
00228
00229
00230 if( m_SliderAnim.GetSafeHwnd() )
00231 {
00232 int SliderBottom = 40;
00233 m_SliderAnim.MoveWindow( Border, CurrentYPos - (SliderBottom + Border), DlgRect.right - Border * 2, SliderBottom, TRUE );
00234 CurrentYPos -= ( SliderBottom + YInter + Border );
00235 }
00236
00237
00238 if( m_LabelAnimMin.GetSafeHwnd() )
00239 {
00240 CRect LabelRect;
00241 m_LabelAnimMin.GetClientRect( &LabelRect );
00242 m_LabelAnimMin.MoveWindow( 9 + Border,
00243 CurrentYPos - LabelRect.bottom - 4,
00244 LabelRect.right,
00245 LabelRect.bottom,
00246 TRUE );
00247 }
00248
00249 if( m_EditAnimFPS.GetSafeHwnd() )
00250 {
00251 int EditWidth = 50;
00252 int EditHeight = 20;
00253 int SpinWidth = 16;
00254 int LabelWidth = 30;
00255 m_EditAnimFPS.MoveWindow( ( DlgRect.right - EditWidth ) / 4,
00256 CurrentYPos - EditHeight,
00257 EditWidth,
00258 EditHeight,
00259 TRUE );
00260 m_SpinAnimFPS.SetBuddy( &m_EditAnimFPS );
00261 m_SpinAnimFPS.MoveWindow( ( DlgRect.right - EditWidth ) / 4 + EditWidth,
00262 CurrentYPos - EditHeight,
00263 SpinWidth,
00264 EditHeight,
00265 TRUE );
00266 m_LabelFPS.MoveWindow( ( DlgRect.right - EditWidth ) / 4 - LabelWidth,
00267 CurrentYPos - EditHeight + 2,
00268 LabelWidth,
00269 EditHeight,
00270 TRUE );
00271 }
00272
00273
00274 if( m_EditAnimCurrent.GetSafeHwnd() )
00275 {
00276 int EditWidth = 50;
00277 int EditHeight = 20;
00278 int SpinWidth = 16;
00279 int LabelWidth = 40;
00280 m_EditAnimCurrent.MoveWindow( ( DlgRect.right - EditWidth ) / 2,
00281 CurrentYPos - EditHeight,
00282 EditWidth,
00283 EditHeight,
00284 TRUE );
00285 m_SpinAnimCurrent.SetBuddy( &m_EditAnimCurrent );
00286 m_SpinAnimCurrent.MoveWindow( ( DlgRect.right - EditWidth ) / 2 + EditWidth,
00287 CurrentYPos - EditHeight,
00288 SpinWidth,
00289 EditHeight,
00290 TRUE );
00291 m_LabelFrame.MoveWindow( ( DlgRect.right - EditWidth ) / 2 - LabelWidth,
00292 CurrentYPos - EditHeight + 2,
00293 LabelWidth,
00294 EditHeight,
00295 TRUE );
00296 }
00297
00298 if( m_CheckHierarchyAnim.GetSafeHwnd() )
00299 {
00300 int CheckWidth = 90;
00301 int CheckHeight = 20;
00302 m_CheckHierarchyAnim.MoveWindow( ( DlgRect.right / 4) * 3 - CheckWidth / 2,
00303 CurrentYPos - CheckHeight,
00304 CheckWidth,
00305 CheckHeight,
00306 TRUE );
00307 }
00308
00309 if( m_EditAnimMax.GetSafeHwnd() )
00310 {
00311 CRect EditRect;
00312 int EditWidth = 50;
00313 int EditHeight = 20;
00314 int SpinWidth = 16;
00315 m_EditAnimMax.MoveWindow( DlgRect.right - EditWidth - SpinWidth - Border,
00316 CurrentYPos - EditHeight,
00317 EditWidth,
00318 EditHeight,
00319 TRUE );
00320 m_SpinAnimMax.MoveWindow( DlgRect.right - SpinWidth - Border,
00321 CurrentYPos - EditHeight,
00322 SpinWidth,
00323 EditHeight,
00324 TRUE );
00325 CurrentYPos -= ( EditHeight + YInter );
00326 }
00327
00328
00329 int ButtonX;
00330 if( m_ButtonSelectionBegin.GetSafeHwnd() )
00331 {
00332 RECT ButtonAnimRect;
00333 m_ButtonSelectionBegin.GetClientRect( &ButtonAnimRect );
00334
00335 int x = DlgRect.right - (ButtonAnimRect.right * 7) - Border;
00336 ButtonX = x;
00337
00338 m_ButtonSelectionBegin.MoveWindow( x + ButtonAnimRect.right * 0, CurrentYPos - ButtonAnimRect.bottom, ButtonAnimRect.right, ButtonAnimRect.bottom );
00339 m_ButtonSelectionEnd.MoveWindow( x + ButtonAnimRect.right * 1, CurrentYPos - ButtonAnimRect.bottom, ButtonAnimRect.right, ButtonAnimRect.bottom );
00340 m_ButtonAnimRewind.MoveWindow( x + ButtonAnimRect.right * 2, CurrentYPos - ButtonAnimRect.bottom, ButtonAnimRect.right, ButtonAnimRect.bottom );
00341 m_ButtonAnimPlay.MoveWindow( x + ButtonAnimRect.right * 3, CurrentYPos - ButtonAnimRect.bottom, ButtonAnimRect.right, ButtonAnimRect.bottom );
00342 m_ButtonAnimPause.MoveWindow( x + ButtonAnimRect.right * 4, CurrentYPos - ButtonAnimRect.bottom, ButtonAnimRect.right, ButtonAnimRect.bottom );
00343 m_ButtonAnimStop.MoveWindow( x + ButtonAnimRect.right * 5, CurrentYPos - ButtonAnimRect.bottom, ButtonAnimRect.right, ButtonAnimRect.bottom );
00344 m_ButtonAnimForward.MoveWindow( x + ButtonAnimRect.right * 6, CurrentYPos - ButtonAnimRect.bottom, ButtonAnimRect.right, ButtonAnimRect.bottom );
00345 }
00346
00347 if( m_ObjectSelected.GetSafeHwnd() )
00348 {
00349 m_ObjectSelected.MoveWindow( Border, CurrentYPos - 20, 16, 16, TRUE );
00350 }
00351
00352 if( m_ButtonAnim.GetSafeHwnd() )
00353 {
00354 RECT ButtonRect;
00355 m_ButtonAnim.GetClientRect( &ButtonRect );
00356 m_ButtonAnim.MoveWindow( ButtonX - ButtonRect.right - Border, CurrentYPos - ButtonRect.bottom * 2, ButtonRect.right, ButtonRect.bottom );
00357 }
00358
00359 if( m_ButtonMesh.GetSafeHwnd() )
00360 {
00361 RECT ButtonRect;
00362 m_ButtonMesh.GetClientRect( &ButtonRect );
00363 m_ButtonMesh.MoveWindow( ButtonX - ButtonRect.right - Border, CurrentYPos - ButtonRect.bottom, ButtonRect.right, ButtonRect.bottom );
00364 ButtonX -= ButtonRect.right + Border;
00365 }
00366
00367 if( m_LabelObjectSelected.GetSafeHwnd() )
00368 {
00369 int x = Border + 16 + Border;
00370 int w = ButtonX - Border - x;
00371 m_LabelObjectSelected.MoveWindow( Border + 16 + Border, CurrentYPos - 20, w, 16, TRUE );
00372 }
00373
00374 }
00375
00376 BOOL CBottomDialog::OnInitDialog()
00377 {
00378 CDialog::OnInitDialog();
00379
00380 m_ButtonSelectionBegin.SetIcon( LoadIcon( AfxGetApp()->m_hInstance, MAKEINTRESOURCE( IDI_ICON_SELECTION_BEGIN ) ) );
00381 m_ButtonSelectionEnd.SetIcon( LoadIcon( AfxGetApp()->m_hInstance, MAKEINTRESOURCE( IDI_ICON_SELECTION_END ) ) );
00382 m_ButtonAnimRewind.SetIcon( LoadIcon( AfxGetApp()->m_hInstance, MAKEINTRESOURCE( IDI_ICON_REWIND ) ) );
00383 m_ButtonAnimPlay.SetIcon( LoadIcon( AfxGetApp()->m_hInstance, MAKEINTRESOURCE( IDI_ICON_PLAY ) ) );
00384 m_ButtonAnimPause.SetIcon( LoadIcon( AfxGetApp()->m_hInstance, MAKEINTRESOURCE( IDI_ICON_PAUSE ) ) );
00385 m_ButtonAnimStop.SetIcon( LoadIcon( AfxGetApp()->m_hInstance, MAKEINTRESOURCE( IDI_ICON_STOP ) ) );
00386 m_ButtonAnimForward.SetIcon( LoadIcon( AfxGetApp()->m_hInstance, MAKEINTRESOURCE( IDI_ICON_FORWARD ) ) );
00387 m_ButtonAnim.SetCheck( 1 );
00388
00389 return TRUE;
00390
00391 }
00392
00393 void CBottomDialog::OnClose()
00394 {
00395
00396 CDialog::OnClose();
00397 }
00398
00399 void CBottomDialog::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
00400 {
00401
00402
00403 CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
00404 }
00405
00406 void CBottomDialog::OnSysKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
00407 {
00408
00409
00410 CDialog::OnSysKeyDown(nChar, nRepCnt, nFlags);
00411 }
00412
00413 void CBottomDialog::OnDestroy()
00414 {
00415 CDialog::OnDestroy();
00416
00417
00418 }
00419
00420 void CBottomDialog::OnOK()
00421 {
00422
00423 return;
00424 CDialog::OnOK();
00425 }
00426
00427 void CBottomDialog::OnCancel()
00428 {
00429
00430 return;
00431 CDialog::OnCancel();
00432 }
00433
00434 void CBottomDialog::InitValue()
00435 {
00436 SetValue( 0, 0, 0, 0, 0, 0, true, "No object selected", NULL, false, false, false );
00437 EnableWindow( FALSE );
00438 }
00439
00440 void CBottomDialog::SetValue( u32 Pos, u32 Min, u32 Max, u32 SelMin, u32 SelMax, u32 FPS, bool bInherit, char* pName, HICON hIcon, bool bChangeMax, bool bChangeInherit, bool bChangeFPS )
00441 {
00442 EnableWindow( TRUE );
00443
00444 m_SliderAnim.SetPos( Pos );
00445 m_SliderAnim.SetRange( Min, Max, TRUE );
00446 m_SliderAnim.SetSelection( SelMin, SelMax );
00447 m_SliderAnim.RedrawWindow();
00448
00449 m_SpinAnimCurrent.SetRange32( Min, Max );
00450 if( bChangeMax )
00451 {
00452 m_SpinAnimMax.SetRange32( Min, UD_MAXVAL );
00453 m_SpinAnimMax.EnableWindow( TRUE );
00454 m_EditAnimMax.EnableWindow( TRUE );
00455 }
00456 else
00457 {
00458 m_SpinAnimMax.SetRange32( Max, Max );
00459 m_SpinAnimMax.EnableWindow( FALSE );
00460 m_EditAnimMax.EnableWindow( FALSE );
00461 }
00462
00463 m_SpinAnimFPS.SetRange32( 1, 60 );
00464 m_SpinAnimFPS.SetPos( FPS );
00465 if( bChangeFPS )
00466 {
00467 m_SpinAnimFPS.EnableWindow( TRUE );
00468 m_EditAnimFPS.EnableWindow( TRUE );
00469 }
00470 else
00471 {
00472 m_SpinAnimFPS.EnableWindow( FALSE );
00473 m_EditAnimFPS.EnableWindow( FALSE );
00474 }
00475
00476 m_ObjectSelected.SetIcon( hIcon );
00477 m_CheckHierarchyAnim.SetCheck( bInherit ? 1 : 0 );
00478 m_CheckHierarchyAnim.EnableWindow( bChangeInherit ? TRUE : FALSE );
00479
00480 char pPos[256];
00481 wsprintf( pPos, "%i", Pos );
00482 m_EditAnimCurrent.SetWindowText( pPos );
00483
00484 char pFPS[256];
00485 wsprintf( pFPS, "%i", FPS );
00486 m_EditAnimFPS.SetWindowText( pFPS );
00487
00488 char pMax[256];
00489 wsprintf( pMax, "%i", Max );
00490 m_EditAnimMax.SetWindowText( pMax );
00491
00492 m_LabelObjectSelected.SetWindowText( pName );
00493 }
00494
00495 void CBottomDialog::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
00496 {
00497 if( pScrollBar == (CScrollBar*)&m_SliderAnim )
00498 {
00499 m_SpinAnimCurrent.SetPos( (s32)m_SliderAnim.GetPos() );
00500 GetDocument()->SetFrame( (s32)m_SliderAnim.GetPos() );
00501 }
00502
00503 CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
00504 }
00505
00506 void CBottomDialog::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
00507 {
00508 if( nSBCode == SB_THUMBPOSITION )
00509 {
00510 if( pScrollBar == (CScrollBar*)&m_SpinAnimCurrent )
00511 {
00512 m_SliderAnim.SetPos( (s32)m_SpinAnimCurrent.GetPos() );
00513 GetDocument()->SetFrame( (s32)m_SpinAnimCurrent.GetPos() );
00514 }
00515
00516 if( pScrollBar == (CScrollBar*)&m_SpinAnimFPS )
00517 {
00518 if( m_bPlaying )
00519 {
00520 KillTimer( 1 );
00521 SetTimer( 1, (UINT)(1000.0f / (float)m_SpinAnimFPS.GetPos()), NULL );
00522 }
00523 GetDocument()->SetFPS( m_SpinAnimFPS.GetPos() );
00524 }
00525
00526 if( pScrollBar == (CScrollBar*)&m_SpinAnimMax )
00527 {
00528 GetDocument()->SetMaxFrame( m_SpinAnimMax.GetPos() );
00529 }
00530 }
00531
00532 CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
00533 }
00534
00535 void CBottomDialog::OnTimer(UINT nIDEvent)
00536 {
00537 int Min, Max;
00538 int Pos = m_SliderAnim.GetPos();
00539
00540 m_SliderAnim.GetSelection( Min, Max );
00541
00542 Pos ++;
00543 if( Pos < Min )
00544 {
00545 Pos = Min;
00546 }
00547 else if( Pos > Max )
00548 {
00549 Pos = Min;
00550 }
00551
00552 m_SliderAnim.SetPos( Pos );
00553 m_SpinAnimCurrent.SetPos( Pos );
00554 GetDocument()->SetFrame( (s32)Pos );
00555
00556 CDialog::OnTimer(nIDEvent);
00557 }
00558
00559 void CBottomDialog::OnBnClickedCheckHierarchy()
00560 {
00561 GetDocument()->SetInheritFrame( m_CheckHierarchyAnim.GetCheck() ? true : false );
00562 }
00563
00564 void CBottomDialog::OnBnClickedRadioAnim()
00565 {
00566 GetDocument()->GetBottomView()->Refresh();
00567 }
00568
00569 void CBottomDialog::OnBnClickedRadioMesh()
00570 {
00571 GetDocument()->GetBottomView()->Refresh();
00572 }