Stroika Library
3.0d16
Help-Home
Loading...
Searching...
No Matches
Config.h
1
/*
2
* Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3
*/
4
#ifndef _Stroika_Framework_Led_Config_h_
5
#define _Stroika_Framework_Led_Config_h_ 1
6
7
#include "Stroika/Frameworks/StroikaPreComp.h"
8
9
#include "
Stroika/Foundation/Common/StroikaVersion.h
"
10
#include "
Stroika/Foundation/Common/VersionDefs.h
"
11
12
/*
13
@MODULE: LedConfig
14
@DESCRIPTION:
15
<p>Support basic configuration defines for the operating system, and compiler, and some basic features
16
(like character set).
17
</p>
18
*
19
* TODO:
20
* @todo MAJOR CLAENAUP here required. Still alot of this overlaps with Stroika stuff (like qStroika_Foundation_Debug_AssertionsChecked) - LOSE
21
* overalaps and configs no longer used.
22
*
23
*/
24
25
/*
26
* This Numeric Led version is intended to allow you to conditionally compile code
27
* based on different versions of Led. The Led::kVersion string is a symbolic representation
28
* of this version.
29
*
30
* Don't count on the particular hard-wirded version number. Instead - compare as follows:
31
* #if qLed_FullVersion > MAKE_LED_FULL_VERSION (1, 0, qLed_Version_Stage_Beta, 3, 1)
32
* DOTHIS ();
33
* #else
34
* DOTHAT ();
35
* #endif
36
*/
37
38
// This part is where we actually update the version#
39
#define qLed_Version_Major 4
40
#define qLed_Version_Minor 0
41
#define qLed_Version_MajorMinor 0x40
42
#define qLed_Version_Stage kStroika_Version_Stage
43
#define qLed_Version_SubStage kStroika_Version_SubStage
44
#define qLed_Version_FinalBuild kStroika_Version_FinalBuild
45
46
// MAJOR VERSION OF LED is 2 + VERSION OF STROIKA
47
#if kStroika_Version_Major == 3 && kStroika_Version_Minor == 0
48
#define qLed_MajorMinorVersionString "5.0"
49
#else
50
#warning "Led version needs manual update here..."
51
#define qLed_MajorMinorVersionString "4.1"
52
#endif
53
#if kStroika_Version_Stage == kStroika_Version_Stage_Dev
54
#define __vLet1__ "d"
55
#elif kStroika_Version_Stage == kStroika_Version_Stage_Alpha
56
#define __vLet1__ "a"
57
#elif kStroika_Version_Stage == kStroika_Version_Stage_Beta
58
#define __vLet1__ "b"
59
#elif kStroika_Version_Stage == kStroika_Version_Stage_ReleaseCandidate
60
#define __vLet1__ "rc"
61
#else
62
#define __vLet1__ ""
63
#endif
64
65
#define _STR_HELPER(x) #x
66
#define _STR(x) _STR_HELPER (x)
67
#define __vLet2__ _STR (kStroika_Version_SubStage)
68
69
#if qLed_Version_FinalBuild
70
#define qLed_ShortVersionString qLed_MajorMinorVersionString __vLet1__ __vLet2__
71
#else
72
#define qLed_ShortVersionString qLed_MajorMinorVersionString __vLet1__ __vLet2__ "x"
73
#endif
74
75
#define qLed_FullVersion \
76
Stroika_Make_FULL_VERSION (qLed_Version_Major, qLed_Version_Minor, qLed_Version_Stage, qLed_Version_SubStage, qLed_Version_FinalBuild)
77
78
/*
79
**************** COMMOM configuration variables ***************
80
**************** COMMOM configuration variables ***************
81
**************** COMMOM configuration variables ***************
82
**************** COMMOM configuration variables ***************
83
**************** COMMOM configuration variables ***************
84
*/
85
86
/**
87
* Led contains lots of internal debugging code which is mainly intended to find bugs
88
* in Led itself. Its less valuable for finding bugs in your programs' usage of Led. Much of that debugging
89
* code makes Led quite slow (for larger documents).</p>
90
* <p>The Led sample applications are all built with qHeavyDebugging when qStroika_Foundation_Debug_AssertionsChecked is on. But Led defaults
91
* to having this value false, so that your applications won't be needlessly slow.</p>
92
* <p>If you run into some subtle bug, or if you aren't worried about the speed of Led with large documents
93
* when debugging is ON, then you may want to turn this flag ON.</p>
94
* <p>See also @'qStroika_Foundation_Debug_AssertionsChecked'</p>
95
*/
96
#ifndef qStroika_Frameworks_Led_HeavyDebugging
97
#define qStroika_Frameworks_Led_HeavyDebugging 0
98
#endif
99
100
/*
101
@CONFIGVAR: qNestedTablesSupported
102
@DESCRIPTION: <p>This define controls whether or not the Led WordProcessor/StyledTextIO class support nested tables.
103
This will <em>not</em> be supported for Led 3.1, but probably will be in a release thereafter.
104
There is SOME code available for both cases, but just a little (as of 2003-04-12).</p>
105
*/
106
#ifndef qStroika_Frameworks_Led_NestedTablesSupported
107
#define qStroika_Frameworks_Led_NestedTablesSupported 0
108
#endif
109
110
/*
111
@CONFIGVAR: qStroika_Frameworks_Led_ProvideIMESupport
112
@DESCRIPTION: <p>Do we need to explictly support the IME?</p>
113
<p>NB: qStroika_Frameworks_Led_ProvideIMESupport used to be called qRequireIMESupport, but now we
114
simply provide it, and it essentailly becomes a no-op if you've no IME installed.</p>
115
<p>This is ON by default (for windows). It degrades gracefully if no IME found.</p>
116
*/
117
#ifndef qStroika_Frameworks_Led_ProvideIMESupport
118
#if qStroika_Foundation_Common_Platform_Windows
119
#define qStroika_Frameworks_Led_ProvideIMESupport 1
120
#else
121
#define qStroika_Frameworks_Led_ProvideIMESupport 0
122
#endif
123
#endif
124
125
/*
126
@CONFIGVAR: qPeekForMoreCharsOnUserTyping
127
@DESCRIPTION: <p>A trick to get better (worse?) interactivity in typing.</p>
128
<p>Defaults to true.</p>
129
*/
130
#ifndef qPeekForMoreCharsOnUserTyping
131
#define qPeekForMoreCharsOnUserTyping 1
132
#endif
133
134
/*
135
@CONFIGVAR: qDoubleClickSelectsSpaceAfterWord
136
@DESCRIPTION: <p>qDoubleClickSelectsSpaceAfterWord is a very silly idea, imho, but it is a standard UI feature
137
on MS Windows editors, and not uncommon on the Mac. As far as I can tell, the idea
138
is just to select a word, plus all trailing whitespace on double clicks. The idea is
139
that this somehow makes cut/paste work more easily. So it is sometimes referred
140
to as smart cut and paste or intelligent cut and paste.</p>
141
<p>By default I USED TO enable this only for windows.
142
Now it is always OFF by default, since I think its too stupid, and annoying.
143
Someday soon I'll implement better smart-cut/paste like Style(on Mac) does.</p>
144
*/
145
#ifndef qDoubleClickSelectsSpaceAfterWord
146
#if qStroika_Foundation_Common_Platform_Windows
147
#define qDoubleClickSelectsSpaceAfterWord 0
148
#else
149
#define qDoubleClickSelectsSpaceAfterWord 0
150
#endif
151
#endif
152
153
#ifndef qStroika_Frameworks_Led_SupportGDI
154
#define qStroika_Frameworks_Led_SupportGDI qStroika_Foundation_Common_Platform_Windows
155
#endif
156
157
/*
158
@CONFIGVAR: qDynamiclyChooseAutoScrollIncrement
159
@DESCRIPTION: <p>On slower computers, this can make scrolling appear a bit faster. At some risk to
160
predictablity...</p>
161
*/
162
#ifndef qDynamiclyChooseAutoScrollIncrement
163
#define qDynamiclyChooseAutoScrollIncrement 1
164
#endif
165
166
/*
167
@CONFIGVAR: qUseOffscreenBitmapsToReduceFlicker
168
@DESCRIPTION: <p>Led already has very little flicker. This is because we are very careful to
169
draw as little as possible, and to draw quickly. But some cases still exist.
170
Like large pictures being drawn are flicker, cuz we must erase the bounds and then
171
draw the picture.</p>
172
<p>Using this gets rid of these few cases of flicker, but at a small performance cost
173
in overall draw speed.</p>
174
<P> THIS FLAG IS NOW OBSOLETE (as of Led 3.0b6). Its still supported for backwards compatability.
175
But now all it does is set the default VALUE for the ImageUsingOffscreenBitmaps property.</p>
176
<p>Instead of using this, use @'TextImager::SetImageUsingOffscreenBitmaps' ().</p>
177
*/
178
#ifndef qUseOffscreenBitmapsToReduceFlicker
179
#define qUseOffscreenBitmapsToReduceFlicker 1
180
#endif
181
182
#if defined(__cplusplus)
183
namespace
Stroika::Frameworks::Led {
184
}
185
#endif
186
// Be sure namespace is defined for later use.
187
188
/*
189
**************** Windows Specific configuration variables **************
190
**************** Windows Specific configuration variables **************
191
**************** Windows Specific configuration variables **************
192
**************** Windows Specific configuration variables **************
193
**************** Windows Specific configuration variables **************
194
*/
195
#if qStroika_Foundation_Common_Platform_Windows
196
/*
197
@CONFIGVAR: qUseActiveXToOpenURLs
198
@DESCRIPTION: <p><b>Win32 ONLY</b></p>
199
<p>For supporting openening URLs.</p>
200
*/
201
#ifndef qUseActiveXToOpenURLs
202
#define qUseActiveXToOpenURLs 1
203
#endif
204
205
#endif
/*qStroika_Foundation_Common_Platform_Windows*/
206
207
/*
208
*************** X-Windows Specific configuration variables *************
209
*************** X-Windows Specific configuration variables *************
210
*************** X-Windows Specific configuration variables *************
211
*************** X-Windows Specific configuration variables *************
212
*************** X-Windows Specific configuration variables *************
213
*/
214
215
#endif
/*_Stroika_Framework_Led_Config_h_*/
StroikaVersion.h
VersionDefs.h
Library
Sources
Stroika
Frameworks
Led
Config.h
Generated by
1.9.8