CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
FxDocumentManager.h
Go to the documentation of this file.
1//
2// (C) Copyright 2005-2025 by Graebert GmbH.
3//
4// Permission to use, copy, modify, and distribute this software in
5// object code form for any purpose and without fee is hereby granted,
6// provided that the above copyright notice appears in all copies and
7// that both that copyright notice and the limited warranty and
8// restricted rights notice below appear in all supporting
9// documentation.
10//
11// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
12// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
13// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
14// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
15// UNINTERRUPTED OR ERROR FREE.
16
17#pragma once
18
19#include "DDKERNEL.h"
20#include "FxString.h"
21
22#include <DbDatabase.h>
23
24#if defined (__GNUC__)
25#include <stdint.h>
26#endif
27
28#include "FxPragmaPush.h"
29
30class CFxDocument;
31class CFxDocumentWindow;
33
34class QWidget;
35
38
45{
46public:
48 virtual ~CFxDocumentManager(void);
49
50 typedef enum
51 {
53 eNewImperial = 0x1, //imperial or metric
54 } NewFlags;
55
65 virtual CFxDocument* NewDocument( const CFxString& templateName, uintptr_t newFlags = eNewDefault, const OdPassword& password = OdPassword(), const CFxString& documentName = CFxString() ) = 0;
66
67 typedef enum
68 {
70 eOpenRecover = 0x1, //recover or open
71 eOpenReadOnly = 0x2 //open read only or depending on file's attributes
72 } OpenFlags;
73
83 virtual CFxDocument* OpenDocument( const CFxString& fileName, OdCodePageId* pCodepage, uintptr_t openFlags = eOpenDefault, const OdPassword& password = OdPassword() ) = 0;
84
90 virtual void CloseDocument( CFxDocument* pDatabase ) = 0;
91
97
98 virtual void DeactivateActiveDocument() = 0;
99
105 virtual void SetActiveDocument( CFxDocument* pDatabase ) = 0;
106
112 virtual void SetActiveDocument( CFxDocumentWindow* pDocumnetWindow ) = 0;
113
119 virtual void SetActivateDocumentByNumber( int iDocNumberToBeActivated ) = 0;
120
125 virtual unsigned short GetDocumentCount() const = 0;
126
133 virtual CFxDocument* GetDocumentByIndex( unsigned short iIndex ) = 0;
134
141 virtual CFxDocument* GetDocumentByFxNumber( unsigned short iFxNumber ) = 0;
142
149 virtual CFxDocument* GetDocumentByFileName( const CFxString& fileName ) = 0;
150
157 virtual CFxDocument* GetFxDocument( const OdDbDatabase* pDB ) const = 0;
158
164 virtual void AddReactor( CFxDocumentManagerReactor* pReactor ) = 0;
165
171 virtual void RemoveReactor( CFxDocumentManagerReactor* pReactor ) = 0;
172
178
179#if defined(_MSC_VER)
180 // Windows only features. Not Implemented on other OSs
181
187 virtual void PushResourceHandle( HINSTANCE hNewResourceHandle ) = 0;
191 virtual void PushCadResourceHandle() = 0;
195 virtual void PopResourceHandle() = 0;
196
197 // Windows only End
198#endif
199public:
208 static void GetDwlFileData( const CFxString& filePath, CFxString& userName, CFxString& machineName );
209};
210
211#include "FxPragmaPop.h"
#define DDKERNEL_API
Definition DDKERNEL.h:32
OdString OdPassword
Definition DbSecurity.h:52
OdSmartPtr< CFxDocumentIterator > CFxDocumentIteratorPtr
OdSmartPtr< CFxDocumentIterator > CFxDocumentIteratorPtr
OdCodePageId
Definition OdCodePage.h:31
virtual void SetActiveDocument(CFxDocumentWindow *pDocumnetWindow)=0
virtual ~CFxDocumentManager(void)
virtual CFxDocument * GetDocumentByIndex(unsigned short iIndex)=0
virtual void AddReactor(CFxDocumentManagerReactor *pReactor)=0
virtual void RemoveReactor(CFxDocumentManagerReactor *pReactor)=0
virtual void DeactivateActiveDocument()=0
virtual void CloseDocument(CFxDocument *pDatabase)=0
virtual CFxDocument * OpenDocument(const CFxString &fileName, OdCodePageId *pCodepage, uintptr_t openFlags=eOpenDefault, const OdPassword &password=OdPassword())=0
virtual CFxDocument * NewDocument(const CFxString &templateName, uintptr_t newFlags=eNewDefault, const OdPassword &password=OdPassword(), const CFxString &documentName=CFxString())=0
virtual CFxDocument * GetDocumentByFileName(const CFxString &fileName)=0
virtual unsigned short GetDocumentCount() const =0
virtual CFxDocumentIteratorPtr CreateDocumentIterator()=0
static void GetDwlFileData(const CFxString &filePath, CFxString &userName, CFxString &machineName)
virtual CFxDocument * GetDocumentByFxNumber(unsigned short iFxNumber)=0
virtual CFxDocument * GetFxDocument(const OdDbDatabase *pDB) const =0
virtual void SetActiveDocument(CFxDocument *pDatabase)=0
virtual CFxDocument * GetActiveDocument()=0
virtual void SetActivateDocumentByNumber(int iDocNumberToBeActivated)=0