2 Copyright © 1995-2007, 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 ******************************************************************************/
55 const struct TagItem
*tstate
= tags
,
59 # define STORE(pointer, value) (pointer != NULL ? *pointer = (value) : (value))
61 while ((tag
= NextTagItem(&tstate
)) != NULL
)
66 /* TODO: Do something... */
69 case WBCTRLA_DuplicateSearchPath
:
72 (BPTR
*) tag
->ti_Data
,
73 DuplicateSearchPath(WorkbenchBase
->wb_SearchPath
)
77 case WBCTRLA_FreeSearchPath
:
78 FreeSearchPath((BPTR
) tag
->ti_Data
);
81 case WBCTRLA_GetDefaultStackSize
:
84 (ULONG
*) tag
->ti_Data
,
85 WorkbenchBase
->wb_DefaultStackSize
89 case WBCTRLA_SetDefaultStackSize
:
90 WorkbenchBase
->wb_DefaultStackSize
= tag
->ti_Data
;
93 case WBCTRLA_RedrawAppIcon
:
94 /* TODO: Do something... */
97 case WBCTRLA_GetProgramList
:
98 /* TODO: Do something... */
101 case WBCTRLA_FreeProgramList
:
102 /* TODO: Do something... */
105 case WBCTRLA_GetSelectedIconList
:
106 /* TODO: Do something... */
109 case WBCTRLA_FreeSelectedIconList
:
110 /* TODO: Do something... */
113 case WBCTRLA_GetOpenDrawerList
:
114 /* TODO: Do something... */
117 case WBCTRLA_FreeOpenDrawerList
:
118 /* TODO: Do something... */
121 case WBCTRLA_GetHiddenDeviceList
:
122 /* TODO: Do something... */
125 case WBCTRLA_FreeHiddenDeviceList
:
126 /* TODO: Do something... */
129 case WBCTRLA_AddHiddenDeviceName
:
130 AddHiddenDevice((STRPTR
) tag
->ti_Data
);
133 case WBCTRLA_RemoveHiddenDeviceName
:
134 RemoveHiddenDevice((STRPTR
) tag
->ti_Data
);
137 case WBCTRLA_GetTypeRestartTime
:
140 (ULONG
*) tag
->ti_Data
,
141 WorkbenchBase
->wb_TypeRestartTime
145 case WBCTRLA_SetTypeRestartTime
:
146 WorkbenchBase
->wb_TypeRestartTime
= tag
->ti_Data
;
156 } /* WorkbenchControlA */