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 <string>
19 #include <vector>
20 
21 namespace makVrv
22 {
23  class DtDe;
24 
29  {
30 
31  public:
33  typedef std::list<std::string> ExtensionList;
34 
37  {
40  };
41 
44  typedef std::vector<FileExtensionData> FileExtensionGroup;
45 
47  typedef boost::unordered_map<std::string, FileExtensionGroup> DialogTypeMap;
48 
50  static DtFileExtensionManager& instance(DtDe& de);
51 
53  virtual ~DtFileExtensionManager();
54 
57  virtual void addFileExtensions( const std::string& dialogType,
58  const DtUnicode& description, const ExtensionList& extensions );
59 
62  virtual void addFileExtension( const std::string& dialogType,
63  const DtUnicode& description, const std::string& extension );
64 
68  virtual void removeFileExtensions( const std::string& dialogType,
69  const ExtensionList& extensions );
70 
74  virtual void removeFileExtension( const std::string& dialogType,
75  const std::string& extension );
76 
79  virtual const FileExtensionGroup& getFileExtensions(
80  const std::string& dialogType ) const;
81 
83  virtual bool isMemberOfExtensionGroup(const std::string& dialogType, const DtUnicode & extensionGroup, const std::string& ext);
84 
86  virtual bool isMemberOfExtensionGroupByDialogType(const std::string& dialogType, const std::string& ext);
87 
88  protected:
89 
92 
93  virtual bool extensionListsMatch(const ExtensionList& extensions1,
94  const ExtensionList& extensions2 );
95 
96  protected:
97 
100  };
101 }
boost::unordered_map< std::string, FileExtensionGroup > DialogTypeMap
Map of FileExtensionGroup indexed by DialogType (&quot;AddTerrainPatch&quot;, &quot;SaveScene&quot;)
Definition: DtFileExtensionManager.h:47
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:44
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
ExtensionList extensions
Definition: DtFileExtensionManager.h:39
DtDe & myDe
Definition: DtFileExtensionManager.h:98
A singleton manager to provide allowable file extensions for use in file dialogs. ...
Definition: DtFileExtensionManager.h:28
std::list< std::string > ExtensionList
List of file extensions (gdb, medf, etc.)
Definition: DtFileExtensionManager.h:33
DtUnicode description
Definition: DtFileExtensionManager.h:38
DialogTypeMap myFileExtensions
Definition: DtFileExtensionManager.h:99
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:72
Associate a translatable description with a list of extensions.
Definition: DtFileExtensionManager.h:36
Contains DLL export macros.

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)