00001 //------------------------------------------------------------------- 00004 // Copyright (c) 2008 Celeritive Technologies, Inc. 00005 // 00006 // Licensed under the Apache License, Version 2.0 (the "License"); 00007 // you may not use this file except in compliance with the License. 00008 // You may obtain a copy of the License at 00009 // 00010 // http://www.apache.org/licenses/LICENSE-2.0 00011 // 00012 // Unless required by applicable law or agreed to in writing, software 00013 // distributed under the License is distributed on an "AS IS" BASIS, 00014 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 // See the License for the specific language governing permissions and 00016 // limitations under the License. 00017 // 00018 //------------------------------------------------------------------- 00019 00020 #pragma once 00021 #include "afxcmn.h" 00022 #include <map> 00023 #include <string> 00024 00025 // LayerSelectionDialog dialog 00026 00027 typedef std::map<std::string, int> LayerMap; 00028 00029 #define LAYER_IGNORED 0 00030 #define LAYER_PART 1 00031 #define LAYER_MATERIAL 2 00032 00033 class LayerSelectionDialog : public CDialog 00034 { 00035 DECLARE_DYNAMIC(LayerSelectionDialog) 00036 00037 public: 00038 LayerSelectionDialog(const std::string& filename, LayerMap* pLayerMap, CWnd* pParent = NULL); // standard constructor 00039 virtual ~LayerSelectionDialog(); 00040 00041 virtual BOOL OnInitDialog (); 00042 00043 // Dialog Data 00044 enum { IDD = IDD_LAYER_DIALOG }; 00045 00046 protected: 00047 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 00048 00049 DECLARE_MESSAGE_MAP() 00050 public: 00051 CListCtrl m_listCtrl; 00052 std::string m_filename; 00053 LayerMap* m_pLayerMap; 00054 afx_msg void OnLvnItemchangedListLayers(NMHDR *pNMHDR, LRESULT *pResult); 00055 afx_msg void OnBnClickedPart(); 00056 afx_msg void OnBnClickedMaterial(); 00057 afx_msg void OnBnClickedIgnored(); 00058 afx_msg void OnBnClickedPreview(); 00059 };