2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
5 Desc: Change global options and control the Workbench in various ways.
9 #include <exec/types.h>
10 #include <exec/ports.h>
11 #include <utility/tagitem.h>
12 #include <intuition/intuition.h>
14 #include "workbench_intern.h"
15 #include <workbench/workbench.h>
16 #include <proto/utility.h>
20 /*****************************************************************************
24 #include <proto/workbench.h>
26 AROS_LH2(BOOL
, WorkbenchControlA
,
29 AROS_LHA(STRPTR
, name
, A0
),
30 AROS_LHA(struct TagItem
*, tags
, A1
),
33 struct WorkbenchBase
*, WorkbenchBase
, 18, Workbench
)
51 ******************************************************************************/
54 AROS_LIBBASE_EXT_DECL(struct WorkbenchBase
*, WorkbenchBase
)
56 struct TagItem
*tstate
= tags
,
60 # define STORE(pointer, value) (pointer != NULL ? *pointer = (value) : (value))
62 while ((tag
= NextTagItem(&tstate
)) != NULL
)
67 /* TODO: Do something... */
70 case WBCTRLA_DuplicateSearchPath
:
73 (BPTR
*) tag
->ti_Data
,
74 DuplicateSearchPath(WorkbenchBase
->wb_SearchPath
)
78 case WBCTRLA_FreeSearchPath
:
79 FreeSearchPath((BPTR
) tag
->ti_Data
);
82 case WBCTRLA_GetDefaultStackSize
:
85 (ULONG
*) tag
->ti_Data
,
86 WorkbenchBase
->wb_DefaultStackSize
90 case WBCTRLA_SetDefaultStackSize
:
91 WorkbenchBase
->wb_DefaultStackSize
= tag
->ti_Data
;
94 case WBCTRLA_RedrawAppIcon
:
95 /* TODO: Do something... */
98 case WBCTRLA_GetProgramList
:
99 /* TODO: Do something... */
102 case WBCTRLA_FreeProgramList
:
103 /* TODO: Do something... */
106 case WBCTRLA_GetSelectedIconList
:
107 /* TODO: Do something... */
110 case WBCTRLA_FreeSelectedIconList
:
111 /* TODO: Do something... */
114 case WBCTRLA_GetOpenDrawerList
:
115 /* TODO: Do something... */
118 case WBCTRLA_FreeOpenDrawerList
:
119 /* TODO: Do something... */
122 case WBCTRLA_GetHiddenDeviceList
:
123 /* TODO: Do something... */
126 case WBCTRLA_FreeHiddenDeviceList
:
127 /* TODO: Do something... */
130 case WBCTRLA_AddHiddenDeviceName
:
131 AddHiddenDevice((STRPTR
) tag
->ti_Data
);
134 case WBCTRLA_RemoveHiddenDeviceName
:
135 RemoveHiddenDevice((STRPTR
) tag
->ti_Data
);
138 case WBCTRLA_GetTypeRestartTime
:
141 (ULONG
*) tag
->ti_Data
,
142 WorkbenchBase
->wb_TypeRestartTime
146 case WBCTRLA_SetTypeRestartTime
:
147 WorkbenchBase
->wb_TypeRestartTime
= tag
->ti_Data
;
157 } /* WorkbenchControlA */