Stroika Library 3.0d18
 
Loading...
Searching...
No Matches
LedLineIt/Sources/Options.h
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
4#ifndef __Options_h__
5#define __Options_h__ 1
6
7#include "Stroika/Foundation/StroikaPreComp.h"
8
9#include <afxwin.h>
10
11#include "Stroika/Frameworks/Led/GDI.h"
12#include "Stroika/Frameworks/Led/Support.h"
13#include "Stroika/Frameworks/Led/TextInteractor.h"
14
15#include "LedLineItConfig.h"
16
17using namespace Stroika::Foundation;
18using namespace Stroika::Frameworks::Led;
19
20class Options {
21public:
22 Options () = default;
23 ~Options () = default;
24
25public:
26 nonvirtual TextInteractor::SearchParameters GetSearchParameters () const;
27 nonvirtual void SetSearchParameters (const TextInteractor::SearchParameters& searchParameters);
28
29public:
30 nonvirtual const CDockState& GetDocBarState () const;
31 nonvirtual void SetDocBarState (const CDockState& dockState);
32
33public:
34 nonvirtual bool GetSmartCutAndPaste () const;
35 nonvirtual void SetSmartCutAndPaste (bool smartCutAndPaste);
36
37public:
38 nonvirtual bool GetAutoIndent () const;
39 nonvirtual void SetAutoIndent (bool autoIndent);
40
41public:
42 nonvirtual bool GetTreatTabAsIndentChar () const;
43 nonvirtual void SetTreatTabAsIndentChar (bool tabAsIndentChar);
44
45#if qSupportSyntaxColoring
46public:
47 enum SyntaxColoringOption {
48 eSyntaxColoringNone = 1,
49 eSyntaxColoringCPlusPlus = 2,
50 eSyntaxColoringVB = 3,
51
52 Stroika_Define_Enum_Bounds (eSyntaxColoringNone, eSyntaxColoringVB)
53 };
54 nonvirtual SyntaxColoringOption GetSyntaxColoringOption () const;
55 nonvirtual void SetSyntaxColoringOption (SyntaxColoringOption syntaxColoringOption);
56#endif
57
58#if qStroika_Foundation_Common_Platform_Windows
59public:
60 nonvirtual bool GetCheckFileAssocsAtStartup () const;
61 nonvirtual void SetCheckFileAssocsAtStartup (bool checkFileAssocsAtStartup);
62#endif
63
64public:
65 nonvirtual FontSpecification GetDefaultNewDocFont () const;
66 nonvirtual void SetDefaultNewDocFont (const FontSpecification& defaultNewDocFont);
67};
68
69/*
70 ********************************************************************************
71 ***************************** Implementation Details ***************************
72 ********************************************************************************
73 */
74
75//NB CANNOT CHANGE VALUES LIGHTLY - WRITTEN TO config files
77 template <>
78 constexpr EnumNames<Options::SyntaxColoringOption> DefaultNames<Options::SyntaxColoringOption>::k{
79 Common::EnumNames<Options::SyntaxColoringOption>::BasicArrayInitializer{{
80 {Options::SyntaxColoringOption::eSyntaxColoringNone, L"None"},
81 {Options::SyntaxColoringOption::eSyntaxColoringCPlusPlus, L"C++"},
82 {Options::SyntaxColoringOption::eSyntaxColoringVB, L"Visual-Basic"},
83 }}};
84}
85
86#endif /*__Options_h__*/
#define Stroika_Define_Enum_Bounds(FIRST_ITEM, LAST_ITEM)