xref: /aoo41x/main/basic/inc/basic/sbdef.hxx (revision 234bd5c5)
1*234bd5c5SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*234bd5c5SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*234bd5c5SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*234bd5c5SAndrew Rist  * distributed with this work for additional information
6*234bd5c5SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*234bd5c5SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*234bd5c5SAndrew Rist  * "License"); you may not use this file except in compliance
9*234bd5c5SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*234bd5c5SAndrew Rist  *
11*234bd5c5SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*234bd5c5SAndrew Rist  *
13*234bd5c5SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*234bd5c5SAndrew Rist  * software distributed under the License is distributed on an
15*234bd5c5SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*234bd5c5SAndrew Rist  * KIND, either express or implied.  See the License for the
17*234bd5c5SAndrew Rist  * specific language governing permissions and limitations
18*234bd5c5SAndrew Rist  * under the License.
19*234bd5c5SAndrew Rist  *
20*234bd5c5SAndrew Rist  *************************************************************/
21*234bd5c5SAndrew Rist 
22*234bd5c5SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef _SB_SBDEF_HXX
25cdf0e10cSrcweir #define _SB_SBDEF_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include <basic/sbxdef.hxx>
28cdf0e10cSrcweir #include <svl/svarray.hxx>
29cdf0e10cSrcweir 
30cdf0e10cSrcweir #define _BASIC_TEXTPORTIONS
31cdf0e10cSrcweir 
32cdf0e10cSrcweir // Type of a text token (syntax highlighting)
33cdf0e10cSrcweir enum SbTextType
34cdf0e10cSrcweir {
35cdf0e10cSrcweir     SB_KEYWORD = 1,      // Keywords
36cdf0e10cSrcweir     SB_SYMBOL,           // Symbols
37cdf0e10cSrcweir     SB_STRING,           // Strings
38cdf0e10cSrcweir     SB_NUMBER,           // Numbers
39cdf0e10cSrcweir     SB_PUNCTUATION,      // Brackets, points, etc.
40cdf0e10cSrcweir     SB_COMMENT,          // Comments
41cdf0e10cSrcweir     SB_DUMMY = 255       // workaround for #i31479
42cdf0e10cSrcweir };
43cdf0e10cSrcweir 
44cdf0e10cSrcweir // Active language
45cdf0e10cSrcweir enum SbLanguageMode
46cdf0e10cSrcweir {
47cdf0e10cSrcweir     SB_LANG_GLOBAL,      // As in SbiGlobals struct
48cdf0e10cSrcweir     SB_LANG_BASIC,       // StarBasic (Default)
49cdf0e10cSrcweir     SB_LANG_VBSCRIPT,    // Visual-Basic-Script
50cdf0e10cSrcweir     SB_LANG_JAVASCRIPT   // JavaScript
51cdf0e10cSrcweir };
52cdf0e10cSrcweir 
53cdf0e10cSrcweir #ifdef _BASIC_TEXTPORTIONS
54cdf0e10cSrcweir struct SbTextPortion
55cdf0e10cSrcweir { // Syntax Highlighting: a text portion
56cdf0e10cSrcweir     xub_StrLen nLine;        // Line number
57cdf0e10cSrcweir     xub_StrLen nStart, nEnd; // 1st and last column
58cdf0e10cSrcweir     SbTextType eType;        // Type of the portion
59cdf0e10cSrcweir };
60cdf0e10cSrcweir 
61cdf0e10cSrcweir SV_DECL_VARARR(SbTextPortions, SbTextPortion,16,16)
62cdf0e10cSrcweir #else
63cdf0e10cSrcweir class SbTextPortions;
64cdf0e10cSrcweir #endif
65cdf0e10cSrcweir 
66cdf0e10cSrcweir // Returns type name for Basic type, array flag is ignored
67cdf0e10cSrcweir // implementation: basic/source/runtime/methods.cxx
68cdf0e10cSrcweir String getBasicTypeName( SbxDataType eType );
69cdf0e10cSrcweir 
70cdf0e10cSrcweir // Returns type name for Basic objects, especially
71cdf0e10cSrcweir // important for SbUnoObj instances
72cdf0e10cSrcweir // implementation: basic/source/classes/sbunoobj.cxx
73cdf0e10cSrcweir class SbxObject;
74cdf0e10cSrcweir String getBasicObjectTypeName( SbxObject* pObj );
75cdf0e10cSrcweir 
76cdf0e10cSrcweir // Allows Basic IDE to set watch mode to suppress errors
77cdf0e10cSrcweir // implementation: basic/source/runtime/runtime.cxx
78cdf0e10cSrcweir void setBasicWatchMode( bool bOn );
79cdf0e10cSrcweir 
80cdf0e10cSrcweir // Debug Flags:
81cdf0e10cSrcweir #define SbDEBUG_BREAK       0x0001          // Break-Callback
82cdf0e10cSrcweir #define SbDEBUG_STEPINTO    0x0002          // Single Step-Callback
83cdf0e10cSrcweir #define SbDEBUG_STEPOVER    0x0004          // Additional flag Step Over
84cdf0e10cSrcweir #define	SbDEBUG_CONTINUE    0x0008          // Do not change flags
85cdf0e10cSrcweir #define SbDEBUG_STEPOUT     0x0010          // Leave Sub
86cdf0e10cSrcweir 
87cdf0e10cSrcweir #define SBXID_BASIC         0x6273          // sb: StarBASIC
88cdf0e10cSrcweir #define	SBXID_BASICMOD      0x6d62          // bm: StarBASIC Module
89cdf0e10cSrcweir #define SBXID_BASICPROP     0x7262          // pr: StarBASIC Property
90cdf0e10cSrcweir #define	SBXID_BASICMETHOD   0x6d65          // me: StarBASIC Method
91cdf0e10cSrcweir #define	SBXID_JSCRIPTMOD    0x6a62          // jm: JavaScript Module
92cdf0e10cSrcweir #define	SBXID_JSCRIPTMETH   0x6a64          // jm: JavaScript Module
93cdf0e10cSrcweir 
94cdf0e10cSrcweir #define SBX_HINT_BASICSTART		SFX_HINT_USER04
95cdf0e10cSrcweir #define SBX_HINT_BASICSTOP		SFX_HINT_USER05
96cdf0e10cSrcweir 
97cdf0e10cSrcweir // #115826
98cdf0e10cSrcweir enum PropertyMode
99cdf0e10cSrcweir {
100cdf0e10cSrcweir 	PROPERTY_MODE_NONE,
101cdf0e10cSrcweir 	PROPERTY_MODE_GET,
102cdf0e10cSrcweir 	PROPERTY_MODE_LET,
103cdf0e10cSrcweir 	PROPERTY_MODE_SET
104cdf0e10cSrcweir };
105cdf0e10cSrcweir 
106cdf0e10cSrcweir #endif
107