CFx SDK Documentation  2020SP3
FxDesignResourceModel.h
Go to the documentation of this file.
1 //
2 // (C) Copyright 2005-2020 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 
21 #include "FxPragmaPush.h"
22 
23 class CFxString;
24 class CFxDesignDataItem;
25 
27 {
28 public:
32  enum ItemType
33  {
34  eNoneItem = -1,
35  eRootItem = 0, //This type of item can be added as root only or under Favorite node. Add to favorites and Set As Home not allowed.
36  eShortCutItem, //eShortCutItem not displayed in Source view.
38  eDrawingItem , //No sub item can be added under this type of item using AppendChild
39  eImageItem , //No sub item can be added under this type of item using AppendChild.
40  eLinkItem , //This type of item can be added under only Favorites node using AppendChild. Add To Favorites not allowed
42 
43  /* Following type of items created and added internally. */
63  };
64 
69  {
70  eNone = 0,
71  eBlocksVisible = 1,
72  eDimStylesVisible = 2,
73  eLayersVisible = 4,
74  eLineStylesVisible = 8,
75  eXrefDrawingsVisible = 16,
76  eSheetsVisible = 32,
77  eTableStylesVisible = 64,
78  eTextStylesVisible = 128,
79  eMLeaderStylesVisible = 256,
80  eAll = eBlocksVisible | eDimStylesVisible | eLayersVisible | eLineStylesVisible |
81  eXrefDrawingsVisible |eSheetsVisible | eTableStylesVisible | eTextStylesVisible |eMLeaderStylesVisible,
82  };
83 
87  enum Operation
88  {
89  eOpenInApplication = 0,
103  eExplore
104  };
105 
109  enum DataType
110  {
111  eInt = 0,
114  eDate
115  };
116 
117 public:
118  virtual ~CFxDesignResourceModel(void);
119 
137  virtual CFxDesignDataItem* CreateItem( const CFxString& sText,
139  bool bExpandable = true ) const = 0;
140 
141 
150  virtual CFxDesignDataItem* ItemAt( CFxDesignDataItem* pParent, int iIndex ) const = 0;
151 
160  virtual bool AppendChild( CFxDesignDataItem* pParent, CFxDesignDataItem* pChild ) = 0;
161 
169  virtual int GetChildCount( const CFxDesignDataItem* pItem ) const = 0;
170 
178  virtual bool RemoveAllChildren(CFxDesignDataItem* pParent) = 0;
179 
185  virtual bool RemoveItem( CFxDesignDataItem* pItem ) = 0;
186 
194  virtual CFxDesignDataItem* GetParentItem( const CFxDesignDataItem* pItem ) const = 0;
195 
201  virtual bool IsDrawingSubItem(CFxString& sURL) = 0;
202 
211  virtual bool RemoveDatabaseFromCache(const CFxString& sURL) = 0;
212 
217 
223  virtual void ExploreItem( CFxDesignDataItem* pItem ) = 0;
224 
225 protected:
227 
228 };
229 
230 #include "FxPragmaPop.h"
FxPragmaPop.h
CFxDesignResourceModel::DataType
DataType
Definition: FxDesignResourceModel.h:110
CFxDesignResourceModel::ItemAt
virtual CFxDesignDataItem * ItemAt(CFxDesignDataItem *pParent, int iIndex) const =0
CFxDesignResourceModel::eMLeaderStyle
@ eMLeaderStyle
Definition: FxDesignResourceModel.h:61
CFxDesignResourceModel::eXrefDrawings
@ eXrefDrawings
Definition: FxDesignResourceModel.h:48
CFxDesignResourceModel::eInsertBlock
@ eInsertBlock
Definition: FxDesignResourceModel.h:92
CFxDesignResourceModel::AppendChild
virtual bool AppendChild(CFxDesignDataItem *pParent, CFxDesignDataItem *pChild)=0
CFxDesignResourceModel::eLayerTable
@ eLayerTable
Definition: FxDesignResourceModel.h:46
CFxDesignResourceModel::~CFxDesignResourceModel
virtual ~CFxDesignResourceModel(void)
type
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274
CFxDesignResourceModel::eLineStyle
@ eLineStyle
Definition: FxDesignResourceModel.h:56
CFxDesignResourceModel::eAttachXref
@ eAttachXref
Definition: FxDesignResourceModel.h:96
CFxDesignResourceModel::GetParentItem
virtual CFxDesignDataItem * GetParentItem(const CFxDesignDataItem *pItem) const =0
CFxDesignResourceModel::eRefreshSource
@ eRefreshSource
Definition: FxDesignResourceModel.h:102
CFxDesignResourceModel::eSheet
@ eSheet
Definition: FxDesignResourceModel.h:58
CFxDesignResourceModel::Operation
Operation
Definition: FxDesignResourceModel.h:88
CFxDesignDataItem
Definition: FxDesignDataItem.h:35
DDKERNEL.h
CFxDesignResourceModel::eLayer
@ eLayer
Definition: FxDesignResourceModel.h:55
CFxDesignResourceModel::ItemType
ItemType
Definition: FxDesignResourceModel.h:33
CFxDesignResourceModel::eShortCutItem
@ eShortCutItem
Definition: FxDesignResourceModel.h:36
CFxDesignResourceModel::CreateItem
virtual CFxDesignDataItem * CreateItem(const CFxString &sText, CFxDesignResourceModel::ItemType type, bool bExpandable=true) const =0
CFxString
Definition: FxString.h:48
CFxDesignResourceModel::eTextStyle
@ eTextStyle
Definition: FxDesignResourceModel.h:60
CFxDesignResourceModel::RemoveItem
virtual bool RemoveItem(CFxDesignDataItem *pItem)=0
CFxDesignResourceModel::eTableStyles
@ eTableStyles
Definition: FxDesignResourceModel.h:50
CFxDesignResourceModel::eAddSheet
@ eAddSheet
Definition: FxDesignResourceModel.h:97
CFxDesignResourceModel::eInsertAsBlock
@ eInsertAsBlock
Definition: FxDesignResourceModel.h:90
CFxDesignResourceModel::eAddTableStyle
@ eAddTableStyle
Definition: FxDesignResourceModel.h:98
CFxDesignResourceModel::CFxDesignResourceModel
CFxDesignResourceModel()
CFxDesignResourceModel::eAttachAsXref
@ eAttachAsXref
Definition: FxDesignResourceModel.h:91
CFxDesignResourceModel::eTextStyleTable
@ eTextStyleTable
Definition: FxDesignResourceModel.h:51
CFxDesignResourceModel::eImageItem
@ eImageItem
Definition: FxDesignResourceModel.h:39
CFxDesignResourceModel::IsDrawingSubItem
virtual bool IsDrawingSubItem(CFxString &sURL)=0
CFxDesignResourceModel::eLineStyleTable
@ eLineStyleTable
Definition: FxDesignResourceModel.h:47
CFxDesignResourceModel::eAttachImage
@ eAttachImage
Definition: FxDesignResourceModel.h:101
CFxDesignResourceModel::eXrefDrawing
@ eXrefDrawing
Definition: FxDesignResourceModel.h:57
DDKERNEL_API
#define DDKERNEL_API
Definition: DDKERNEL.h:32
CFxDesignResourceModel::eAddLayer
@ eAddLayer
Definition: FxDesignResourceModel.h:94
CFxDesignResourceModel::eSheets
@ eSheets
Definition: FxDesignResourceModel.h:49
CFxDesignResourceModel::eNetworkComputer
@ eNetworkComputer
Definition: FxDesignResourceModel.h:41
CFxDesignResourceModel::DrawignSubItemVisibilty
DrawignSubItemVisibilty
Definition: FxDesignResourceModel.h:69
CFxDesignResourceModel::eLinkItem
@ eLinkItem
Definition: FxDesignResourceModel.h:40
CFxDesignResourceModel::eString
@ eString
Definition: FxDesignResourceModel.h:113
CFxDesignResourceModel::eTableStyle
@ eTableStyle
Definition: FxDesignResourceModel.h:59
CFxDesignResourceModel::RemoveDatabaseFromCache
virtual bool RemoveDatabaseFromCache(const CFxString &sURL)=0
CFxDesignResourceModel::eDrawingItem
@ eDrawingItem
Definition: FxDesignResourceModel.h:38
CFxDesignResourceModel::eAddMLeaderStyle
@ eAddMLeaderStyle
Definition: FxDesignResourceModel.h:100
CFxDesignResourceModel::eAddTextStyle
@ eAddTextStyle
Definition: FxDesignResourceModel.h:99
CFxDesignResourceModel::eDimStyle
@ eDimStyle
Definition: FxDesignResourceModel.h:54
CFxDesignResourceModel::eFolderItem
@ eFolderItem
Definition: FxDesignResourceModel.h:37
CFxDesignResourceModel::eAddDimStyle
@ eAddDimStyle
Definition: FxDesignResourceModel.h:93
CFxDesignResourceModel::eDimStyleTable
@ eDimStyleTable
Definition: FxDesignResourceModel.h:45
CFxDesignResourceModel::eDouble
@ eDouble
Definition: FxDesignResourceModel.h:112
CFxDesignResourceModel::ExploreItem
virtual void ExploreItem(CFxDesignDataItem *pItem)=0
FxPragmaPush.h
CFxDesignResourceModel::eBlockTable
@ eBlockTable
Definition: FxDesignResourceModel.h:44
CFxDesignResourceModel::RemoveAllChildren
virtual bool RemoveAllChildren(CFxDesignDataItem *pParent)=0
CFxDesignResourceModel::eAddLineStyle
@ eAddLineStyle
Definition: FxDesignResourceModel.h:95
CFxDesignResourceModel::eLastStyle
@ eLastStyle
Definition: FxDesignResourceModel.h:62
CFxDesignResourceModel::GetChildCount
virtual int GetChildCount(const CFxDesignDataItem *pItem) const =0
CFxDesignResourceModel::eBlock
@ eBlock
Definition: FxDesignResourceModel.h:53
CFxDesignResourceModel::eMLeaderStyles
@ eMLeaderStyles
Definition: FxDesignResourceModel.h:52
CFxDesignResourceModel
Definition: FxDesignResourceModel.h:27
CFxDesignResourceModel::GetExploredItem
virtual CFxDesignDataItem * GetExploredItem()=0