OpenLexocad  27.1
Settings.h
Go to the documentation of this file.
1 #pragma once
2 #pragma warning(disable : 4251)
3 
4 #include <Base/GlobalId.h>
5 #include <Base/String.h>
6 #include <Base/Translator.h>
7 #include <Base/Log.h>
8 #include <Core/ViewerType.h>
9 #include <stdint.h>
10 
11 #include <Geom/Pnt.h>
12 #include <Geom/Trsf.h>
13 
14 #include <memory>
15 #include <vector>
16 #include <utility>
17 
18 
19 class QDialog;
20 class QTreeWidget;
21 class QSplitter;
22 
23 struct CodeExtendedInfoType;
24 
25 namespace Core
26 {
27 class SettingsP;
28 class CoreDocument;
29 class DocObject;
30 struct CodeProtectionFlags;
31 typedef std::shared_ptr<Core::CodeProtectionFlags> pCodeProtectionFlags;
32 
33 struct LX_CORE_EXPORT UpdateInfo
34 {
35  QString httpServer;
36  QString httpLogin;
37  QString httpPassword;
38  QString updateDir;
39 
43 };
44 
45 
46 
47 //
48 // BEWARE !!
49 //
50 // This class is PLATFORM-DEPENDENT !
51 //
52 // The reason is that the location in the system registry for file extension
53 // association is VALID ONLY FOR WINDOWS.
54 //
55 
56 
57 class LX_CORE_EXPORT Settings
58 {
59 public:
61  {
65  INTERNAL
66  };
67 
68 
69 
71  {
74  ASK
75  };
76 
77  enum SnapMode
78  {
79  OLD_MODE = 0,
80  NEW_MODE = 1
81 
82  };
83 
85  {
86  coarse = 0, // .004 * (diagonal of bounding box )
87  medium_coarse = 1, // .002 * (diagonal of bounding box )
88  medium_fine = 2, // .001 * (diagonal of bounding box )
89  fine = 3, // .0005 * (diagonal of bounding box )
90  ownImpl = 4
91  };
92 
94  {
95  facet_options_visualization = 0,
96  facet_options_precise = 1,
97  facet_options_expert = 2,
98  facet_global = 3
99  };
100 
101  enum class ShapeCreationMode
102  {
103  Acis,
104  Mesh,
105  MeshOnlyForMultiGeo
106  };
107 
108  enum class MarkerResolution
109  {
110  Auto,
111  Small,
112  Large,
113  Medium
114  };
115 
116 
117  Settings(int argc, char** argv);
118  ~Settings(void);
119 
120  void registerSettings();
121  void unregisterSettings();
122 
123  void saveWindowSettings(int mainWinDimensionX, int mainWinDimensionY, int mainWinPositionX, int mainWinPositionY, bool isMainWinMaximized);
124  void loadWindowSettings(int& mainWinDimensionX, int& mainWinDimensionY, int& mainWinPositionX, int& mainWinPositionY, bool& isMainWinMaximized);
125 
126  // void saveLexocadLayoutState(const QByteArray &state);
127  // bool loadLexocadLayoutState(QByteArray &state);
128 
129  ShapeCreationMode getDefaultIFCShapeCreationMode() const;
130  void setDefaultIFCShapeCreationMode(ShapeCreationMode m);
131 
132  void saveString(const QString& regKey, const QString& text);
133  void loadString(const QString& regKey, QString& text);
134 
135  void saveDialogGeometry(QWidget* dialog);
136  bool loadDialogGeometry(QWidget* dialog);
137 
138  void saveTreeWidgetSettings(QTreeWidget* tree);
139  bool loadTreeWidgetSettings(QTreeWidget* tree);
140 
141  void saveSplitterSettings(QSplitter* splitter);
142  bool loadSplitterSettings(QSplitter* splitter);
143 
144  void savePieceListDialogSettings(const QByteArray& tableState);
145  void loadPieceListDialogSettings(QByteArray& tableState);
146 
147  void saveIfcVersionDialogSettings(const QByteArray& data);
148  void loadIfcVersionDialogSettings(QByteArray& data);
149 
150  void saveProxyAuthentication(const QByteArray& data);
151  void loadProxyAuthentication(QByteArray& data);
152 
153  void saveLoadMaterialDlgSettings(const QByteArray& tableState);
154  bool loadLoadMaterialDlgSettings(QByteArray& tableState);
155 
156  void saveExtrudedAreaDlgSettings(int profileIndex, const QString& parameter1, const QString& parameter2);
157  void loadExtrudedAreaDlgSettings(int& profileIndex, QString& parameter1, QString& parameter2);
158 
159  void saveVisibilityDialogSettings(const QByteArray& geometryState, const QByteArray& splitterState);
160  bool loadVisibilityDialogSettings(QByteArray& geometryState, QByteArray& splitterState);
161 
162  const std::vector<int>& getUserDefFKeys();
163  void saveFKey(int fIdx, const QString& alternateActionName);
164  void loadFKeys(QStringList& actions);
165  QString loadFKey(const uint& functionKeyNumber) const;
166 
167  void saveScreenRecorderActive(bool on);
168  bool loadScreenRecorderActive();
169 
170  void saveScreenRecorderQualityProfile(int qualityProfile);
171  int loadScreenRecorderQualityProfile();
172 
173  void saveScreenRecorderWindowSize(const QSize& size);
174  QSize loadScreenRecorderWindowSize();
175 
176  void saveCameraAnimationViewerSize(const QSize& size);
177  QSize loadCameraAnimationViewerSize();
178 
179  void saveScreenRecorderAskForVideoFileName(bool on);
180  int loadScreenRecorderAskForVideoFileName();
181 
182  // void saveScreenRecorderQuality(int quality); //Target quantizer
183  // int loadScreenRecorderQuality();
184 
185  // void saveScreenRecorderFps(int fps);
186  // int loadScreenRecorderFps();
187 
188  void saveScreenRecorderOversize(bool on);
189  bool loadScreenRecorderOversize();
190  void saveScreenRecorderOversizeSize(const QSize& size);
191  QSize loadScreenRecorderOversizeSize();
192 
193  void saveScreenRecorderShowMenu(bool on);
194  bool loadScreenRecorderShowMenu();
195 
196  void saveScreenRecorderShowKeysAndMouse(bool on);
197  bool loadScreenRecorderShowKeysAndMouse();
198 
199  void saveScreenRecorderRecordSound(bool recordSound);
200  bool loadScreenRecorderRecordSound();
201 
202  void saveScreenRecorderShowRedRectangle(bool show);
203  bool loadScreenRecorderShowRedRectangle();
204 
205  void saveScreenRecorderRecordEvents(bool recordEvents);
206  bool loadScreenRecorderRecordEvents();
207 
208  void saveScreenRecorderPlayEvents(bool playEvents);
209  bool loadScreenRecorderPlayEvents();
210 
211  void saveWelcomeScreenVisible(bool on);
212  bool loadWelcomeScreenVisible();
213 
214  void saveNotificationDialogVisible(const unsigned int id, bool on);
215  bool loadNotificationDialogVisible(const unsigned int id) const;
216 
217  bool isUserDebugWindowVisible();
218  void setUserDebugWindowVisible(bool visible);
219 
220  void saveFonts(const QStringList& fonts);
221  QStringList loadFonts();
222 
223  void saveUserSettings(int cameraAnimationTime, int importMaxPoints);
224  void loadUserSettings(int& cameraAnimationTime, int& importMaxPoints);
225 
226  void setLastImportedFilePath(QString path);
227  QString getLastImportedFilePath();
228 
229  void setCurrentScriptFilePath(const QString& path);
230  QString getCurrentScriptFilePath() const;
231 
232  void setCurrentScriptId(const Base::GlobalId& aScriptId);
234 
235  void setCurrentScriptInsertionPoint(const Geom::Pnt& aInsertionPnt, bool isDragAndDropped, Core::DocObject* aDroppedOnObject);
236  Geom::Pnt getCurrentScriptInsertionPoint(bool& isDragAndDropped, Core::DocObject*& aDroppedOnObject) const;
237 
238  void setBuildingBlocksDir(std::string dir);
239  std::string getBuildingBlocksDir();
240  void setMaterialDir(std::string dir);
241  std::string getMaterialDir();
242 
243  void setIconsDir(std::string dir);
244  std::string getIconsDir();
245 
246  static void saveLanguage(CTranslator::Language language);
247  static CTranslator::Language loadLanguage();
248 
249  void enable_polgonoffset(bool on);
250  bool is_polgonoffset_enabled();
251 
252  double getRayPickRadius();
253  void setRayPickRadius(double r);
254 
255  uint32_t getPickPointCountMaximum();
256  void setPickPointCountMaximum(uint32_t r);
257 
258  CatalogType getCatalogType();
259  void setCatalogType(CatalogType);
260 
261  void setShowLocalAxisCross(bool on);
262  bool showLocalAxisCross();
263 
264  void setShowWorldAxisCross(bool on);
265  bool showWorldAxisCross();
266 
267  // void saveUseSaveReminder(bool on);
268  // bool loadUseSaveReminder();
269 
270  void setTest(bool on);
271  bool test() const;
272 
273  bool developer() const;
274 
275  void setMacroRecorderActive(bool on);
276  bool macroRecorderActive();
277 
278  // void setTranslationStepForPropertyView(double value);
279  // double getTranslationStepForPropertyView();
280 
281  void setRotationStepForPropertyView(double value);
282  double getRotationStepForPropertyView();
283 
284  void saveRecentFiles(const QStringList& list);
285  bool loadRecentFiles(QStringList& list);
286 
287  unsigned int getMaxRecentFiles();
288  void setMaxRecentFiles(unsigned int value);
289 
290  QString getUserCatalogDirInCadworkCat();
291  QString getUserCatalogDir(bool ignoreStandalone = false);
292  void setUserCatalogDir(const QString& dir);
293 
294  QString getBackupDir(bool ignoreStandalone = false);
295  // void setBackupDir(const QString &dir);
296 
297  int getNumberOfBackupFiles();
298  int getStandaloneNumberOfBackupFiles();
299  void setNumberOfBackupFiles(int count);
300 
301  int getIntervalOfBackupFiles();
302  int getStandaloneIntervalOfBackupFiles();
303  void setIntervalOfBackupFiles(int value);
304 
305  void loadCodeProtectionFlags(bool forceReload = true);
306  pCodeProtectionFlags getCodeProtectionFlags() const;
307  std::vector<int> codeProtectionTest(const std::vector<int>& requiredCodes) const;
308 
309  const std::vector<bool>& getDisabledCodes() const;
310  void setDisabledCodes(const std::vector<bool>& disabledCodes);
311 
312  static Core::Settings* getInstance();
313 
314  void setSubProductID_Standard();
315  void setSubProductID_IfcUser();
316  void setSubProductID_Plugin();
317  bool isSubProductID_Standard();
318  bool isSubProductID_IfcUser();
319  bool isSubProductID_Plugin();
320  std::string getSubProductIDAsString();
321  QString getPluginDir();
322  void setPluginDir(const QString& dir);
323 
324  QString getCadworkDir() const;
325  QString getCadworkPCLIBDir() const;
326  QString getCadworkCat() const;
327  QString getCadworkExeDir() const;
328  int getPCLIB_Version();
329  QString getCadworkUserprofile(bool ignoreStandalone = false) const;
330  QString getCadworkUserprofileWithVersion() const;
331  QString getCadworkClipboard() const;
332  int getCadworkNumberOfBackupFiles() const;
333  void setCadworkNumberOfBackupFiles(int value);
334  int getCadworkIntervalOfBackupFiles() const;
335  void setCadworkIntervalOfBackupFiles(int value);
336 
337  bool isCadwork3dInstalled() const;
338 
339  QString getPath2TestDocuments() const;
340 
341  QColor getBackgroundColor();
342  void setBackgroundColor(const QColor& color);
343 
344  QColor getGroundPlateColor();
345  void setGroundPlateColor(const QColor& color);
346 
347  void setOpenFileDir(QString dir);
348  QString getOpenFileDir();
349 
350  void setTextureOpenFileDir(QString dir);
351  QString getTextureOpenFileDir();
352 
353  void setCutOptions(CutOptions options);
354  CutOptions getCutOptions();
355 
356  CodeExtendedInfoType* getExtendedCodeInfo();
357  const QString& getClientNr();
358  QLocale::Country getClientCountry() const;
360 
363  void setModulePreference(const QString& moduleName, const QString& key, const QString& value);
366  QString getModulePreference(const QString& moduleName, const QString& key, const QString& defaultValue = QString());
367 
368  void setViewAnimation(bool on);
369  bool getViewAnimation() const;
370 
371  void setShowScaleHandles(bool on);
372  bool getShowScaleHandles() const;
373 
374  void setEnableZBufferPDFHack(bool on);
375  bool getEnableZBufferPDFHack() const;
376 
377  void setTexturesAllFaces(bool on);
378  bool getTexturesAllFaces() const;
379 
380  void setShowConsole(bool on);
381  bool getShowConsole();
382 
383  void setWithDebugger(bool on);
384  bool getWithDebugger();
385 
386  void setStyleSheetName(const QString& name);
387  QString getStyleSheetName();
388  QString loadStyleSheet(const QStringList& list);
389 
390  QString getOpenLxVersionString() const;
391  void setOpenLxVersionString(const QString& aVersion);
392 
393  bool canUseAcis();
394 
395  // void setWoodUser(bool on);
396 
397  void setForceWoodUser(bool on);
398  bool getForceWoodUser() const;
399  bool getWoodUser();
400 
401  void setOpenBuiltUser(bool on);
402  bool getOpenBuiltUser();
403 
404  void setIfcUser(bool on, bool persistent = false);
405  bool getIfcUser();
406 
407  void setIfcViewerFile(QString a);
408  QString getIfcViewerFile();
409 
410  // void setIfcSettings(bool on, bool persistent = false);
411  // bool getIfcSettings();
412 
413  void setDebugUser(bool on, bool persistent = false);
414  bool getDebugUser(bool persistent = false);
415 
416  bool getBaubitUser();
417  void setBaubitUser(bool on);
418 
419  bool isConceptionUserByDefault();
420  bool isConceptionUser();
421  void setConceptionUser(bool on);
422 
423  void setDownloadPdbFiles(bool on);
424  bool getDownloadPdbFiles();
425 
426  void setUpdateToUnstable(bool on);
427  bool getUpdateToUnstable();
428 
429  void setAcisPartEnabled(bool on);
430  bool getAcisPartEnabled();
431 
432  void setLODEnabled(bool on);
433  bool getLODEnabled() const;
434 
435  void saveIntegratedL2DLayoutState(const QByteArray& state);
436  bool loadIntegratedL2DLayoutState(QByteArray& state);
437 
438  void setShowTextures(bool on);
439  bool getShowTextures() const;
440 
441  void setShowComponentTypeTextures(bool on);
442  bool getShowComponentTypeTextures() const;
443 
444  void set_HPK_UseRain(bool yesno);
445  bool get_HPK_UseRain() const;
446 
447  void setCalculateViewprovider(bool on);
448  bool getCalculateViewprovider() const;
449 
451  void setAlternativeLookupPath(const Base::String& path);
453  Base::String getAlternativeLookupPath() const;
454 
455  Base::String getLexo2DName();
456  void setLogLevel(Base::LOGLEVEL, bool persistent = false);
458 
459  bool getAcisVersion(int& major, int& minor, int& point);
460  void setAcisVersion(int major, int minor, int point);
461 
462  void setRenderWireframe(bool on);
463  bool getRenderWireframe() const;
464  void setRenderFacets(bool on);
465  bool getRenderFacets() const;
466 
467  SnapMode getSnapMode() const;
468  void setSnapMode(SnapMode);
469 
470  void setUngroupMode(bool on);
471  bool getUngroupMode() const;
472 
473  void setMultiGeoUngroupMode(bool on);
474  bool getMultiGeoUngroupMode() const;
475 
476  void setMultisampling(bool on);
477  bool getMultisampling() const;
478 
479  void setAllowMultiViewOnStart(bool on);
480  bool getAllowMultiViewOnStart() const;
481 
482  int getDebugMessageCounter();
483  void resetDebugMessageCounter();
484  void incrementDebugMessageCounter();
485 
486  void setAcisSaveEntityTextMode(bool on, bool persistent = false);
487  bool getAcisSaveEntityTextMode() const;
488 
489  void setShapeTessellationQuality(Core::Settings::ShapeTessellationQuality quality);
490  Core::Settings::ShapeTessellationQuality getShapeTessellationQuality();
491 
492  void set3dzExportCutOpenings(bool on, bool persistent = false);
493  bool get3dzExportCutOpenings() const;
494 
495  void setShowLayerNumber(bool on);
496  bool getShowLayerNumber() const;
497 
498  // void setShowLayerZValue(bool on);
499  // bool getShowLayerZValue() const;
500 
501  void setShowComponentTypeNumber(bool on);
502  bool getShowComponentTypeNumber() const;
503 
504  void setBeamBothEndsSame(bool on);
505  bool getBeamBothEndsSame();
506 
507  void setCadworkStyle(bool on);
508  bool getCadworkStyle() const;
509 
510  void setOSGMode(bool on, bool persistent = false);
511  bool getOSGMode() const;
512 
513  void setCombinedAcisSaveMode(bool on, bool persistent = false);
514  bool getCombinedAcisSaveMode() const;
515 
516  void setIFCFastMode(bool on, bool persistent = false);
517  bool getIFCFastMode() const;
518 
519  void setGlobalSecondViewerWireframeDrawStyle(bool on);
520  bool getGlobalSecondViewerWireframeDrawStyle() const;
521 
522  void setUseThreads(bool on, bool persistent = false);
523  bool getUseThreads() const;
524 
525  void setIVExportSelectedFilter(QString filter);
526  QString getIVExportSelectedFilter() const;
527 
528  void setRunningFromLexocad(bool on);
529  bool getRunningFromLexocad() const;
530 
531  void setFastRenderMode(bool on, bool persistent = false);
532  bool getFastRenderMode() const;
533 
534  bool getCheckShapesOnRecompute(int& checkLevel) const;
535  void setCheckShapesOnRecompute(bool on, int checkLevel);
536 
537  bool getCheckSliverFacesOnRecompute() const;
538  void setCheckSliverFacesOnRecompute(bool on);
539 
540  bool getCheckFacetedBrepOnRecompute() const;
541  void setCheckFacetedBrepOnRecompute(bool on);
542 
543  bool getPointCloudMode() const;
544  void setPointCloudMode(bool on);
545 
546  bool getPointCloudPointPicking() const;
547  bool setPointCloudPointPicking(bool on);
548 
549  bool getPointCloudPointSelection() const;
550  void setPointCloudPointSelection(bool on);
551 
552  bool getPointCloudDynamicPointSize() const;
553  void setPointCloudDynamicPointSize(bool on, bool persistent = false);
554 
555  bool getPointCloudChunkSelectionEnabled() const;
556  void setPointCloudChunkSelectionEnabled(bool on);
557 
558  bool getPointCoarseLOD() const;
559  void setPointCoarseLOD(bool on);
560 
561  void setCreateMiniDumpOnCrash(bool on);
562  bool getCreateMiniDumpOnCrash();
563 
564  void setSoSeparatorCachingEnabled(bool on);
565  bool getSoSeparatorCachingEnabled() const;
566 
567  void setSoSeparatorCachingEnabledSpecial(bool on);
568  bool getSoSeparatorCachingEnabledSpecial() const;
569 
570  bool getPointCloudLODenabled() const;
571  void setPointCloudLODenabled(bool on);
572 
573  bool getShowPointCloudInSecondViewer() const;
574  void setShowPointCloudInSecondViewer(bool on);
575 
576  bool getSketcherMode() const;
577  void setSketcherMode(bool aOn);
578 
579 
580  void setViewerGeo(Core::ViewerType viewerType, const QSize& size, const QPoint& pos, bool maximized);
581  void getViewerGeo(Core::ViewerType viewerType, QSize& size, QPoint& pos, bool& maximized);
582 
583  void setLexocadCode(bool on);
584  bool getLexocadCode() const;
585 
586  bool getStandalone() const;
587  void setStandalone(bool on);
588  QString getStandaloneAppDataPath() const;
589 
590  bool getShowMeshOrientation() const;
591  void setShowMeshOrientation(bool on);
592 
593  void setDefaultDoorPreset(QString preset);
594  QString getDefaultDoorPreset() const;
595 
596  void setDefaultWindowPreset(QString preset);
597  QString getDefaultWindowPreset() const;
598 
599  void setDefaultFrenchWindowPreset(QString preset);
600  QString getDefaultFrenchWindowPreset() const;
601 
602  void setDefaultGarageDoorPreset(QString preset);
603  QString getDefaultGarageDoorPreset() const;
604 
605  bool getNewZooming() const;
606  void setNewZooming(bool on);
607 
608  bool getCoinShaderMode() const;
609  void setCoinShaderMode(bool on, bool persistent = true);
610 
611  bool getProfiling() const;
612  void setProfiling(bool on);
613 
614  bool getMeshCaching() const;
615  void setMeshCaching(bool on);
616 
617  bool getAcisMeshMultiThreating() const;
618  void setAcisMeshMultiThreating(bool on);
619 
620  int getFastRenderBatchMaxVertexCount() const;
621  void setFastRenderBatchMaxVertexCount(int);
622 
623  bool getFastRenderEnableEdges() const;
624  void setFastRenderEnableEdges(bool);
625 
626  bool getIfcImport_ImportAsInventor() const;
627  void setIfcImport_ImportAsInventor(bool on, bool persistance = true);
628 
629  bool get_Arch_WallAxisSystem() const;
630  void set_Arch_WallAxisSystem(bool on);
631 
632  bool getSaveRestoreIfcModelWithDocument() const;
633  void setSaveRestoreIfcModelWithDocument(bool on);
634 
635  bool getMaterialViewSmallIcons() const;
636  void setMaterialViewSmallIcons(bool on);
637 
638  bool getOpenMaterialDlgSmallIcons() const;
639  void setOpenMaterialDlgSmallIcons(bool on);
640 
641  uint64_t getLODMinimalPointCount() const;
642  void setLODMinimalPointCount(uint64_t t);
643 
644  void setAcisMeshShapeEnabled(bool);
645  bool getAcisMeshShapeEnabled() const;
646 
647  void setLazyFacetedBrepShapeForIfcImport(bool v);
648  bool getLazyFacetedBrepShapeForIfcImport() const;
649 
650  void setNewSoIndexedFaceSet(bool v);
651  bool getNewSoIndexedFaceSet() const;
652 
653  void setShowPreviewSurfaceForVerticalView(bool on);
654  bool getShowPreviewSurfaceForVerticalView();
655 
656  void setIFCFastMode_ExtrudedAreaSolid(bool on, bool persistent /*=false*/);
657  bool getIFCFastMode_ExtrudedAreaSolid() const;
658 
659  void setDeepDebug(bool on);
660  bool getDeepDebug() const;
661 
662  void setAllowMemoryIsLowMsg(bool on);
663  bool getAllowMemoryIsLowMsg() const;
664 
665  QString getCadwork3DDir() const;
666 
667  void setWallSolveWarning(int status); // 0=do not show, 1=show once, 2=show always
668  int getWallSolveWarning() const;
669 
670  void enableElementCollector(bool);
671  bool isElementCollectorEnabled() const;
672 
673  bool isVulkanRenderingEnabled() const;
674  const std::string& riTestScene() const;
675  bool disabledLog() const;
676 
677  // void setAutoClippingBoxMode(bool on);
678  // bool getAutoClippingBoxMode() const;
679 
680  void setNewViewProviderUpdate(bool on);
681  bool getNewViewProviderUpdate() const;
682 
683  void setVisibilityIconHas3States(bool on);
684  bool getVisibilityIconHas3States() const;
685 
686  void setSaveDialogGeometryInRegistry(bool on);
687  bool getSaveDialogGeometryInRegistry() const;
688 
689  uint64_t getMetalShapeSelectionFlags() const;
690  void setMetalShapeSelectionFlags(uint64_t flags);
691 
692  bool isWoodConstructionUser();
693 
694  bool isInternalCadworkUser();
695 
696  std::pair<int, int> getMinimalModernOpenGLVersion() const;
697 
698  void setObjExportUnprotected(bool unprotected);
699  bool isObjExportUnprotected() const;
700 
701  bool getRealLineThicknessMode() const;
702  void setRealLineThicknessMode(bool on);
703  const Geom::Trsf& getRealLineThicknessModeTrsf() const;
704  void setRealLineThicknessModeTrsf(const Geom::Trsf& trsf);
705 
706  Base::String getLxElementTypeIdentifier() const;
707 
708  Base::String getDisplayName();
709 
710  bool checkResultFromPolyToAcisConverter() const;
711  void setCheckResultFromPolyToAcisConverter(bool v);
712 
713 
714  bool allowQuadroCard() const;
715  Core::UpdateInfo getUpdateInfo();
716  bool getUpdateInfos(QString& appName, QString& updateDir);
717  bool getUpdateSetting(QString& organization, QString& application);
718 
719  void setDrawLocalCoordinateSystem(bool on);
720  bool getDrawLocalCoordinateSystem() const;
721 
722 
723  void setMarkerResolution(MarkerResolution);
724  MarkerResolution getMarkerResolution();
725 
726 
727  unsigned long getLODLevel_MidRes() const;
728  unsigned long getLODLevel_LowRes() const;
729  unsigned long getLODLevel_VoidRes() const;
730 
731 
732  bool isGridPicking() const;
733  void setGridPickung(bool on);
734 
735  bool isUnitTestingEnabled() const;
736  void enableUnitTesting(bool on);
737 
738  bool isDefectLinksMessageEnabled() const;
739  void enableDefectLinksMessage(bool on);
740 
741  QString getCustomBimTeamOrigin() const;
742  void setCustomBimTeamOrigin(const QString& value);
743 
744 
745  static bool isPublicVersion();
746  static bool isBeta();
747  bool hasPreviousVersionToSave();
748  static std::pair<int,int> getPreviousVersionToSave();
749  static bool showNewVersionMessage(std::pair<int,int> appVersionOfOpeningDocument);
750  static bool isUpdateInternal();
751 
752 
754  bool lexocadIsIncadworkDir(QString& errorMessage);
756  bool get_CI_Start_FilePath(QString& ci_start_filepath, QString& errorMessage);
757 
758 
759 private:
760  Settings(){};
761  Core::SettingsP* _pimpl = nullptr;
762  static Core::Settings* _instance;
763 
764  QString _getNotificationDialogKey(const unsigned int id) const;
765 };
766 
767 
768 } // namespace Core
LX_BASE_EXPORT LOGLEVEL getLogLevel()
MarkerResolution
Definition: Settings.h:108
Definition: Settings.h:33
QString getCodeProtectionNodeName()
Definition: Settings.h:64
CoreDocument()
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:43
ShapeTessellationMode
Definition: Settings.h:93
LX_CORE_EXPORT Base::GlobalId getCurrentScriptId()
CatalogType
Definition: Settings.h:60
QString httpServer_unstable
Definition: Settings.h:40
ShapeCreationMode
Definition: Settings.h:101
Core::PropertyText name
Definition: CoreDocument.h:167
Definition: Settings.h:73
QString httpServer
Definition: Settings.h:35
Definition: Settings.h:63
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:23
LX_CORE_EXPORT Base::String getCurrentScriptFilePath()
LX_CORE_EXPORT Base::String getLastImportedFilePath()
General.
CutOptions
Definition: Settings.h:70
QString httpLogin_unstable
Definition: Settings.h:41
Definition: Trsf.h:57
Definition: Settings.h:72
Definition: GlobalId.h:29
QString httpPassword
Definition: Settings.h:37
Definition: Base.h:12
QString httpPassword_unstable
Definition: Settings.h:42
std::shared_ptr< Core::CodeProtectionFlags > pCodeProtectionFlags
Definition: Settings.h:30
Definition: Settings.h:57
LOGLEVEL
Definition: Log.h:11
ShapeTessellationQuality
Definition: Settings.h:84
QString httpLogin
Definition: Settings.h:36
SnapMode
Definition: Settings.h:77
LX_BASE_EXPORT void setLogLevel(LOGLEVEL)
QString updateDir
Definition: Settings.h:38
Definition: Settings.h:62
ViewerType
Definition: ViewerType.h:6
Definition: DocObject.h:51