VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtFileExtensionManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvUtil/DtUnicode.h>
15 
16 #include <boost/unordered_map.hpp>
17 
18 #include <list>
19 #include <string>
20 #include <vector>
21 
22 namespace makVrv
23 {
24  class DtDe;
25 
30  {
31 
32  public:
34  typedef std::list<std::string> ExtensionList;
35 
38  {
41  };
42 
45  typedef std::vector<FileExtensionData> FileExtensionGroup;
46 
48  typedef boost::unordered_map<std::string, FileExtensionGroup> DialogTypeMap;
49 
51  static DtFileExtensionManager& instance(DtDe& de);
52 
54  virtual ~DtFileExtensionManager();
55 
58  virtual void addFileExtensions( const std::string& dialogType,
59  const DtUnicode& description, const ExtensionList& extensions );
60 
63  virtual void addFileExtension( const std::string& dialogType,
64  const DtUnicode& description, const std::string& extension );
65 
69  virtual void removeFileExtensions( const std::string& dialogType,
70  const ExtensionList& extensions );
71 
75  virtual void removeFileExtension( const std::string& dialogType,
76  const std::string& extension );
77 
80  virtual const FileExtensionGroup& getFileExtensions(
81  const std::string& dialogType ) const;
82 
84  virtual bool isMemberOfExtensionGroup(const std::string& dialogType, const DtUnicode & extensionGroup, const std::string& ext);
85 
87  virtual bool isMemberOfExtensionGroupByDialogType(const std::string& dialogType, const std::string& ext);
88 
89  protected:
90 
93 
94  virtual bool extensionListsMatch(const ExtensionList& extensions1,
95  const ExtensionList& extensions2 );
96 
97  protected:
98 
101  };
102 }
boost::unordered_map< std::string, FileExtensionGroup > DialogTypeMap
Map of FileExtensionGroup indexed by DialogType (&quot;AddTerrainPatch&quot;, &quot;SaveScene&quot;)
Definition: DtFileExtensionManager.h:48
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
std::vector< FileExtensionData > FileExtensionGroup
Vector of FileExtensionData records. Each dialog type has one FileExtensionGroup. ...
Definition: DtFileExtensionManager.h:45
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
ExtensionList extensions
Definition: DtFileExtensionManager.h:40
DtDe & myDe
Definition: DtFileExtensionManager.h:99
A singleton manager to provide allowable file extensions for use in file dialogs. ...
Definition: DtFileExtensionManager.h:29
std::list< std::string > ExtensionList
List of file extensions (gdb, medf, etc.)
Definition: DtFileExtensionManager.h:34
DtUnicode description
Definition: DtFileExtensionManager.h:39
DialogTypeMap myFileExtensions
Definition: DtFileExtensionManager.h:100
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
Associate a translatable description with a list of extensions.
Definition: DtFileExtensionManager.h:37
Contains DLL export macros.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)