2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
5 Desc: Change global options and control the Workbench in various ways.
9 #include <exec/ports.h>
10 #include <utility/tagitem.h>
11 #include <intuition/intuition.h>
12 #include <workbench/workbench.h>
13 #include <proto/utility.h>
15 #include "workbench_intern.h"
18 /*****************************************************************************
22 #include <proto/workbench.h>
24 AROS_LH2(BOOL
, WorkbenchControlA
,
27 AROS_LHA(STRPTR
, name
, A0
),
28 AROS_LHA(struct TagItem
*, tags
, A1
),
31 struct WorkbenchBase
*, WorkbenchBase
, 18, Workbench
)
49 ******************************************************************************/
53 struct TagItem
*tstate
= tags
,
57 # define STORE(pointer, value) (pointer != NULL ? *pointer = (value) : (value))
59 while ((tag
= NextTagItem(&tstate
)) != NULL
)
64 /* TODO: Do something... */
67 case WBCTRLA_DuplicateSearchPath
:
70 (BPTR
*) tag
->ti_Data
,
71 DuplicateSearchPath(WorkbenchBase
->wb_SearchPath
)
75 case WBCTRLA_FreeSearchPath
:
76 FreeSearchPath((BPTR
) tag
->ti_Data
);
79 case WBCTRLA_GetDefaultStackSize
:
82 (ULONG
*) tag
->ti_Data
,
83 WorkbenchBase
->wb_DefaultStackSize
87 case WBCTRLA_SetDefaultStackSize
:
88 WorkbenchBase
->wb_DefaultStackSize
= tag
->ti_Data
;
91 case WBCTRLA_RedrawAppIcon
:
92 /* TODO: Do something... */
95 case WBCTRLA_GetProgramList
:
96 /* TODO: Do something... */
99 case WBCTRLA_FreeProgramList
:
100 /* TODO: Do something... */
103 case WBCTRLA_GetSelectedIconList
:
104 /* TODO: Do something... */
107 case WBCTRLA_FreeSelectedIconList
:
108 /* TODO: Do something... */
111 case WBCTRLA_GetOpenDrawerList
:
112 /* TODO: Do something... */
115 case WBCTRLA_FreeOpenDrawerList
:
116 /* TODO: Do something... */
119 case WBCTRLA_GetHiddenDeviceList
:
120 /* TODO: Do something... */
123 case WBCTRLA_FreeHiddenDeviceList
:
124 /* TODO: Do something... */
127 case WBCTRLA_AddHiddenDeviceName
:
128 AddHiddenDevice((STRPTR
) tag
->ti_Data
);
131 case WBCTRLA_RemoveHiddenDeviceName
:
132 RemoveHiddenDevice((STRPTR
) tag
->ti_Data
);
135 case WBCTRLA_GetTypeRestartTime
:
138 (ULONG
*) tag
->ti_Data
,
139 WorkbenchBase
->wb_TypeRestartTime
143 case WBCTRLA_SetTypeRestartTime
:
144 WorkbenchBase
->wb_TypeRestartTime
= tag
->ti_Data
;
154 } /* WorkbenchControlA */