Files
FC1/Editor/PanelDisplayLayer.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

87 lines
2.2 KiB
C++

////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2001.
// -------------------------------------------------------------------------
// File name: paneldisplaylayer.h
// Version: v1.00
// Created: 9/4/2002 by Timur.
// Compilers: Visual C++ 7.0
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __paneldisplaylayer_h__
#define __paneldisplaylayer_h__
#if _MSC_VER > 1000
#pragma once
#endif
#include "XTToolkit.h"
#include "Controls\LayersListBox.h"
class CObjectLayer;
class CObjectLayerManager;
// CPanelDisplayLayer dialog
class CPanelDisplayLayer : public CXTCBarDialog
{
DECLARE_DYNAMIC(CPanelDisplayLayer)
public:
CPanelDisplayLayer(CWnd* pParent = NULL); // standard constructor
virtual ~CPanelDisplayLayer();
// Dialog Data
enum { IDD = IDD_PANEL_DISPLAY_LAYERS };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//! Callback called when layer is updated.
void OnLayerUpdate( int event,CObjectLayer *pLayer );
void SelectLayer( CObjectLayer *pLayer );
void ReloadLayers();
void OnLayersUpdate();
CString GetSelectedLayer();
DECLARE_MESSAGE_MAP()
private:
// ! ListBox of layers.
CXTTreeCtrl m_treeCtrl;
CXTToolBar m_toolbar;
CColorCtrl<CLayersListBox> m_layersCtrl;
HTREEITEM AddLayer( CObjectLayer *pLayer );
void SetItemState( HTREEITEM hItem );
void UpdateLayerItem( CObjectLayer *pLayer );
virtual void OnOK() {};
virtual void OnCancel() {};
virtual BOOL OnInitDialog();
afx_msg void OnSelChanged();
afx_msg void OnLayersRButtonUp(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnBnClickedNew();
afx_msg void OnBnClickedDelete();
afx_msg void OnBnClickedExport();
afx_msg void OnBnClickedImport();
afx_msg void OnBnClickedRename();
bool m_bLayersValid;
typedef std::map<CObjectLayer*,HTREEITEM> LayerToItemMap;
LayerToItemMap m_layerToItemMap;
CObjectLayer *m_currentLayer;
CObjectLayerManager *m_pLayerManager;
bool m_bIgnoreSelectItem;
HTREEITEM m_hPrevSelected;
};
#endif // __paneldisplaylayer_h__