1023 lines
33 KiB
C++
1023 lines
33 KiB
C++
//=========================================================================
|
|
// CPADgBar.cpp : implementation file for main dialog bar
|
|
// This is a part of the CPA project.
|
|
//
|
|
// Version 1.0
|
|
// Creation date 06/06/96
|
|
// Revision date
|
|
//
|
|
// (c) Ubi Studios 1996
|
|
//
|
|
// DO NOT MODIFY THAT FILE. IF SOMETHING NEEDS TO BE CHANGE, PLEASE CONTACT
|
|
// VINCENT GRECO OR CHRISTOPHE BEAUDET.
|
|
//=========================================================================
|
|
|
|
#include "stdafx.h"
|
|
|
|
#ifdef ACTIVE_EDITOR
|
|
#include "acp_base.h"
|
|
#include "itf/CPADgBar.hpp"
|
|
#include "itf/CPAProj.hpp"
|
|
#include "itf/CPARes.h"
|
|
#include "itf/CPAPopTb.hpp"
|
|
#include "itf/camdllb.hpp"
|
|
#include "itf/stddllid.h"
|
|
#include "itf/cpainter.hpp"
|
|
#include "itf/cpaspec.hpp"
|
|
//Mircea Dunka 1 sept. 1998
|
|
#include "itf/CPAMWorl.hpp"
|
|
//#include "itf/customID.h"
|
|
//end Mircea Dunka
|
|
|
|
BEGIN_MESSAGE_MAP(CPA_DialogBar, CDialogBar)
|
|
//{{AFX_MSG_MAP(CPA_DialogBar)
|
|
ON_CBN_SELCHANGE(CPA_IDCB_SELECTMODE, OnSelChangeComboMode)
|
|
ON_BN_CLICKED(CPA_IDCB_AUTOTARGET, OnAutoTarget)
|
|
ON_BN_CLICKED(CPA_IDCB_AUTOZOOM, OnAutoZoom)
|
|
ON_BN_CLICKED(CPA_IDCB_FULL, OnFull)
|
|
ON_BN_CLICKED(CPA_IDCB_DELTA, OnDelta)
|
|
ON_BN_CLICKED(CPA_IDCB_LOCK, OnLockSelection)
|
|
ON_CBN_SELCHANGE(CPA_IDCB_CURRENTSECTOR, OnSelChangeComboSector)
|
|
ON_COMMAND(CPA_IDB_DISPLAYWORLD, OnDisplayWorld)
|
|
ON_COMMAND(CPA_IDB_DISPLAYVISIBLE, OnDisplayVisible)
|
|
ON_COMMAND(CPA_IDB_DISPLAYSECTOR, OnDisplaySector)
|
|
ON_COMMAND(CPA_IDB_DISPLAYFOG, OnDisplayFog)
|
|
ON_COMMAND(CPA_IDB_DISPLAYNOFOG, OnDisplayNoFog)
|
|
ON_COMMAND(CPA_IDB_TEXTURED, OnTextured)
|
|
ON_COMMAND(CPA_IDB_NOTEX, OnNoTex)
|
|
ON_COMMAND(CPA_IDB_GRIDED, OnGrided)
|
|
ON_COMMAND(CPA_IDB_GRIDEDNOTEX, OnGridedNoTex)
|
|
ON_COMMAND(CPA_IDB_WIRED, OnWired)
|
|
ON_COMMAND(CPA_IDB_WIREDNOTEX, OnWiredNoTex)
|
|
ON_COMMAND(CPA_IDB_NOBV, OnNoBV)
|
|
ON_COMMAND(CPA_IDB_SECTORBV, OnSectorBV)
|
|
ON_COMMAND(CPA_IDB_ACTORBV, OnActorBV)
|
|
ON_COMMAND(CPA_IDB_OBJECTBV, OnObjectBV)
|
|
ON_COMMAND(IDCB_NORMAL, OnNoCenter)
|
|
ON_COMMAND(IDCB_MAINCENTERS, OnMainCenters)
|
|
ON_COMMAND(IDCB_ALLCENTERS, OnAllCenters)
|
|
ON_COMMAND(IDCB_NOCONSTRAINT, OnNoConstraint)
|
|
ON_COMMAND(IDCB_CONSTRAINTX, OnConstraintX)
|
|
ON_COMMAND(IDCB_CONSTRAINTY, OnConstraintY)
|
|
ON_COMMAND(IDCB_CONSTRAINTZ, OnConstraintZ)
|
|
ON_COMMAND(IDCB_CONSTRAINTXY, OnConstraintXY)
|
|
ON_COMMAND(IDCB_CONSTRAINTXZ, OnConstraintXZ)
|
|
ON_COMMAND(IDCB_CONSTRAINTYZ, OnConstraintYZ)
|
|
ON_COMMAND(CPA_IDB_OPENDEVICE, OnOpenDevice)
|
|
ON_COMMAND(CPA_IDB_DEVICE_TILE_HORZ, OnTileHoriz)
|
|
ON_COMMAND(CPA_IDB_DEVICE_TILE_VERT, OnTileVert)
|
|
ON_COMMAND(CPA_IDB_DEVICE_CASCADE, OnCascade)
|
|
ON_COMMAND(CPA_IDB_DEVICE_SPLITVERT, OnSplitVert)
|
|
ON_COMMAND(CPA_IDB_DEVICE_SPLITHORIZ, OnSplitHoriz)
|
|
ON_COMMAND_RANGE(40000,40050,OnCommandRange)
|
|
ON_NOTIFY_EX(TTN_NEEDTEXT, 0, OnToolTipNotify)
|
|
ON_BN_CLICKED(CPA_IDCB_MOVECAMERA, OnMoveCamera) // CPA_Ed_1 FS
|
|
ON_COMMAND(CPA_IDB_NOAXIS,OnDisplayNoAxis)
|
|
ON_COMMAND(CPA_IDB_AXISDOWNLEFT,OnDisplayAxisDownLeft)
|
|
ON_COMMAND(CPA_IDB_AXISDOWNRIGHT,OnDisplayAxisDownRight)
|
|
ON_BN_CLICKED(CPA_IDCB_STATUSBARMODE, OnStatusBarMode) // Silviu Simen 13 August 1998 Button for StatusBar
|
|
ON_BN_CLICKED(CPA_IDCB_SELECTBYSECTOR, OnSelectBySector) // Silviu Simen Select by sector
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CPA_DialogBar dialog construction
|
|
// Mircea Dunka - 30 Aug 1998
|
|
// - added dialog bar support for editors
|
|
CPA_DialogBar::CPA_DialogBar() : CDialogBar()
|
|
{
|
|
m_p_oCamera = NULL;
|
|
if(!m_oListOfEditorButtons.IsEmpty())
|
|
m_oListOfEditorButtons.RemoveAll();
|
|
}
|
|
CPA_DialogBar::~CPA_DialogBar()
|
|
{
|
|
CButton *p_But;
|
|
while(!m_oListOfEditorButtons.IsEmpty())
|
|
{
|
|
p_But = m_oListOfEditorButtons.RemoveHead();
|
|
p_But->ShowWindow(SW_HIDE);
|
|
delete(p_But);
|
|
}
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
FRMBaseMenu * CPA_DialogBar::GetParentFrame()
|
|
{
|
|
return (FRMBaseMenu *) GetParent();
|
|
}
|
|
|
|
DEV_MultiDevice * CPA_DialogBar::GetParentMultiDevice()
|
|
{
|
|
return (DEV_MultiDevice *) GetParentFrame()->GetActiveView();
|
|
}
|
|
|
|
FRMSplitter * CPA_DialogBar::GetParentSplitter()
|
|
{
|
|
return (FRMSplitter *) GetParentMultiDevice()->GetParent();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnOpenDevice(void)
|
|
{
|
|
((DEV_MultiDevice *) (GetParentFrame()->m_oSplitter.GetActivePane()))->OnOpenDevice();
|
|
}
|
|
void CPA_DialogBar::OnTileHoriz(void)
|
|
{
|
|
GetParentMultiDevice()->OnDeviceTileHorz();
|
|
}
|
|
void CPA_DialogBar::OnTileVert(void)
|
|
{
|
|
GetParentMultiDevice()->OnDeviceTileVert();
|
|
}
|
|
void CPA_DialogBar::OnCascade(void)
|
|
{
|
|
GetParentMultiDevice()->OnDeviceCascade();
|
|
}
|
|
void CPA_DialogBar::OnSplitHoriz(void)
|
|
{
|
|
GetParentSplitter()->MakeSplit(1);
|
|
}
|
|
void CPA_DialogBar::OnSplitVert(void)
|
|
{
|
|
GetParentSplitter()->MakeSplit(2);
|
|
}
|
|
|
|
//===========================================================================
|
|
// Description: Creation of main dialog bar.
|
|
// => Load icons for buttons
|
|
// => Init combo box with all current editors
|
|
// Creation date: 18 Jun 96
|
|
// Author: CB
|
|
//---------------------------------------------------------------------------
|
|
// BOOL Not used
|
|
// Return void
|
|
//---------------------------------------------------------------------------
|
|
// Revision date: Author:
|
|
//===========================================================================
|
|
BOOL CPA_DialogBar::Create(CWnd* pParentWnd, UINT nIDTemplate, UINT nStyle, UINT nID)
|
|
{
|
|
BOOL bRes;
|
|
|
|
bRes = CDialogBar::Create(pParentWnd, nIDTemplate, nStyle, nID);
|
|
if(bRes)
|
|
{
|
|
m_ToolTip.Create (this);
|
|
m_ToolTip.Activate (TRUE);
|
|
|
|
CWnd* pWnd = GetWindow (GW_CHILD);
|
|
while (pWnd)
|
|
{
|
|
int nID = pWnd->GetDlgCtrlID ();
|
|
if (nID != -1)
|
|
{
|
|
m_ToolTip.AddTool (pWnd, pWnd->GetDlgCtrlID ());
|
|
}
|
|
pWnd = pWnd->GetWindow (GW_HWNDNEXT);
|
|
}
|
|
//
|
|
// ICON FOR BUTTONS
|
|
//
|
|
CButton* p_But;
|
|
// To swap beetween edit and engine mode
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_SWAPTOEDITORS);
|
|
p_But->SetIcon(M_GetMainApp()->LoadIcon(CPA_IDI_SWAPTOEDITORS));
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
// To pause engine
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_PAUSEENGINE);
|
|
p_But->SetIcon(M_GetMainApp()->LoadIcon(CPA_IDI_PAUSEENGINE));
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
// One step engine
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_ONESTEPENGINE);
|
|
p_But->SetIcon(M_GetMainApp()->LoadIcon(CPA_IDI_ONESTEPENGINE));
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
// Full screen
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_FULLSCREEN);
|
|
p_But->SetIcon(M_GetMainApp()->LoadIcon(CPA_IDI_FULLSCREEN));
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
// Undo & Redo
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_UNDO);
|
|
p_But->SetIcon(M_GetMainApp()->LoadIcon(CPA_IDI_UNDO));
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_REDO);
|
|
p_But->SetIcon(M_GetMainApp()->LoadIcon(CPA_IDI_REDO));
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
|
|
// Save
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_SAVEALL);
|
|
p_But->SetIcon(M_GetMainApp()->LoadIcon(CPA_IDI_SAVE));
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
// Options
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_OPTIONS);
|
|
p_But->SetIcon(M_GetMainApp()->LoadIcon(CPA_IDI_OPTION));
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
|
|
// Full Select
|
|
m_hFullSelIcon = M_GetMainApp()->LoadIcon(CPA_IDI_FULLSELECT);
|
|
m_hNoFullIcon = M_GetMainApp()->LoadIcon(CPA_IDI_NOFULLSELECT);
|
|
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_FULL);
|
|
p_But->SetIcon(m_hNoFullIcon);
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
|
|
// Delta Select
|
|
m_hDeltaSelIcon = M_GetMainApp()->LoadIcon(CPA_IDI_DELTASELECT);
|
|
m_hNoDeltaIcon = M_GetMainApp()->LoadIcon(CPA_IDI_NODELTASELECT);
|
|
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_DELTA);
|
|
p_But->SetIcon(m_hNoDeltaIcon);
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
|
|
// Lock Selection
|
|
m_hLockSelIcon = M_GetMainApp()->LoadIcon(CPA_IDI_LOCKSEL);
|
|
m_hNoLockIcon = M_GetMainApp()->LoadIcon(CPA_IDI_NOLOCK);
|
|
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_LOCK);
|
|
p_But->SetIcon(m_hNoLockIcon);
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
|
|
// Auto target
|
|
m_hTargetIcon = M_GetMainApp()->LoadIcon(CPA_IDI_TARGET);
|
|
m_hNoTargetIcon = M_GetMainApp()->LoadIcon(CPA_IDI_NOTARGET);
|
|
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_AUTOTARGET);
|
|
p_But->SetIcon(m_hNoTargetIcon);
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
|
|
// Auto zoom
|
|
m_hZoomIcon = M_GetMainApp()->LoadIcon(CPA_IDI_ZOOM);
|
|
m_hNoZoomIcon = M_GetMainApp()->LoadIcon(CPA_IDI_NOZOOM);
|
|
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_AUTOZOOM);
|
|
p_But->SetIcon(m_hNoZoomIcon);
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
|
|
// Move camera
|
|
m_hMoveIcon = M_GetMainApp()->LoadIcon(CPA_IDI_MOVE);
|
|
m_hNoMoveIcon = M_GetMainApp()->LoadIcon(CPA_IDI_NOMOVE);
|
|
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_MOVECAMERA);
|
|
p_But->SetIcon(m_hNoMoveIcon);
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
|
|
|
|
// Begin Silviu Simen 13 August 1998 Button for StatusBar
|
|
// To swap beetween StatusBar modes
|
|
m_hInsInfIcon = M_GetMainApp()->LoadIcon(CPA_IDI_INSTANCEINFO);
|
|
m_hInsCamIcon = M_GetMainApp()->LoadIcon(CPA_IDI_INSTANCECAM);
|
|
m_hCamInfIcon = M_GetMainApp()->LoadIcon(CPA_IDI_CAMERAINFO);
|
|
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_STATUSBARMODE);
|
|
p_But->SetIcon(m_hInsInfIcon);
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE|SWP_NOZORDER);
|
|
// End Silviu Simen 13 August 1998 Button for StatusBar
|
|
// Begin Silviu Simen Select by sector
|
|
m_hSelectBySector = M_GetMainApp()->LoadIcon(CPA_IDI_SELECTBYSECTOR);
|
|
p_But = (CButton *) GetDlgItem(CPA_IDCB_SELECTBYSECTOR);
|
|
p_But->SetIcon(m_hSelectBySector);
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE|SWP_NOZORDER);
|
|
// End Silviu Simen Select by sector
|
|
|
|
// Toolbar for display mode
|
|
tdstButtonDef a_stModeButtonDef[] =
|
|
{
|
|
// display
|
|
{CPA_IDB_DISPLAYWORLD, TRUE, "Display : World"},
|
|
{CPA_IDB_DISPLAYVISIBLE, TRUE, "Display : Visible Sectors"},
|
|
{CPA_IDB_DISPLAYSECTOR, TRUE, "Display : Current Sector"},
|
|
{CPA_IDB_DENDFAMILY, TRUE, ""},
|
|
// fog
|
|
{CPA_IDB_DISPLAYFOG, TRUE, "Fog : display"},
|
|
{CPA_IDB_DISPLAYNOFOG, TRUE, "Fog : none"},
|
|
{CPA_IDB_DENDFAMILY, TRUE, ""},
|
|
// appearance
|
|
{CPA_IDB_TEXTURED, TRUE, "Render : Textured"},
|
|
{CPA_IDB_NOTEX, TRUE, "Render : Not Textured"},
|
|
{CPA_IDB_GRIDED, TRUE, "Render : Grided"},
|
|
{CPA_IDB_GRIDEDNOTEX, TRUE, "Render : Grided without Texture"},
|
|
{CPA_IDB_WIRED, TRUE, "Render : Wired"},
|
|
{CPA_IDB_WIREDNOTEX, TRUE, "Render : Wired without Texture"},
|
|
{CPA_IDB_DENDFAMILY, TRUE, ""},
|
|
// bounding volumes
|
|
{CPA_IDB_NOBV, TRUE, "Display Bounding Volumes : None"},
|
|
{CPA_IDB_SECTORBV, TRUE, "Display Bounding Volumes : Sectors"},
|
|
{CPA_IDB_ACTORBV, TRUE, "Display Bounding Volumes : Actors"},
|
|
{CPA_IDB_OBJECTBV, TRUE, "Display Bounding Volumes : Objects"},
|
|
{CPA_IDB_DENDFAMILY, TRUE, ""},
|
|
// Axis display
|
|
{CPA_IDB_NOAXIS, TRUE, "Display Axis : None"},
|
|
{CPA_IDB_AXISDOWNLEFT, TRUE, "Display Axis : Left Corner"},
|
|
{CPA_IDB_AXISDOWNRIGHT, TRUE, "Display Axis : Right Corner"},
|
|
{CPA_IDB_DENDFAMILY, TRUE, ""},
|
|
// centers
|
|
{IDCB_NORMAL, TRUE, "Display Centers : None"},
|
|
{IDCB_MAINCENTERS, TRUE, "Display Centers : Instances"},
|
|
{IDCB_ALLCENTERS, TRUE, "Display Centers : Objects"},
|
|
{CPA_IDB_DENDFAMILY, TRUE, ""},
|
|
};
|
|
|
|
m_oDisplayToolbar.Define(a_stModeButtonDef, 27, CPA_IDTB_DISPLAY, CPA_IDB_DENDFAMILY, 18, 18);
|
|
m_oDisplayToolbar.CreateToolBarCtrl(this, CPoint(228, -1));
|
|
|
|
// Toolbar for constraint move
|
|
tdstButtonDef a_stDevButtonDef[] =
|
|
{
|
|
{IDCB_NOCONSTRAINT, TRUE, "No Constraint"},
|
|
{IDCB_CONSTRAINTX, TRUE, " Move on X Axis Only"},
|
|
{IDCB_CONSTRAINTY, TRUE, " Move on Y Axis Only"},
|
|
{IDCB_CONSTRAINTZ, TRUE, " Move on Z Axis Only"},
|
|
{IDCB_CONSTRAINTXY, TRUE, " Move on XoY Plane Only"},
|
|
{IDCB_CONSTRAINTXZ, TRUE, " Move on XoZ Plane Only"},
|
|
{IDCB_CONSTRAINTYZ, TRUE, " Move on YoZ Plane Only"},
|
|
{CPA_IDB_ENDFAMILY, TRUE, ""},
|
|
};
|
|
|
|
m_oDeviceToolbar.Define(a_stDevButtonDef, 8, CPA_IDTB_DEVICE, CPA_IDB_ENDFAMILY, 18, 18);
|
|
m_oDeviceToolbar.CreateToolBarCtrl(this, CPoint(567, -1));
|
|
|
|
}
|
|
ShowWindow(FALSE);
|
|
return bRes;
|
|
}
|
|
|
|
//Begin Mircea Dunka 2 Sept 1998
|
|
void CPA_DialogBar::ShowWindow( BOOL bShow )
|
|
{
|
|
//
|
|
// EDITOR BUTTONS - MIRCEA DUNKA 31 aug 1998
|
|
//
|
|
if(bShow)
|
|
{
|
|
CButton *p_But;
|
|
|
|
//the buttons list
|
|
while(!m_oListOfEditorButtons.IsEmpty())
|
|
{
|
|
p_But = m_oListOfEditorButtons.RemoveHead();
|
|
p_But->ShowWindow(SW_HIDE);
|
|
// p_But->DestroyWindow();
|
|
// delete(p_But);
|
|
}
|
|
|
|
//I have to initialize the "editors" menu in order to use the buttons :)
|
|
FRMBaseMenu *pFrmBaseMenu = GetParentFrame();
|
|
pFrmBaseMenu->m_p_oEditorSubMenu->Clear();
|
|
// call Hierarchy Editor
|
|
pFrmBaseMenu->M_GetEditor()->fn_bDefineSubMenu(pFrmBaseMenu->m_p_oEditorSubMenu);
|
|
// call Objects DLLs
|
|
pFrmBaseMenu->AddItemToPopupMenu(pFrmBaseMenu->m_p_oEditorSubMenu,(CPA_List<CPA_DLLBase>*)M_GetObjectDLLList());
|
|
// call Tool DLLs
|
|
pFrmBaseMenu->AddItemToPopupMenu(pFrmBaseMenu->m_p_oEditorSubMenu,(CPA_List<CPA_DLLBase>*)M_GetToolDLLList());
|
|
|
|
|
|
CPA_List<CPA_DLLBase>* _p_oListOfDLL;
|
|
POSITION stPos;
|
|
CRect rcButton(0,27,26,26);
|
|
UINT uID = C_EditorButtonIDStart;
|
|
tds_DlgBarBtn sDlgBarBtn={NULL,0,""};
|
|
|
|
|
|
//call hierarchy editor
|
|
M_GetEditor()->fn_vDefineDlgBarBtnIcon (C_DlgBarCategoryEditor, &sDlgBarBtn);
|
|
if(sDlgBarBtn.hIcon != NULL)
|
|
{
|
|
p_But = new CButton();
|
|
p_But->Create("", BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_ICON
|
|
| WS_EX_STATICEDGE | WS_VISIBLE
|
|
| WS_GROUP /**************!!!!!!!!!!!!!!!!!!************/
|
|
, rcButton, this, uID++);
|
|
|
|
SetWindowLong(p_But->m_hWnd, GWL_USERDATA, sDlgBarBtn.uID);
|
|
p_But->SetIcon(sDlgBarBtn.hIcon);
|
|
sDlgBarBtn.hIcon = NULL;
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
m_ToolTip.AddTool ((CWnd*)p_But, sDlgBarBtn.szToolTip);
|
|
m_oListOfEditorButtons.AddTail(p_But);
|
|
rcButton.left += 27;
|
|
rcButton.right += 27;
|
|
}
|
|
// call Objects DLLs
|
|
_p_oListOfDLL = (CPA_List<CPA_DLLBase>*)M_GetObjectDLLList();
|
|
//add objects DLL button to dialog bar
|
|
stPos = _p_oListOfDLL->GetHeadPosition();
|
|
while(stPos)
|
|
{
|
|
CPA_DLLBase *p_oDLL = _p_oListOfDLL->GetNext(stPos);
|
|
p_oDLL->fn_vDefineDlgBarBtnIcon (C_DlgBarCategoryEditor, &sDlgBarBtn);
|
|
if(sDlgBarBtn.hIcon != NULL)
|
|
{
|
|
p_But = new CButton();
|
|
p_But->Create("", BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_ICON
|
|
| WS_EX_STATICEDGE | WS_VISIBLE, rcButton, this, uID++);
|
|
long lStyle = ::GetWindowLong(p_But->m_hWnd, GWL_STYLE);
|
|
SetWindowLong(p_But->m_hWnd, GWL_USERDATA, sDlgBarBtn.uID);
|
|
p_But->SetIcon(sDlgBarBtn.hIcon);
|
|
sDlgBarBtn.hIcon = NULL;
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
m_ToolTip.AddTool ((CWnd*)p_But, sDlgBarBtn.szToolTip);
|
|
m_oListOfEditorButtons.AddTail(p_But);
|
|
rcButton.left += 27;
|
|
rcButton.right += 27;
|
|
}
|
|
}
|
|
|
|
// call Tool DLLs
|
|
_p_oListOfDLL = (CPA_List<CPA_DLLBase>*)M_GetToolDLLList();
|
|
// add tool DLL button to dialog bar
|
|
stPos = _p_oListOfDLL->GetHeadPosition();
|
|
while(stPos)
|
|
{
|
|
CPA_DLLBase *p_oDLL = _p_oListOfDLL->GetNext(stPos);
|
|
p_oDLL->fn_vDefineDlgBarBtnIcon (C_DlgBarCategoryEditor, &sDlgBarBtn);
|
|
if(sDlgBarBtn.hIcon != NULL)
|
|
{
|
|
p_But = new CButton();
|
|
p_But->Create("", BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_ICON
|
|
| WS_EX_STATICEDGE | WS_VISIBLE, rcButton, this, uID++);
|
|
SetWindowLong(p_But->m_hWnd, GWL_USERDATA, sDlgBarBtn.uID);
|
|
p_But->SetIcon(sDlgBarBtn.hIcon);
|
|
sDlgBarBtn.hIcon = NULL;
|
|
p_But->SetWindowPos(NULL, 0, 0, 26, 26, SWP_NOMOVE);
|
|
m_ToolTip.AddTool ((CWnd*)p_But, sDlgBarBtn.szToolTip);
|
|
m_oListOfEditorButtons.AddTail(p_But);
|
|
rcButton.left += 27;
|
|
rcButton.right += 27;
|
|
}
|
|
}
|
|
//comment
|
|
// the first editor is the hierarchy editor
|
|
// ((CButton*)GetDlgItem(C_EditorButtonIDStart))->SetCheck(1);
|
|
}
|
|
CDialogBar::ShowWindow( bShow );
|
|
|
|
// update activation
|
|
if (bShow)
|
|
GetParentFrame()->fn_vUpdateCurrentEditor(M_GetCurrentEditor());
|
|
|
|
}
|
|
//End Mircea Dunka 1998
|
|
|
|
|
|
void CPA_DialogBar::OnCommandRange(UINT nID)
|
|
{
|
|
if (m_p_oCamera)
|
|
((CPA_CameraDLLBase*) m_p_oCamera->GetEditor())->SendDialogBarCommandToCamera(m_p_oCamera,nID);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Select Mode
|
|
|
|
CPA_Interface * CPA_DialogBar::GetInterface (void)
|
|
{
|
|
return GetParentMultiDevice()->GetInterface();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnSelChangeComboMode (void)
|
|
{
|
|
GetInterface()->fn_vOnChangeSelectMode();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnAutoTarget (void)
|
|
{
|
|
CButton *pBut;
|
|
|
|
pBut = (CButton *) GetDlgItem(CPA_IDCB_AUTOTARGET);
|
|
GetInterface()->SetAutoTarget(pBut->GetCheck());
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::fn_vUpdateAutoTarget (BOOL bAutoTarget)
|
|
{
|
|
CButton *pBut;
|
|
|
|
pBut = (CButton *) GetDlgItem(CPA_IDCB_AUTOTARGET);
|
|
pBut->SetCheck(bAutoTarget);
|
|
pBut->SetIcon(bAutoTarget ? m_hTargetIcon : m_hNoTargetIcon);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnAutoZoom (void)
|
|
{
|
|
CButton *pBut;
|
|
|
|
pBut = (CButton *) GetDlgItem(CPA_IDCB_AUTOZOOM);
|
|
GetInterface()->SetAutoZoom(pBut->GetCheck());
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::fn_vUpdateAutoZoom (BOOL bAutoZoom)
|
|
{
|
|
CButton *pBut;
|
|
|
|
pBut = (CButton *) GetDlgItem(CPA_IDCB_AUTOZOOM);
|
|
pBut->SetCheck(bAutoZoom);
|
|
pBut->SetIcon(bAutoZoom ? m_hZoomIcon : m_hNoZoomIcon);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnFull (void)
|
|
{
|
|
CButton *pBut = (CButton *) GetDlgItem(CPA_IDCB_FULL);
|
|
GetInterface()->SetFullSelect(pBut->GetCheck());
|
|
GetInterface()->fn_vUpdateAll(E_mc_UpdateDialog);
|
|
pBut->SetIcon(pBut->GetCheck() ? m_hFullSelIcon : m_hNoFullIcon);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnDelta (void)
|
|
{
|
|
CButton *pBut = (CButton *) GetDlgItem(CPA_IDCB_DELTA);
|
|
GetInterface()->SetDeltaSelect(pBut->GetCheck());
|
|
pBut->SetIcon(pBut->GetCheck() ? m_hDeltaSelIcon : m_hNoDeltaIcon);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::fn_vUpdateFullSelect (BOOL bSelect)
|
|
{
|
|
CButton *pBut = (CButton *) GetDlgItem(CPA_IDCB_FULL);
|
|
pBut->SetCheck(bSelect);
|
|
pBut->SetIcon(bSelect ? m_hFullSelIcon : m_hNoFullIcon);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::fn_vUpdateDeltaSelect (BOOL bSelect)
|
|
{
|
|
CButton *pBut = (CButton *) GetDlgItem(CPA_IDCB_DELTA);
|
|
pBut->SetCheck(bSelect);
|
|
pBut->SetIcon(bSelect ? m_hDeltaSelIcon : m_hNoDeltaIcon);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnLockSelection()
|
|
{
|
|
CButton *pBut = (CButton *) GetDlgItem(CPA_IDCB_LOCK);
|
|
GetInterface()->SetLockSelection(pBut->GetCheck());
|
|
pBut->SetIcon(pBut->GetCheck() ? m_hLockSelIcon : m_hNoLockIcon);
|
|
GetInterface()->fn_vUpdateAll(E_mc_UpdateDialog);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::fn_vUpdateLockButton()
|
|
{
|
|
CButton *pBut = (CButton *) GetDlgItem(CPA_IDCB_LOCK);
|
|
pBut->SetCheck(GetInterface()->GetLockSelection());
|
|
pBut->SetIcon(pBut->GetCheck() ? m_hLockSelIcon : m_hNoLockIcon);
|
|
}
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Move Camera
|
|
void CPA_DialogBar::OnMoveCamera (void)
|
|
{
|
|
CButton *pBut;
|
|
|
|
pBut = (CButton *) GetDlgItem(CPA_IDCB_MOVECAMERA);
|
|
GetInterface()->SetMoveCamera(pBut->GetCheck());
|
|
pBut->SetIcon(pBut->GetCheck() ? m_hMoveIcon : m_hNoMoveIcon);
|
|
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::SetMoveCamera (int state)
|
|
{
|
|
CButton *pBut;
|
|
|
|
pBut = (CButton *) GetDlgItem(CPA_IDCB_MOVECAMERA);
|
|
pBut->SetCheck( state );
|
|
GetInterface()->SetMoveCamera(pBut->GetCheck());
|
|
pBut->SetIcon(pBut->GetCheck() ? m_hMoveIcon : m_hNoMoveIcon);
|
|
}
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Current Sector
|
|
|
|
void CPA_DialogBar::OnSelChangeComboSector (void)
|
|
{
|
|
GetInterface()->GetSpecificInterface()->fn_vOnChangeCurrentSector();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// DisplayMode
|
|
|
|
void CPA_DialogBar::OnDisplayWorld (void)
|
|
{
|
|
GetInterface()->GetSpecificInterface()->fn_vOnChangeDisplayMode(E_dm_DrawWorld);
|
|
m_oDisplayToolbar.SetButton(CPA_IDB_DISPLAYWORLD);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnDisplayVisible (void)
|
|
{
|
|
GetInterface()->GetSpecificInterface()->fn_vOnChangeDisplayMode(E_dm_DrawVisibleSectors);
|
|
m_oDisplayToolbar.SetButton(CPA_IDB_DISPLAYVISIBLE);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnDisplaySector (void)
|
|
{
|
|
GetInterface()->GetSpecificInterface()->fn_vOnChangeDisplayMode(E_dm_DrawOnlyCurrentSector);
|
|
m_oDisplayToolbar.SetButton(CPA_IDB_DISPLAYSECTOR);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Fog
|
|
void CPA_DialogBar::OnDisplayFog (void)
|
|
{
|
|
GetInterface()->GetSpecificInterface()->fn_vChangeDisplayFog(TRUE);
|
|
m_oDisplayToolbar.SetButton(CPA_IDB_DISPLAYFOG);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnDisplayNoFog (void)
|
|
{
|
|
GetInterface()->GetSpecificInterface()->fn_vChangeDisplayFog(FALSE);
|
|
m_oDisplayToolbar.SetButton(CPA_IDB_DISPLAYNOFOG);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// DisplayCenter
|
|
|
|
void CPA_DialogBar::OnNoCenter (void)
|
|
{
|
|
GetInterface()->SetShowcenter(0);
|
|
GetInterface()->fn_vUpdateAll(E_mc_UpdateDialog);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnMainCenters (void)
|
|
{
|
|
GetInterface()->SetShowcenter(2);
|
|
GetInterface()->fn_vUpdateAll(E_mc_UpdateDialog);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnAllCenters (void)
|
|
{
|
|
GetInterface()->SetShowcenter(1);
|
|
GetInterface()->fn_vUpdateAll(E_mc_UpdateDialog);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::fn_vUpdateCenterMode (int iNewMode)
|
|
{
|
|
switch (iNewMode)
|
|
{
|
|
case 0:
|
|
m_oDisplayToolbar.SetButton(IDCB_NORMAL);
|
|
break;
|
|
case 1:
|
|
m_oDisplayToolbar.SetButton(IDCB_ALLCENTERS);
|
|
break;
|
|
case 2:
|
|
m_oDisplayToolbar.SetButton(IDCB_MAINCENTERS);
|
|
break;
|
|
}
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// ConstraintMove
|
|
|
|
void CPA_DialogBar::OnNoConstraint (void)
|
|
{
|
|
GetInterface()->SetConsX(0);
|
|
GetInterface()->SetConsY(0);
|
|
GetInterface()->SetConsZ(0);
|
|
m_oDeviceToolbar.SetButton(IDCB_NOCONSTRAINT);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnConstraintX (void)
|
|
{
|
|
GetInterface()->SetConsX(1);
|
|
GetInterface()->SetConsY(0);
|
|
GetInterface()->SetConsZ(0);
|
|
m_oDeviceToolbar.SetButton(IDCB_CONSTRAINTX);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnConstraintY (void)
|
|
{
|
|
GetInterface()->SetConsX(0);
|
|
GetInterface()->SetConsY(1);
|
|
GetInterface()->SetConsZ(0);
|
|
m_oDeviceToolbar.SetButton(IDCB_CONSTRAINTY);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnConstraintZ (void)
|
|
{
|
|
GetInterface()->SetConsX(0);
|
|
GetInterface()->SetConsY(0);
|
|
GetInterface()->SetConsZ(1);
|
|
m_oDeviceToolbar.SetButton(IDCB_CONSTRAINTZ);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnConstraintXY (void)
|
|
{
|
|
GetInterface()->SetConsX(1);
|
|
GetInterface()->SetConsY(1);
|
|
GetInterface()->SetConsZ(0);
|
|
m_oDeviceToolbar.SetButton(IDCB_CONSTRAINTXY);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnConstraintXZ (void)
|
|
{
|
|
GetInterface()->SetConsX(1);
|
|
GetInterface()->SetConsY(0);
|
|
GetInterface()->SetConsZ(1);
|
|
m_oDeviceToolbar.SetButton(IDCB_CONSTRAINTXZ);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnConstraintYZ (void)
|
|
{
|
|
GetInterface()->SetConsX(0);
|
|
GetInterface()->SetConsY(1);
|
|
GetInterface()->SetConsZ(1);
|
|
m_oDeviceToolbar.SetButton(IDCB_CONSTRAINTYZ);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Contraint Toolbar
|
|
void CPA_DialogBar::fn_vUpdateConstraints( int iConstraintsMask )
|
|
{
|
|
//compose the current mask
|
|
int iFinalMask = 0;
|
|
if ( GetInterface()->fn_bConsX() )
|
|
iFinalMask = iFinalMask | CPA_MASK_CONSTRAINTX;
|
|
if ( GetInterface()->fn_bConsY() )
|
|
iFinalMask = iFinalMask | CPA_MASK_CONSTRAINTY;
|
|
if ( GetInterface()->fn_bConsZ() )
|
|
iFinalMask = iFinalMask | CPA_MASK_CONSTRAINTZ;
|
|
//set the flags
|
|
iFinalMask = iConstraintsMask ^ iFinalMask;
|
|
GetInterface()->SetConsX(iFinalMask & CPA_MASK_CONSTRAINTX);
|
|
GetInterface()->SetConsY(iFinalMask & CPA_MASK_CONSTRAINTY);
|
|
GetInterface()->SetConsZ(iFinalMask & CPA_MASK_CONSTRAINTZ);
|
|
//set the bitmap
|
|
switch (iFinalMask )
|
|
{
|
|
case 1:
|
|
m_oDeviceToolbar.SetButton(IDCB_CONSTRAINTX);
|
|
break;
|
|
case 2:
|
|
m_oDeviceToolbar.SetButton(IDCB_CONSTRAINTY);
|
|
break;
|
|
case 3:
|
|
m_oDeviceToolbar.SetButton(IDCB_CONSTRAINTXY);
|
|
break;
|
|
case 4:
|
|
m_oDeviceToolbar.SetButton(IDCB_CONSTRAINTZ);
|
|
break;
|
|
case 5:
|
|
m_oDeviceToolbar.SetButton(IDCB_CONSTRAINTXZ);
|
|
break;
|
|
case 6:
|
|
m_oDeviceToolbar.SetButton(IDCB_CONSTRAINTYZ);
|
|
break;
|
|
case 0:
|
|
case 7:
|
|
//all flags are set ; this is senseless so reset them all
|
|
GetInterface()->SetConsX(0);
|
|
GetInterface()->SetConsY(0);
|
|
GetInterface()->SetConsZ(0);
|
|
m_oDeviceToolbar.SetButton(IDCB_NOCONSTRAINT);
|
|
}
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnTextured (void)
|
|
{
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsTextured, TRUE);
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsNotGrided, TRUE);
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsNotWired, TRUE);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnNoTex (void)
|
|
{
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsTextured, FALSE);
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsNotGrided, TRUE);
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsNotWired, TRUE);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnWired (void)
|
|
{
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsTextured, TRUE);
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsNotGrided, TRUE);
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsNotWired, FALSE);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnWiredNoTex (void)
|
|
{
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsTextured, FALSE);
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsNotGrided, TRUE);
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsNotWired, FALSE);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnGrided (void)
|
|
{
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsTextured, TRUE);
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsNotGrided, FALSE);
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsNotWired, TRUE);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnGridedNoTex (void)
|
|
{
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsTextured, FALSE);
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsNotGrided, FALSE);
|
|
GetInterface()->fn_vChangeWorldMask(GLI_C_lIsNotWired, TRUE);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::fn_vUpdateAppearance (long lFlag)
|
|
{
|
|
if (!(lFlag & GLI_C_lIsNotWired))
|
|
m_oDisplayToolbar.SetButton((lFlag & GLI_C_lIsTextured) ? CPA_IDB_WIRED : CPA_IDB_WIREDNOTEX);
|
|
|
|
else if (!(lFlag & GLI_C_lIsNotGrided))
|
|
m_oDisplayToolbar.SetButton((lFlag & GLI_C_lIsTextured) ? CPA_IDB_GRIDED : CPA_IDB_GRIDEDNOTEX);
|
|
else
|
|
m_oDisplayToolbar.SetButton((lFlag & GLI_C_lIsTextured) ? CPA_IDB_TEXTURED : CPA_IDB_NOTEX);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnNoBV (void)
|
|
{
|
|
GetInterface()->fn_vSetBVMode(E_bv_None);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnSectorBV (void)
|
|
{
|
|
GetInterface()->fn_vSetBVMode(E_bv_Sectors);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnActorBV (void)
|
|
{
|
|
GetInterface()->fn_vSetBVMode(E_bv_Actors);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnObjectBV (void)
|
|
{
|
|
GetInterface()->fn_vSetBVMode(E_bv_Objects);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::fn_vUpdateBVMode (int iMode)
|
|
{
|
|
switch ((tdeBVMode) iMode)
|
|
{
|
|
case E_bv_None:
|
|
m_oDisplayToolbar.SetButton(CPA_IDB_NOBV);
|
|
break;
|
|
case E_bv_Sectors:
|
|
m_oDisplayToolbar.SetButton(CPA_IDB_SECTORBV);
|
|
break;
|
|
case E_bv_Actors:
|
|
m_oDisplayToolbar.SetButton(CPA_IDB_ACTORBV);
|
|
break;
|
|
case E_bv_Objects:
|
|
m_oDisplayToolbar.SetButton(CPA_IDB_OBJECTBV);
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::fn_vUpdateAxisMode (int iDisplayMode)
|
|
{
|
|
tdeDisplayReferential eDisplayMode = (tdeDisplayReferential)iDisplayMode;
|
|
switch( eDisplayMode )
|
|
{
|
|
case DisplayNone:
|
|
m_oDisplayToolbar.SetButton(CPA_IDB_NOAXIS);
|
|
break;
|
|
case DisplayDownLeft:
|
|
m_oDisplayToolbar.SetButton(CPA_IDB_AXISDOWNLEFT);
|
|
break;
|
|
case DisplayDownRight:
|
|
m_oDisplayToolbar.SetButton(CPA_IDB_AXISDOWNRIGHT);
|
|
break;
|
|
}
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnDisplayNoAxis(void)
|
|
{
|
|
CPA_CameraDLLBase *p_oCameraInterface = ((DEV_ViewPort3D *) GetParentMultiDevice()->GetFocusDevice()->GetViewPort())->GetCameraInterface();
|
|
|
|
p_oCameraInterface -> SetReferentialDisplayMode( DisplayNone );
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnDisplayAxisDownLeft(void)
|
|
{
|
|
CPA_CameraDLLBase *p_oCameraInterface = ((DEV_ViewPort3D *) GetParentMultiDevice()->GetFocusDevice()->GetViewPort())->GetCameraInterface();
|
|
|
|
p_oCameraInterface -> SetReferentialDisplayMode( DisplayDownLeft );
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnDisplayAxisDownRight(void)
|
|
{
|
|
CPA_CameraDLLBase *p_oCameraInterface = ((DEV_ViewPort3D *) GetParentMultiDevice()->GetFocusDevice()->GetViewPort())->GetCameraInterface();
|
|
|
|
p_oCameraInterface -> SetReferentialDisplayMode( DisplayDownRight );
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Begin Silviu Simen 13 August 1998 Button for StatusBar
|
|
void CPA_DialogBar::OnStatusBarMode (void)
|
|
{
|
|
CButton *pBut = (CButton *) GetDlgItem(CPA_IDCB_STATUSBARMODE);
|
|
tdeStatusBar iStatusMode;
|
|
iStatusMode = GetInterface()->GetStatusBarMode();
|
|
switch (iStatusMode )
|
|
{
|
|
case E_sb_CameraInfo:
|
|
pBut->SetIcon(m_hInsInfIcon);
|
|
GetInterface()->SetStatusBarMode(E_sb_InstanceInfo);
|
|
break;
|
|
case E_sb_InstanceInfo:
|
|
pBut->SetIcon(m_hInsCamIcon);
|
|
GetInterface()->SetStatusBarMode(E_sb_InstanceToCamera);
|
|
break;
|
|
case E_sb_InstanceToCamera:
|
|
pBut->SetIcon(m_hCamInfIcon);
|
|
GetInterface()->SetStatusBarMode(E_sb_CameraInfo);
|
|
break;
|
|
}
|
|
((DEV_ViewPort3D *)GetInterface()->GetMultiDevice()->
|
|
GetFocusDevice()->GetViewPort())->fn_vUpdateStatusBarMessage();
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::fn_vUpdateStatusBarMode (int iStatusMode) {
|
|
CButton *pBut = (CButton *) GetDlgItem(CPA_IDCB_STATUSBARMODE);
|
|
switch (iStatusMode )
|
|
{
|
|
case E_sb_CameraInfo:
|
|
pBut->SetIcon(m_hCamInfIcon);
|
|
break;
|
|
case E_sb_InstanceInfo:
|
|
pBut->SetIcon(m_hInsInfIcon);
|
|
break;
|
|
case E_sb_InstanceToCamera:
|
|
pBut->SetIcon(m_hInsCamIcon);
|
|
break;
|
|
}
|
|
}
|
|
// End Silviu Simen 13 August 1998 Button for StatusBar
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CPA_DialogBar message handlers
|
|
|
|
BOOL CPA_DialogBar::OnToolTipNotify(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
|
|
{
|
|
TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pNMHDR;
|
|
UINT nID =pNMHDR->idFrom;
|
|
|
|
// if it is an ID from the camera toolbar
|
|
if (nID >= 40000 && nID <= 40050)
|
|
return (((CPA_CameraDLLBase*) m_p_oCamera->GetEditor())->OnToolTipNotify(m_p_oCamera,pTTT,nID));
|
|
else
|
|
{
|
|
if (m_oDisplayToolbar.GetToolTipText(pTTT,nID))
|
|
return TRUE;
|
|
if (m_oDeviceToolbar.GetToolTipText(pTTT,nID))
|
|
return TRUE;
|
|
}
|
|
return FALSE;
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
BOOL CPA_DialogBar::PreTranslateMessage(MSG* pMsg)
|
|
{
|
|
if (m_hWnd)
|
|
{
|
|
m_ToolTip.RelayEvent (pMsg);
|
|
return CDialogBar::PreTranslateMessage(pMsg);
|
|
}
|
|
return (FALSE);
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Begin Silviu Simen Select by sector
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
void CPA_DialogBar::OnSelectBySector (void)
|
|
{
|
|
GetInterface()->SelectBySector();
|
|
}
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// End Silviu Simen Select by sector
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#endif // ACTIVE_EDITOR
|