CFx SDK Documentation  2023 SP0
FxDesignResourceModel.h
Go to the documentation of this file.
1 //
2 // (C) Copyright 2005-2022 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"
#define DDKERNEL_API
Definition: DDKERNEL.h:32
virtual bool IsDrawingSubItem(CFxString &sURL)=0
virtual void ExploreItem(CFxDesignDataItem *pItem)=0
virtual bool RemoveItem(CFxDesignDataItem *pItem)=0
virtual CFxDesignDataItem * ItemAt(CFxDesignDataItem *pParent, int iIndex) const =0
virtual bool AppendChild(CFxDesignDataItem *pParent, CFxDesignDataItem *pChild)=0
virtual bool RemoveAllChildren(CFxDesignDataItem *pParent)=0
virtual bool RemoveDatabaseFromCache(const CFxString &sURL)=0
virtual CFxDesignDataItem * CreateItem(const CFxString &sText, CFxDesignResourceModel::ItemType type, bool bExpandable=true) const =0
virtual CFxDesignDataItem * GetParentItem(const CFxDesignDataItem *pItem) const =0
virtual ~CFxDesignResourceModel(void)
virtual CFxDesignDataItem * GetExploredItem()=0
virtual int GetChildCount(const CFxDesignDataItem *pItem) const =0
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274