oops.. only build it when it _is_ valid.
[AROS-Contrib.git] / scalos / main / Variables.h
blob42862ec4ec8dc98da7bb3a573e1a05dcac095e39
1 // Variables.h
2 // $Date$
3 // $Revision$
6 #ifndef VARIABLES_H
7 #define VARIABLES_H
10 #include "defs.h"
11 #include <exec/types.h>
13 #include "Prefs.h"
15 /* ------------------------------------------------- */
17 // variables from AppMenu.c
19 extern SCALOSSEMAPHORE MenuSemaphore;
20 extern SCALOSSEMAPHORE AppMenuListSemaphore; // Semaphore to protect ToolsMenuItemList and AppMenuList
22 /* ------------------------------------------------- */
24 // Array Index for PopupMenus[]
25 enum PopupMenusArrayIndex
27 SCPOPUPMENU_Disk=0,
28 SCPOPUPMENU_Drawer,
29 SCPOPUPMENU_Tool,
30 SCPOPUPMENU_Trashcan,
31 SCPOPUPMENU_Window,
32 SCPOPUPMENU_AppIcon,
33 SCPOPUPMENU_Desktop,
35 SCPOPUPMENU_Last
38 /* ------------------------------------------------- */
40 // defined in DefIcons.c
41 ///
42 extern SCALOSSEMAPHORE DefIconsSemaphore;
43 extern SCALOSSEMAPHORE DefIconsCacheSemaphore;
44 ///
45 /* ------------------------------------------------- */
47 // defined in filetypes.c
48 ///
49 extern SCALOSSEMAPHORE FileTypeListSema;
50 ///
51 /* ------------------------------------------------- */
53 // defined in FileCommands.c
55 extern ULONG prefCopyBuffLen; // size of file copy buffer
57 /* ------------------------------------------------- */
59 // defined in FontUtil.c
61 extern struct Hook ScalosFontHook;
62 extern SCALOSSEMAPHORE tteSema;
64 /* ------------------------------------------------- */
66 // defined in IconImageClass.c
68 extern Class *IconImageClass;
70 /* ------------------------------------------------- */
72 // defined in idcmp.c
74 extern const struct IDCMPTableEntry IDCMPFuncTable[]; // +jl+ 20010929 IDCMP message table
75 extern const size_t IDCMPFuncTableSize; // number of entries in IDCMPFuncTable[]
77 /* ------------------------------------------------- */
79 // defined in Memory.c
81 extern SCALOSSEMAPHORE MemPoolSemaphore; // +jl+ 20020210 memory pool semaphore
82 extern void *MemPool; // +jl+ 20020210 memory pool
84 /* ------------------------------------------------- */
86 // defined in Menu.c
87 ///
88 extern struct IconMenuSupports IconSupportTable[];
89 extern struct IconMenuSupports WindowMenuTable[];
90 extern struct Menu *MainMenu; // +jl+ 20010710 window menu
91 extern struct NewMenu *MainNewMenu; // NewMenu array for main menu
92 extern struct MenuInfo *ParseMenuList; // List of MenuInfo's
93 extern SCALOSSEMAPHORE ParseMenuListSemaphore; // Semaphore to protect ParseMenuList
94 ///
95 /* ------------------------------------------------- */
97 // defined in MenuCommand.c
99 extern struct ScalosMenuCommand MenuCommandTable[];
100 extern struct List globalCopyClipBoard; // Clipboard for files/directories via copy/cut/paste
101 extern SCALOSSEMAPHORE ClipboardSemaphore; // Semaphore to protect globalCopyClipBoard
103 /* ------------------------------------------------- */
105 // defined in Messages.c
107 extern struct MsgTableEntry iMsgTable[]; // +jl+ 20010928 Root_HandleMessages message table
109 /* ------------------------------------------------- */
111 // defined in PopupMenus.c
113 extern struct Hook PMGetStringHook; // PM_LocaleHook getstring hook
114 extern struct PopupMenu *PopupMenus[]; // Array of Popup Menus
116 /* ------------------------------------------------- */
118 // defined in Prefs.c
120 extern struct Hook *globalCopyHook;
121 extern struct Hook *globalDeleteHook;
122 extern struct Hook *globalTextInputHook;
123 extern struct List globalCloseWBHookList; // Hooks in this list will be called on AppSleep/AppWakeup
124 extern struct List ControlBarGadgetListNormal; // List of control bar gadgets for standard windows
125 extern struct List ControlBarGadgetListBrowser; // List of control bar gadgets for browser-mode windows
126 extern SCALOSSEMAPHORE CopyHookSemaphore;
127 extern SCALOSSEMAPHORE DeleteHookSemaphore;
128 extern SCALOSSEMAPHORE TextInputHookSemaphore;
129 extern SCALOSSEMAPHORE CloseWBHookListSemaphore;
130 extern struct PatternNode *PatternNodes; // +jl+ 20010826
131 extern struct ScalosPrefs CurrentPrefs;
132 extern struct ScalosPalettePrefs PalettePrefs;
133 extern struct ScalosPatternPrefs PatternPrefs;
134 extern struct ScalosFontPrefs FontPrefs;
136 /* ------------------------------------------------- */
138 // defined in RootClass.c
140 extern SCALOSSEMAPHORE ListenerSema;
142 /* ------------------------------------------------- */
144 // defined in ScaLibrary.c
146 extern APTR ScalosLibFunctions[];
148 /* ------------------------------------------------- */
150 // defined in Scalos.c
152 extern const int Max_PathLen; // length of buffer allocated by AllocPathBuffer()
153 extern struct MsgPort *FBlitPort; // Result defined in FindPort("FBlit")
154 extern SCALOSSEMAPHORE QuitSemaphore; // +jl+ 20011130 semaphore to prevent main process from premature quitting
155 extern SCALOSSEMAPHORE MenuSema; // +jl+ 20010825 semaphore to protect menu access defined in changing windows
156 extern SCALOSSEMAPHORE LayersSema; // +jl+ 20010806 semaphore to protect OpenWindow/CloseWindow/Layers operations
157 extern SCALOSSEMAPHORE WBStartListSema; // semaphore to protect _WBStartList
158 extern SCALOSSEMAPHORE PatternSema; // +jl+ 20010826 Pattern semaphore
159 extern SCALOSSEMAPHORE ClassListSemaphore; // +jl+ 20010929 Class list semaphore
160 extern SCALOSSEMAPHORE DoWaitSemaphore; // +jl+ 20011001 Semaphore for DOWAIT-List
162 extern struct List WBStartList; // list of programs launched by scalos
164 extern struct ScalosClass *ScalosClassList; // +jl+ 20010929 Scalos Class list
165 extern struct DoWait *DoWaitList; // +jl+ 20011001 List of Msgs for DOWAIT
167 extern struct IClass *DtImageClass; // Image Class wrapper for Scalos Datatypes images
168 extern struct IClass *TextIconClass; // Class for Text mode icons
169 extern struct IClass *TextIconHighlightClass; // Class for highlighting of text mode icons
170 extern struct IClass *IconifyImageClass; // +jl+ 20010831 Imageclass for the iconify gadget
172 extern UWORD WBLaunchCount; // number of workbench launched programs
173 extern ULONG RandomSeed; // +jl+ 20011130 RandomSeed to generate good random numbers
175 extern APTR PenShareMap; // +jl+ 20011118 PenShareMap defined in guigfx
177 extern ULONG OldMemSize; // +jl+ 20010831 Old total memorysize
179 extern struct PluginClass *ScalosPluginList; // +jl+ 20011009 List of plugin classes
180 extern Object *ScreenTitleObject; // +jl+ 20010831 Scalos Title Object
182 extern struct Locale *ScalosLocale; // +jl+ 20010803
183 extern struct Catalog *ScalosCatalog; // +jl+ 20010829
185 extern struct TextFont *IconWindowFont; // +jl+ 20010710 Font for icon window icons
186 extern struct TextFont *TextWindowFont; // +jl+ 20010710 Font for text window icons
188 extern struct TTFontFamily IconWindowTTFont; // +jl+ 20030110 TTengine Font for icon window icons
189 extern struct TTFontFamily TextWindowTTFont; // +jl+ 20030110 TTengine Font for text window icons
191 extern struct TTFontFamily ScreenTTFont; // TTengine screen font
193 extern STRPTR LastScreenTitleBuffer; // +jl+ 20011226 Scalos ScreenTitle (Last Msg)
194 extern STRPTR ScreenTitleBuffer; // +jl+ 20010831 Scalos ScreenTitle
196 extern UBYTE IconActive;
197 extern UBYTE PopupMenuFlag; // Flag: Are popupmenus available +jl+ 20010303
199 extern struct MsgPort *wbPort; // Workbench Message port
201 extern struct MainTask *MainWindowTask; // +jl+ 20011020 MainTask
202 extern struct Process *MainTask; // Scalos main task +jl+ 20010504
204 extern struct extendedScaInternInfos iInfos;
206 /* ------------------------------------------------- */
208 // defined in ScalosInit.c
210 extern struct Process *ScalosMainTask;
212 extern SCALOSSEMAPHORE WinListSemaphore;
213 extern struct ScaWindowList winlist;
215 extern UWORD ScaLibPluginOpenCount; // +jl+ 20010710 Scalos library open count by plugins
216 extern UBYTE fInitializingPlugins; // Flag: set during OOP plugin initialization
217 extern ULONG HelpGroupID; // common ID for window help group
219 extern T_CONSOLEDEVICE ConsoleDevice;
220 extern struct Library *AslBase;
221 extern struct Library *CxBase;
222 extern struct Library *CyberGfxBase;
223 extern struct Library *DataTypesBase;
224 extern struct Library *DiskfontBase;
225 extern struct DosLibrary *DOSBase;
226 extern struct GfxBase *GfxBase;
227 extern struct Library *GuiGFXBase;
228 extern struct Library *GadToolsBase;
229 extern struct Library *IconBase;
230 extern struct Library *IconobjectBase;
231 extern struct Library *IFFParseBase;
232 extern struct IntuitionBase *IntuitionBase;
233 extern struct Library *LayersBase;
234 extern T_LOCALEBASE LocaleBase;
235 extern struct PopupMenuBase *PopupMenuBase;
236 extern struct Library *PreferencesBase;
237 extern T_REXXSYSBASE RexxSysBase;
238 extern struct ScalosBase *ScalosBase;
239 extern struct Library *WorkbenchBase;
240 extern T_UTILITYBASE UtilityBase;
241 extern struct Library *TitlebarImageBase;
242 extern struct Library *TTEngineBase;
243 extern struct Library *SQLite3Base;
244 extern struct ScalosGfxBase *ScalosGfxBase;
246 /* ------------------------------------------------- */
248 // defined in ScalosVersion.c
250 extern CONST_STRPTR versTag; // $VER version string
251 extern const char ScalosRevision[]; // Revision string
252 extern CONST_STRPTR ScalosBuildNr; // Build number aka SVN revision
254 /* ------------------------------------------------- */
256 // defined in Semaphores.c
258 extern struct ScalosSemaphoreList GlobalSemaphoreList[];
260 /* ------------------------------------------------- */
262 // defined in Thumbnails.c
264 extern SCALOSSEMAPHORE ThumbnailsCleanupSemaphore; // Semaphore to ensure only a single cleanup process is running
266 /* ------------------------------------------------- */
268 // defined in Undo.c
270 extern struct List globalUndoList; // global Undo list for all file-related actions
271 extern SCALOSSEMAPHORE UndoListListSemaphore; // Semaphore to protect globalUndoList
272 extern struct List globalRedoList; // global Redo list for all file-related actions
273 extern SCALOSSEMAPHORE RedoListListSemaphore; // Semaphore to protect globalRedoList
275 /* ------------------------------------------------- */
277 #endif /* VARIABLES_H */