2 #include <proto/intuition.h>
3 #include <proto/muimaster.h>
4 #include <proto/utility.h>
6 #include <libraries/mui.h>
7 #include <libraries/gadtools.h>
9 #include "muimiamipanel_intern.h"
10 #include "muimiamipanel_locale.h"
11 #include "muimiamipanel_misc.h"
13 /***********************************************************************/
15 #define IDSSIZE(n) (sizeof(n)/sizeof(ULONG))
17 static ULONG registerLabelsIDs
[] =
24 static UBYTE
*registerLabels
[IDSSIZE(registerLabelsIDs
)];
26 static ULONG tformatsIDs
[] =
28 MSG_Prefs_IF_Traffic_Format_Long
,
29 MSG_Prefs_IF_Traffic_Format_Short
,
32 static UBYTE
*tformats
[IDSSIZE(tformatsIDs
)];
34 static ULONG rformatsIDs
[] =
36 MSG_Prefs_IF_Rate_Format_Long
,
37 MSG_Prefs_IF_Rate_Format_Short
,
40 static UBYTE
*rformats
[IDSSIZE(rformatsIDs
)];
42 static ULONG positionsIDs
[] =
44 MSG_Prefs_Miami_Position_Bottom
,
45 MSG_Prefs_Miami_Position_Top
,
46 MSG_Prefs_Miami_Position_Right
,
47 MSG_Prefs_Miami_Position_Left
,
50 static UBYTE
*positions
[IDSSIZE(positionsIDs
)];
52 static ULONG vmodesIDs
[] =
54 MSG_Prefs_Miami_ViewMode_TextGfx
,
55 MSG_Prefs_Miami_ViewMode_Gfx
,
56 MSG_Prefs_Miami_ViewMode_Text
,
59 static UBYTE
*vmodes
[IDSSIZE(vmodesIDs
)];
61 static ULONG lpossIDs
[] =
63 MSG_Prefs_Miami_LabelPosition_Bottom
,
64 MSG_Prefs_Miami_LabelPosition_Top
,
65 MSG_Prefs_Miami_LabelPosition_Right
,
66 MSG_Prefs_Miami_LabelPosition_Left
,
69 static UBYTE
*lposs
[IDSSIZE(lpossIDs
)];
71 static ULONG oniconifiesIDs
[] =
77 static UBYTE
*oniconifies
[IDSSIZE(oniconifiesIDs
)];
79 static ULONG sblayoutsIDs
[] =
81 MSG_Prefs_Miami_BarLayout_Left
,
82 MSG_Prefs_Miami_BarLayout_Center
,
83 MSG_Prefs_Miami_BarLayout_Right
,
86 static UBYTE
*sblayouts
[IDSSIZE(sblayoutsIDs
)];
88 /***********************************************************************/
90 struct MiamiPanelPrefsClass_DATA
103 Object
*useTransparency
;
117 struct MPS_Prefs prefs
;
127 /***********************************************************************/
129 static struct MiamiPanelBase_intern
*MiamiPanelBaseIntern
;
132 gadgetsToPrefs(struct MiamiPanelPrefsClass_DATA
*data
,struct MPS_Prefs
*prefs
)
135 switch (XGET(data
->layout
,MUIA_Cycle_Active
))
137 case 0: prefs
->layout
= MPV_Layout_Bottom
; break;
138 case 1: prefs
->layout
= MPV_Layout_Top
; break;
139 case 2: prefs
->layout
= MPV_Layout_Right
; break;
140 case 3: prefs
->layout
= MPV_Layout_Left
; break;
145 if (XGET(data
->tformat
,MUIA_Cycle_Active
)) prefs
->flags
|= MPV_Flags_TrafficShort
;
146 if (!XGET(data
->tgrouping
,MUIA_Selected
)) prefs
->flags
|= MPV_Flags_TrafficNoGrouping
;
147 if (XGET(data
->rformat
,MUIA_Cycle_Active
)) prefs
->flags
|= MPV_Flags_RateShort
;
148 if (!XGET(data
->rgrouping
,MUIA_Selected
)) prefs
->flags
|= MPV_Flags_RateNoGrouping
;
149 if (XGET(data
->usebusybar
,MUIA_Selected
)) prefs
->flags
|= MPV_Flags_UseBusyBar
;
150 if (XGET(data
->oniconify
,MUIA_Cycle_Active
)) prefs
->flags
|= MPV_Flags_Iconify
;
151 if (XGET(data
->bwin
,MUIA_Selected
)) prefs
->flags
|= MPV_Flags_BWin
;
152 if (XGET(data
->bwinBorders
,MUIA_Selected
)) prefs
->flags
|= MPV_Flags_BWinBorders
;
154 if (XGET(data
->useTransparency
,MUIA_Selected
)) prefs
->flags
|= MPV_Flags_UseTransparency
;
158 prefs
->barLayout
= XGET(data
->barLayout
,MUIA_Cycle_Active
);
161 prefs
->viewMode
= XGET(data
->viewMode
,MUIA_Cycle_Active
);
164 prefs
->labelPos
= XGET(data
->labelPos
,MUIA_Cycle_Active
);
168 if (XGET(data
->borderless
,MUIA_Selected
)) prefs
->btflags
|= MPV_BTFlags_Borderless
;
169 if (XGET(data
->sunny
,MUIA_Selected
)) prefs
->btflags
|= MPV_BTFlags_Sunny
;
170 if (XGET(data
->raised
,MUIA_Selected
)) prefs
->btflags
|= MPV_BTFlags_Raised
;
171 if (XGET(data
->scaled
,MUIA_Selected
)) prefs
->btflags
|= MPV_BTFlags_Scaled
;
172 if (XGET(data
->underscore
,MUIA_Selected
)) prefs
->btflags
|= MPV_BTFlags_Underscore
;
173 if (XGET(data
->frame
,MUIA_Selected
)) prefs
->btflags
|= MPV_BTFlags_Frame
;
174 if (XGET(data
->dragBar
,MUIA_Selected
)) prefs
->btflags
|= MPV_BTFlags_DragBar
;
177 /***********************************************************************/
180 prefsToGadgets(struct MiamiPanelPrefsClass_DATA
*data
,struct MPS_Prefs
*prefs
)
182 register ULONG v
= 0; // gcc
185 if (prefs
->layout
& MPV_Layout_PureBottom
) v
= 0;
186 else if (prefs
->layout
& MPV_Layout_PureTop
) v
= 1;
187 else if (prefs
->layout
& MPV_Layout_Right
) v
= 2;
188 else if (prefs
->layout
& MPV_Layout_Left
) v
= 3;
189 set(data
->layout
,MUIA_Cycle_Active
,v
);
192 set(data
->tformat
,MUIA_Cycle_Active
,prefs
->flags
& MPV_Flags_TrafficShort
);
193 set(data
->tgrouping
,MUIA_Selected
,!(prefs
->flags
& MPV_Flags_TrafficNoGrouping
));
194 set(data
->rformat
,MUIA_Cycle_Active
,prefs
->flags
& MPV_Flags_RateShort
);
195 set(data
->rgrouping
,MUIA_Selected
,!(prefs
->flags
& MPV_Flags_RateNoGrouping
));
196 set(data
->usebusybar
,MUIA_Selected
,prefs
->flags
& MPV_Flags_UseBusyBar
);
197 set(data
->oniconify
,MUIA_Cycle_Active
,prefs
->flags
& MPV_Flags_Iconify
);
198 set(data
->bwin
,MUIA_Selected
,prefs
->flags
& MPV_Flags_BWin
);
199 set(data
->bwinBorders
,MUIA_Selected
,prefs
->flags
& MPV_Flags_BWinBorders
);
201 set(data
->useTransparency
,MUIA_Selected
,prefs
->flags
& MPV_Flags_UseTransparency
);
205 set(data
->barLayout
,MUIA_Cycle_Active
,prefs
->barLayout
);
208 set(data
->viewMode
,MUIA_Cycle_Active
,prefs
->viewMode
);
211 set(data
->labelPos
,MUIA_Cycle_Active
,prefs
->labelPos
);
214 set(data
->borderless
,MUIA_Selected
,prefs
->btflags
& MPV_BTFlags_Borderless
);
215 set(data
->sunny
,MUIA_Selected
,prefs
->btflags
& MPV_BTFlags_Sunny
);
216 set(data
->raised
,MUIA_Selected
,prefs
->btflags
& MPV_BTFlags_Raised
);
217 set(data
->scaled
,MUIA_Selected
,prefs
->btflags
& MPV_BTFlags_Scaled
);
218 set(data
->underscore
,MUIA_Selected
,prefs
->btflags
& MPV_BTFlags_Underscore
);
219 set(data
->frame
,MUIA_Selected
,prefs
->btflags
& MPV_BTFlags_Frame
);
220 set(data
->dragBar
,MUIA_Selected
,prefs
->btflags
& MPV_BTFlags_DragBar
);
222 CopyMem(prefs
,&data
->prefs
,sizeof(struct MPS_Prefs
));
225 /***********************************************************************/
228 MUIPC_Prefs__OM_NEW(struct IClass
*CLASS
,Object
*self
,struct opSet
*message
)
230 struct MiamiPanelPrefsClass_DATA temp
;
231 register struct TagItem
*attrs
= message
->ops_AttrList
;
232 register Object
*save
, *use
, *apply
, *test
, *cancel
;
234 memset(&temp
,0,sizeof(temp
));
236 if (self
= (Object
*)DoSuperNewTags
240 MUIA_Window_Title
, __(MSG_Prefs_WinTitle
),
241 MUIA_Window_ID
, MAKE_ID('W','P','R','E'),
242 MUIA_HelpNode
, "Prefs",
244 WindowContents
, VGroup
, // Window contents
246 Child
, RegisterGroup(registerLabels
), // Register
247 MUIA_CycleChain
, TRUE
,
249 Child
, VGroup
, // Interfaces
253 Child
, olabel2(MSG_Prefs_IF_Traffic_Format
, MiamiPanelBaseIntern
),
255 Child
, temp
.tformat
= ocycle(MSG_Prefs_IF_Traffic_Format
,tformats
,MSG_Prefs_IF_Traffic_Format_Help
, MiamiPanelBaseIntern
),
256 Child
, olabel1(MSG_Prefs_IF_Traffic_Grouping
, MiamiPanelBaseIntern
),
257 Child
, temp
.tgrouping
= ocheck(MSG_Prefs_IF_Traffic_Grouping
,MSG_Prefs_IF_Traffic_Grouping_Help
, MiamiPanelBaseIntern
),
260 Child
, olabel2(MSG_Prefs_IF_Rate_Format
, MiamiPanelBaseIntern
),
262 Child
, temp
.rformat
= ocycle(MSG_Prefs_IF_Rate_Format
,rformats
,MSG_Prefs_IF_Rate_Format_Help
, MiamiPanelBaseIntern
),
263 Child
, olabel1(MSG_Prefs_IF_Rate_Grouping
, MiamiPanelBaseIntern
),
264 Child
, temp
.rgrouping
= ocheck(MSG_Prefs_IF_Rate_Grouping
,MSG_Prefs_IF_Rate_Grouping_Help
, MiamiPanelBaseIntern
),
268 Child
, ScrollgroupObject
,
269 MUIA_Scrollgroup_FreeHoriz
, FALSE
,
270 MUIA_Scrollgroup_Contents
, VirtgroupObject
,
271 MUIA_Frame
, MUIV_Frame_Virtual
,
274 Child
, temp
.usebusybar
= ocheck(MSG_Prefs_IF_UseBusyBar
,MSG_Prefs_IF_UseBusyBar_Help
, MiamiPanelBaseIntern
),
275 Child
, ollabel1(MSG_Prefs_IF_UseBusyBar
, MiamiPanelBaseIntern
),
284 Child
, VGroup
, // Miami ctrls
288 Child
, olabel2(MSG_Prefs_Miami_Position
, MiamiPanelBaseIntern
),
289 Child
, temp
.layout
= ocycle(MSG_Prefs_Miami_Position
,positions
,MSG_Prefs_Miami_Position_Help
, MiamiPanelBaseIntern
),
290 Child
, olabel2(MSG_Prefs_Miami_ViewMode
, MiamiPanelBaseIntern
),
291 Child
, temp
.viewMode
= ocycle(MSG_Prefs_Miami_ViewMode
,vmodes
,MSG_Prefs_Miami_ViewMode_Help
, MiamiPanelBaseIntern
),
292 Child
, olabel2(MSG_Prefs_Miami_BarLayout
, MiamiPanelBaseIntern
),
293 Child
, temp
.barLayout
= ocycle(MSG_Prefs_Miami_BarLayout
,sblayouts
,MSG_Prefs_Miami_BarLayout_Help
, MiamiPanelBaseIntern
),
294 Child
, olabel2(MSG_Prefs_Miami_LabelPosition
, MiamiPanelBaseIntern
),
295 Child
, temp
.labelPos
= ocycle(MSG_Prefs_Miami_LabelPosition
,lposs
,MSG_Prefs_Miami_LabelPosition_Help
, MiamiPanelBaseIntern
),
298 Child
, ScrollgroupObject
,
299 MUIA_Scrollgroup_FreeHoriz
, FALSE
,
300 MUIA_Scrollgroup_Contents
, VirtgroupObject
,
301 MUIA_Frame
, MUIV_Frame_Virtual
,
304 Child
, temp
.borderless
= ocheck(MSG_Prefs_Miami_Borderless
,MSG_Prefs_Miami_Borderless_Help
, MiamiPanelBaseIntern
),
305 Child
, ollabel1(MSG_Prefs_Miami_Borderless
, MiamiPanelBaseIntern
),
306 Child
, temp
.sunny
= ocheck(MSG_Prefs_Miami_Sunny
,MSG_Prefs_Miami_Sunny_Help
, MiamiPanelBaseIntern
),
307 Child
, ollabel1(MSG_Prefs_Miami_Sunny
, MiamiPanelBaseIntern
),
308 Child
, temp
.raised
= ocheck(MSG_Prefs_Miami_Raised
,MSG_Prefs_Miami_Raised_Help
, MiamiPanelBaseIntern
),
309 Child
, ollabel1(MSG_Prefs_Miami_Raised
, MiamiPanelBaseIntern
),
310 Child
, temp
.scaled
= ocheck(MSG_Prefs_Miami_Scaled
,MSG_Prefs_Miami_Scaled_Help
, MiamiPanelBaseIntern
),
311 Child
, ollabel1(MSG_Prefs_Miami_Scaled
, MiamiPanelBaseIntern
),
312 Child
, temp
.underscore
= ocheck(MSG_Prefs_Miami_Underscore
,MSG_Prefs_Miami_Underscore_Help
, MiamiPanelBaseIntern
),
313 Child
, ollabel1(MSG_Prefs_Miami_Underscore
, MiamiPanelBaseIntern
),
314 Child
, temp
.frame
= ocheck(MSG_Prefs_Miami_Frame
,MSG_Prefs_Miami_Frame_Help
, MiamiPanelBaseIntern
),
315 Child
, ollabel1(MSG_Prefs_Miami_Frame
, MiamiPanelBaseIntern
),
316 Child
, temp
.dragBar
= ocheck(MSG_Prefs_Miami_DragBar
,MSG_Prefs_Miami_DragBar_Help
, MiamiPanelBaseIntern
),
317 Child
, ollabel1(MSG_Prefs_Miami_DragBar
, MiamiPanelBaseIntern
),
327 Child
, VGroup
, // Options
331 Child
, olabel2(MSG_Prefs_OnIconify
, MiamiPanelBaseIntern
),
332 Child
, temp
.oniconify
= ocycle(MSG_Prefs_OnIconify
,oniconifies
,MSG_Prefs_OnIconify_Help
, MiamiPanelBaseIntern
),
335 Child
, ScrollgroupObject
,
336 MUIA_Scrollgroup_FreeHoriz
, FALSE
,
337 MUIA_Scrollgroup_Contents
, VirtgroupObject
,
338 MUIA_Frame
, MUIV_Frame_Virtual
,
341 Child
, temp
.bwin
= ocheck(MSG_Prefs_BWin
,MSG_Prefs_BWin_Help
, MiamiPanelBaseIntern
),
342 Child
, ollabel1(MSG_Prefs_BWin
, MiamiPanelBaseIntern
),
343 Child
, temp
.bwinBorders
= ocheck(MSG_Prefs_BWinBorders
,MSG_Prefs_BWinBorders_Help
, MiamiPanelBaseIntern
),
344 Child
, ollabel1(MSG_Prefs_BWinBorders
, MiamiPanelBaseIntern
),
346 Child
, temp
.useTransparency
= ocheck(MSG_Prefs_UseTransparency
,MSG_Prefs_UseTransparency_Help
, MiamiPanelBaseIntern
),
347 Child
, ollabel1(MSG_Prefs_UseTransparency
, MiamiPanelBaseIntern
),
358 Child
, HGroup
, // Buttons
359 Child
, save
= obutton(MSG_Prefs_Save
,MSG_Prefs_Save_Help
, MiamiPanelBaseIntern
),
361 Child
, use
= obutton(MSG_Prefs_Use
,MSG_Prefs_Use_Help
, MiamiPanelBaseIntern
),
363 Child
, apply
= obutton(MSG_Prefs_Apply
,MSG_Prefs_Apply_Help
, MiamiPanelBaseIntern
),
365 Child
, test
= obutton(MSG_Prefs_Test
,MSG_Prefs_Test_Help
, MiamiPanelBaseIntern
),
367 Child
, cancel
= obutton(MSG_Prefs_Cancel
,MSG_Prefs_Cancel_Help
, MiamiPanelBaseIntern
),
370 End
, // Window contents
374 struct MiamiPanelPrefsClass_DATA
*data
= INST_DATA(CLASS
,self
);
375 struct MPS_Prefs
*prefs
= (struct MPS_Prefs
*)GetTagData(MPA_Prefs
,NULL
,attrs
);
377 CopyMem(&temp
,data
,sizeof(struct MiamiPanelPrefsClass_DATA
));
379 DoMethod(self
,MUIM_MultiSet
,MUIA_Disabled
,TRUE
,(ULONG
)data
->raised
,(ULONG
)data
->bwinBorders
,TAG_DONE
);
381 DoSuperMethod(CLASS
,self
,MUIM_Notify
,MUIA_Window_CloseRequest
,TRUE
,
382 MUIV_Notify_Self
,2,MPM_Prefs_UsePrefs
,MPV_Prefs_UsePrefs_Cancel
);
384 DoMethod(data
->borderless
,MUIM_Notify
,MUIA_Selected
,MUIV_EveryTime
,
385 (ULONG
)data
->raised
,3,MUIM_Set
,MUIA_Disabled
,MUIV_NotTriggerValue
);
387 DoMethod(data
->bwin
,MUIM_Notify
,MUIA_Selected
,MUIV_EveryTime
,
388 (ULONG
)data
->bwinBorders
,3,MUIM_Set
,MUIA_Disabled
,MUIV_NotTriggerValue
);
390 DoMethod(save
,MUIM_Notify
,MUIA_Pressed
,FALSE
,(ULONG
)self
,2,MPM_Prefs_UsePrefs
,MPV_Prefs_UsePrefs_Save
);
391 DoMethod(use
,MUIM_Notify
,MUIA_Pressed
,FALSE
,(ULONG
)self
,2,MPM_Prefs_UsePrefs
,MPV_Prefs_UsePrefs_Use
);
392 DoMethod(apply
,MUIM_Notify
,MUIA_Pressed
,FALSE
,(ULONG
)self
,2,MPM_Prefs_UsePrefs
,MPV_Prefs_UsePrefs_Apply
);
393 DoMethod(test
,MUIM_Notify
,MUIA_Pressed
,FALSE
,(ULONG
)self
,2,MPM_Prefs_UsePrefs
,MPV_Prefs_UsePrefs_Test
);
394 DoMethod(cancel
,MUIM_Notify
,MUIA_Pressed
,FALSE
,(ULONG
)self
,2,MPM_Prefs_UsePrefs
,MPV_Prefs_UsePrefs_Cancel
);
396 prefsToGadgets(data
,prefs
);
402 /***********************************************************************/
405 MUIPC_Prefs__OM_SET(struct IClass
*CLASS
,Object
*self
,struct opSet
*message
)
407 register struct MiamiPanelPrefsClass_DATA
*data
= INST_DATA(CLASS
,self
);
408 register struct TagItem
*tag
;
409 struct TagItem
*tstate
;
411 for (tstate
= message
->ops_AttrList
; tag
= NextTagItem(&tstate
); )
413 register ULONG tidata
= tag
->ti_Data
;
418 prefsToGadgets(data
,PREFS(tidata
));
423 return DoSuperMethodA(CLASS
,self
,(Msg
)message
);
426 /***********************************************************************/
429 MUIPC_Prefs__MPM_Prefs_UsePrefs(struct IClass
*CLASS
,Object
*self
,struct MPP_Prefs_UsePrefs
*message
)
431 register struct MiamiPanelPrefsClass_DATA
*data
= INST_DATA(CLASS
,self
);
432 register ULONG close
;
434 if (close
= message
->mode
!=MPV_Prefs_UsePrefs_Test
)
435 SetSuperAttrs(CLASS
,self
,MUIA_Window_Open
,FALSE
,TAG_DONE
);
437 switch (message
->mode
)
439 case MPV_Prefs_UsePrefs_Save
:
440 gadgetsToPrefs(data
,&data
->prefs
);
441 SetAttrs(_app(self
),MPA_Prefs
,(ULONG
)&data
->prefs
,MPA_OneWay
,TRUE
,MPA_NoIfList
,TRUE
,TAG_DONE
);
442 DoMethod(_app(self
),MPM_Save
,TRUE
);
443 DoMethod(_app(self
),MPM_Save
,FALSE
);
446 case MPV_Prefs_UsePrefs_Use
:
447 gadgetsToPrefs(data
,&data
->prefs
);
448 SetAttrs(_app(self
),MPA_Prefs
,(ULONG
)&data
->prefs
,MPA_OneWay
,TRUE
,MPA_NoIfList
,TRUE
,TAG_DONE
);
449 DoMethod(_app(self
),MPM_Save
,FALSE
);
452 case MPV_Prefs_UsePrefs_Apply
:
453 gadgetsToPrefs(data
,&data
->prefs
);
454 SetAttrs(_app(self
),MPA_Prefs
,(ULONG
)&data
->prefs
,MPA_OneWay
,TRUE
,MPA_NoIfList
,TRUE
,TAG_DONE
);
457 case MPV_Prefs_UsePrefs_Test
:
459 struct MPS_Prefs prefs
;
461 gadgetsToPrefs(data
,&prefs
);
462 SetAttrs(_app(self
),MPA_Prefs
,(ULONG
)&prefs
,MPA_OneWay
,TRUE
,MPA_NoIfList
,TRUE
,TAG_DONE
);
463 data
->flags
|= FLG_Test
;
467 case MPV_Prefs_UsePrefs_Cancel
:
468 SetSuperAttrs(CLASS
,self
,MUIA_Window_Open
,FALSE
,TAG_DONE
);
469 if (data
->flags
& FLG_Test
) SetAttrs(_app(self
),MPA_Prefs
,(ULONG
)&data
->prefs
,MPA_OneWay
,TRUE
,MPA_NoIfList
,TRUE
,TAG_DONE
);
474 DoMethod(_app(self
),MUIM_Application_PushMethod
,(ULONG
)_app(self
),2,MPM_DisposeWin
,(ULONG
)self
);
479 /***********************************************************************/
481 BOOPSI_DISPATCHER(IPTR
, MUIPC_Prefs_Dispatcher
, CLASS
, self
, message
)
483 switch (message
->MethodID
)
485 case OM_NEW
: return MUIPC_Prefs__OM_NEW(CLASS
,self
,(APTR
)message
);
486 case OM_SET
: return MUIPC_Prefs__OM_SET(CLASS
,self
,(APTR
)message
);
487 case MPM_Prefs_UsePrefs
: return MUIPC_Prefs__MPM_Prefs_UsePrefs(CLASS
,self
,(APTR
)message
);
488 default: return DoSuperMethodA(CLASS
,self
,message
);
492 BOOPSI_DISPATCHER_END
494 /***********************************************************************/
497 MUIPC_Prefs_ClassInit(struct MiamiPanelBase_intern
*MiamiPanelBase
)
499 MiamiPanelBaseIntern
= MiamiPanelBase
;
500 if (MiamiPanelBaseIntern
->mpb_prefsClass
= MUI_CreateCustomClass(NULL
,MUIC_Window
,NULL
,sizeof(struct MiamiPanelPrefsClass_DATA
),MUIPC_Prefs_Dispatcher
))
502 localizeArray(registerLabels
,registerLabelsIDs
);
503 localizeArray(tformats
,tformatsIDs
);
504 localizeArray(rformats
,rformatsIDs
);
505 localizeArray(positions
,positionsIDs
);
506 localizeArray(vmodes
,vmodesIDs
);
507 localizeArray(lposs
,lpossIDs
);
508 localizeArray(oniconifies
,oniconifiesIDs
);
509 localizeArray(sblayouts
,sblayoutsIDs
);
517 /***********************************************************************/