Module cSigCJTaskPanel.pkg
1//==============================================================================
2// Project : SigCj - VDF Classes for Codejock
3// File : cSigCJTaskPanel.pkg
4// Description : VDF Class for Codejock control
5//
6// Revision : $Rev: 675 $
7// $Date: 2011-02-23 10:51:39 -0500 (Wed, 23 Feb 2011) $
8// $Author: martin $ Martin Pincott
9//
10// Requirements : Visual DataFlex 12.1+
11// Codejock SuitePro - Version 12.0.0+
12//
13// Copyright : (c) 2008 VDF SIG UK
14// Visual DataFlex Special Interest Group UK.
15// http://www.vdfsig.co.uk/
16// dev@vdfsig.co.uk
17//
18// This file is part of SigCj.
19//
20// SigCj is free software: you can redistribute it and/or modify
21// it under the terms of the GNU Lesser General Public License
22// as published by the Free Software Foundation, either version
23// 2.1 of the License, or (at your option) any later version.
24//
25// SigCj is distributed in the hope that it will be useful, but
26// WITHOUT ANY WARRANTY; without even the implied warranty of
27// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28// GNU Lesser General Public License for more details.
29//
30// If you have the complete SigCj workspace then a copy of the
31// GNU Lesser General Public License is in the Docs folder. If
32// not, see <http://www.gnu.org/licenses/>.
33//
34//==============================================================================
35Use SigCjW_TaskPanel.pkg
36Use cSigCJMethods_Mixin.pkg
37Use cSigCJGlobalSettings.pkg
38Use StdFont.pkg
39Use brdcster.pkg
40
41Define eTPT_Office2000 for OLExtpTaskPanelThemeOffice2000
42Define eTPT_Office2003 for OLExtpTaskPanelThemeOffice2003
43Define eTPT_NativeWinXP for OLExtpTaskPanelThemeNativeWinXP
44Define eTPT_Office2000Plain for OLExtpTaskPanelThemeOffice2000Plain
45Define eTPT_OfficeXPPlain for OLExtpTaskPanelThemeOfficeXPPlain
46Define eTPT_Office2003Plain for OLExtpTaskPanelThemeOffice2003Plain
47Define eTPT_NativeWinXPPlain for OLExtpTaskPanelThemeNativeWinXPPlain
48Define eTPT_Toolbox for OLExtpTaskPanelThemeToolbox
49Define eTPT_ToolboxWhidbey for OLExtpTaskPanelThemeToolboxWhidbey
50Define eTPT_ListView for OLExtpTaskPanelThemeListView
51Define eTPT_ListOfficeXP for OLExtpTaskPanelThemeListViewOfficeXP
52Define eTPT_ListOffice2003 for OLExtpTaskPanelThemeListViewOffice2003
53Define eTPT_BarOffice2003 for OLExtpTaskPanelThemeShortcutBarOffice2003
54
55#IF (SigCj_Codejock_Version < 150001)
56 Define eTPT_BarOffice2007 for OLExtpTaskPanelThemeShortcutBarOffice2007
57#ELSE
58 Define eTPT_Resource for OLExtpTaskPanelThemeResource
59 Define eTPT_VisualStudio2010 for OLExtpTaskPanelThemeVisualStudio2010
60#ENDIF
61
62Define eTPA_Yes for OLExtpTaskPanelAnimationYes
63Define eTPA_No for OLExtpTaskPanelAnimationNo
64Define eTPA_System for OLExtpTaskPanelAnimationSystem
65
66Define eTPB_BehaviourExplorer for OLExtpTaskPanelBehaviourExplorer
67Define eTPB_BehaviourList for OLExtpTaskPanelBehaviourList
68Define eTPB_BehaviourToolbox for OLExtpTaskPanelBehaviourToolbox
69
70Define eTPB_BorderNone for OLExtpBorderNone
71Define eTPB_BorderFlat for OLExtpBorderFlat
72Define eTPB_BorderStaticEdge for OLExtpBorderStaticEdge
73Define eTPB_BorderClientEdge for OLExtpBorderClientEdge
74Define eTPB_BorderFrame for OLExtpBorderFrame
75
76Define eTPIT_Link for OLExtpTaskItemTypeLink
77Define eTPIT_Text for OLExtpTaskItemTypeText
78
79{ OverrideProperty=Label DesignTime=False }
80{ OverrideProperty=Label_Col_Offset DesignTime=False }
81{ OverrideProperty=Label_Justification_Mode DesignTime=False }
82{ OverrideProperty=Label_Row_Offset DesignTime=False }
83{ OverrideProperty=Location DesignTime=False }
84{ OverrideProperty=peAnchors DesignTime=False }
85{ OverrideProperty=piMinSize DesignTime=False }
86{ OverrideProperty=Size DesignTime=False }
87{ OverrideProperty=TextColor DesignTime=False }
88{ OverrideProperty=Color DesignTime=False }
89{ OverrideProperty=Border_Style DesignTime=False }
90{ OverrideProperty=Enabled_State DesignTime=False }
91{ OverrideProperty=Visible_State DesignTime=False }
92{ OverrideProperty=Attach_Parent_State DesignTime=False }
93{ OverrideProperty=Block_Mouse_State DesignTime=False }
94{ OverrideProperty=Client_Area_State DesignTime=False }
95{ OverrideProperty=Delegation_Mode DesignTime=False }
96{ OverrideProperty=Focus_Mode DesignTime=False }
97{ OverrideProperty=pbBindValue DesignTime=False }
98{ OverrideProperty=peAutoCreate DesignTime=False }
99{ OverrideProperty=peNeighborhood DesignTime=False }
100{ OverrideProperty=Popup_State DesignTime=False }
101{ OverrideProperty=Ring_State DesignTime=False }
102{ OverrideProperty=Scope_State DesignTime=False }
103{ OverrideProperty=Search_Case DesignTime=False }
104{ OverrideProperty=Skip_State DesignTime=False }
105{ OverrideProperty=Help_Id DesignTime=False }
106{ OverrideProperty=Help_Keyword DesignTime=False }
107{ OverrideProperty=psHtmlHelpTopic DesignTime=False }
108{ OverrideProperty=Status_Help DesignTime=False }
109{ OverrideProperty=Use_Parent_Status_Help DesignTime=False }
110{ OverrideProperty=psLicenseKey DesignTime=False }
111{ OverrideProperty=psProgID DesignTime=False }
112
113Class cSigCJTaskPanel is a cSigCjComTaskPanel
114 Import_Class_Protocol cSigCJMethods_Mixin
115
116 Procedure Construct_Object
117 Forward Send Construct_Object
118
119 { Visibility=Private }
120 Property Handle phoGroupCollection (Create(Self, U_cSigCjComTaskPanelGroups))
121 { Visibility=Private }
122 Property Boolean Private.pbVisible True
123 { Visibility=Private }
124
125 #IF (SigCj_Codejock_Version < 150001)
126 Property Integer Private.peTaskPanelTheme eTPT_BarOffice2007
127 #ELSE
128 Property Integer Private.peTaskPanelTheme eTPT_Resource
129 #ENDIF
130 { Visibility=Private }
131 Property Integer Private.peAnimation eTPA_No
132 { Visibility=Private }
133 Property Integer Private.peBehaviour eTPB_BehaviourExplorer
134 { Visibility=Private }
135 Property Integer Private.peBorderStyle eTPB_BorderNone
136 { Visibility=Private }
137 Property Integer Private.piGroupIconHeight 16
138 { Visibility=Private }
139 Property Integer Private.piGroupIconWidth 16
140
141 // Create child objects:
142 Object oAllTaskPanelItems is a Broadcaster
143 End_Object
144 End_Procedure // Construct_Object
145
146 { MethodType=Property Category="CodeJock" }
147 #IF (SigCj_Codejock_Version < 150001)
148 { EnumList="eTPT_Office2000, eTPT_Office2003, eTPT_NativeWinXP, eTPT_Office2000Plain, eTPT_OfficeXPPlain, eTPT_Office2003Plain, eTPT_NativeWinXPPlain, eTPT_Toolbox, eTPT_ToolboxWhidbey, eTPT_ListView, eTPT_ListOfficeXP, eTPT_ListOffice2003, eTPT_BarOffice2003, eTPT_BarOffice2007" }
149 { InitialValue=eTPT_BarOffice2007 }
150 #ELSE
151 { EnumList="eTPT_Office2000, eTPT_Office2003, eTPT_NativeWinXP, eTPT_Office2000Plain, eTPT_OfficeXPPlain, eTPT_Office2003Plain, eTPT_NativeWinXPPlain, eTPT_Toolbox, eTPT_ToolboxWhidbey, eTPT_ListView, eTPT_ListOfficeXP, eTPT_ListOffice2003, eTPT_BarOffice2003, eTPT_Resource, eTPT_VisualStudio2010" }
152 { InitialValue=eTPT_Resource }
153 #ENDIF
154 Procedure Set peTaskPanelTheme Integer eTheme
155 Set SigCJProperty Set_Private.peTaskPanelTheme Set_ComVisualTheme to eTheme
156 End_Procedure
157
158 { MethodType=Property Category="CodeJock" }
159 Function peTaskPanelTheme Returns Integer
160 Function_Return (Private.peTaskPanelTheme(Self))
161 End_Function
162
163 { MethodType=Property Category="CodeJock" }
164 Procedure Set pbVisible Boolean bVisible
165 Set SigCJProperty Set_Private.pbVisible Set_ComEnabled to bVisible
166 End_Procedure
167
168 { MethodType=Property Category="CodeJock" }
169 Function pbVisible Returns Boolean
170 Function_Return (Private.pbVisible(Self))
171 End_Function
172
173 { MethodType=Property Category="CodeJock" }
174 { EnumList="eTPA_Yes, eTPA_No, eTPA_System" }
175 { InitialValue=eTPA_No }
176 Procedure Set peTaskPanelAnimation Integer eValue
177 Set SigCJProperty Set_Private.peAnimation Set_ComAnimation to eValue
178 End_Procedure
179
180 { MethodType=Property Category="CodeJock" }
181 Function peTaskPanelAnimation Returns Integer
182 Function_Return (Private.peAnimation(Self))
183 End_Function
184
185 { MethodType=Property Category="CodeJock" }
186 { EnumList="eTPB_BehaviourExplorer, eTPB_BehaviourList, eTPB_BehaviourToolbox" }
187 { InitialValue=eTPB_BehaviourExplorer }
188 Procedure Set peTaskPanelBehaviour Integer eValue
189 Set SigCJProperty Set_Private.peBehaviour Set_ComBehaviour to eValue
190 End_Procedure
191
192 { MethodType=Property Category="CodeJock" }
193 Function peTaskPanelBehaviour Returns Integer
194 Function_Return (Private.peBehaviour(Self))
195 End_Function
196
197 { MethodType=Property Category="CodeJock" }
198 { EnumList="eTPB_BorderNone, eTPB_BorderFlat, eTPB_BorderStaticEdge, eTPB_BorderClientEdge, eTPB_BorderFrame" }
199 { InitialValue=eTPB_BorderNone }
200 Procedure Set peTaskPanelBorder Integer eValue
201 Set SigCJProperty Set_Private.peBorderStyle Set_ComBorderStyle to eValue
202 End_Procedure
203
204 { MethodType=Property Category="CodeJock" }
205 Function peTaskPanelBorder Returns Integer
206 Function_Return (Private.peBorderStyle(Self))
207 End_Function
208
209 { MethodType=Property Category="CodeJock" }
210 Procedure Set piGroupIconSize Integer iWidth Integer iHeight
211 If (IsComObjectCreated(Self)) Begin
212 Send ComSetGroupIconSize iWidth iHeight
213 End
214 Set Private.piGroupIconHeight to iHeight
215 Set Private.piGroupIconWidth to iWidth
216 End_Procedure
217
218 { MethodType=Event }
219 Procedure OnCreate
220 Forward Send OnCreate
221
222 Set Visible_State to (Private.pbVisible(Self))
223 Set ComIcons to (ComIcons(ghoSigCjGlobalSetting))
224 Set pvComObject of (phoGroupCollection(Self)) to (ComGroups(Self))
225
226 //Apply Settings...
227 Set peTaskPanelTheme to (Private.peTaskPanelTheme(Self))
228 Set peTaskPanelAnimation to (Private.peAnimation(Self))
229 Set peTaskPanelBehaviour to (Private.peBehaviour (Self))
230 Set peTaskPanelBorder to (Private.peBorderStyle(Self))
231 Set piGroupIconSize to (Private.piGroupIconWidth(Self)) (Private.piGroupIconHeight(Self))
232
233 // Create all groups
234 Broadcast Send Private.Create Self True
235 End_Procedure // OnCreate
236
237
238 { MethodType=Method }
239 Procedure OnComItemClick Variant vItem
240 Handle hoItem
241 Handle hoID
242
243 Get Create U_cSigCjComTaskPanelGroupItem to hoItem
244 Set pvComObject of hoItem to vItem
245 Get ComID of hoItem to hoID
246 Send Destroy to hoItem
247 If (hoID <> 0) Begin
248 Send OnClick to hoID
249 End
250 End_Procedure // OnComItemClick
251
252 { MethodType=Method }
253 Function FindGroup Integer iID Returns Handle
254 Variant vGroup
255 Handle hoGroup hoGroupFound hoGroupCollection
256
257 Get phoGroupCollection to hoGroupCollection
258
259 If (hoGroupCollection = 0) Begin
260 Function_Return -1
261 End
262
263 Get ComFind of hoGroupCollection iID to vGroup
264 If (not(IsNullComObject(vGroup))) Begin
265 // Create temporary object to retrieve <Tag>.
266 Get Create U_cSigCjComTaskPanelGroup to hoGroup
267 Set pvComObject of hoGroup to vGroup
268 Get ComTag of hoGroup to hoGroupFound
269 Send Destroy to hoGroup
270 End
271
272 Function_Return hoGroupFound
273 End_Function // FindGroup
274
275 {DocStart = Method}
276 //---------------------------------------------------
277 //
278 // Procedure : DoEnumerateAllTaskPanelItems
279 //
280 // Scope : Public
281 //
282 // Paramaters : iMsg
283 //
284 // Returns : None
285 //
286 // Purpose : As objects of type cSigCJTaskPanelGroupItem are created they are registered with a Broadcaster object
287 // DoEnumerateAllTaskPanelItems simply sends the passed message to all registered objects
288 //
289 // Notes :
290 //
291 //---------------------------------------------------
292 {DocEnd}
293
294 { MethodType=Method Visibility=Public }
295 Procedure DoEnumerateAllTaskPanelItems Integer iMsg
296 Set broadcast_state of (oAllTaskPanelItems(Self)) to True
297 Send iMsg of (oAllTaskPanelItems(Self))
298 Set broadcast_state of (oAllTaskPanelItems(Self)) to False
299 End_Procedure
300
301End_Class // cSigCJTaskPanel
302
303{ OverrideProperty=Delegation_Mode DesignTime=False }
304{ OverrideProperty=peAutoCreate DesignTime=False }
305{ OverrideProperty=peNeighborhood DesignTime=False }
306{ OverrideProperty=psLicenseKey DesignTime=False }
307{ OverrideProperty=psProgID DesignTime=False }
308Class cSigCJTaskPanelGroup is a cSigCjComTaskPanelGroup
309 Import_Class_Protocol cSigCJMethods_Mixin
310
311 Procedure Construct_Object
312 Forward Send Construct_Object
313
314 { Visibility=Private }
315 Property Integer piID 0
316
317 { Visibility=Private }
318 Property Handle phoItemCollection (Create(Self, U_cSigCjComTaskPanelGroupItems))
319 { Visibility=Private }
320 Property Handle phoCaptionFont (Create(Self, U_cComStdFont))
321
322 { Visibility=Private }
323 Property String Private.psLabel ""
324 { Visibility=Private }
325 Property String Private.psImage ""
326 { Visibility=Private }
327 Property Boolean Private.pbCreateExpanded False
328 { Visibility=Private }
329 Property Boolean Private.pbLabelEmboldened False
330 { Visibility=Private }
331 Property Boolean Private.pbLabelItalic False
332 End_Procedure // Construct_Object
333
334 { MethodType=Property Category="CodeJock" }
335 Procedure Set psLabel String sValue
336 Set SigCJProperty Set_Private.psLabel Set_ComCaption to sValue
337 End_Procedure
338
339 { MethodType=Property Category="CodeJock" }
340 Function psLabel Returns String
341 Function_Return (Private.psLabel(Self))
342 End_Function
343
344 { MethodType=Property Category="CodeJock" }
345 { PropertyType=Boolean InitialValue=False }
346 Procedure Set pbLabelEmboldened Boolean bState
347 If (IsComObjectCreated(phoCaptionFont(Self))) Begin
348 Set ComBold of (phoCaptionFont(Self)) to bState
349 End
350 Set Private.pbLabelEmboldened to bState
351 End_Procedure
352
353 { MethodType=Property Category="CodeJock" }
354 Function pbLabelEmboldened Returns Boolean
355 Function_Return (Private.pbLabelEmboldened(Self))
356 End_Function
357
358 { MethodType=Property Category="CodeJock" }
359 Procedure Set pbLabelItalic Boolean bState
360 If (IsComObjectCreated(phoCaptionFont(Self))) Begin
361 Set ComItalic of (phoCaptionFont(Self)) to bState
362 End
363 Set Private.pbLabelItalic to bState
364 End_Procedure
365
366 { MethodType=Property Category="CodeJock" }
367 Function pbLabelItalic Returns Boolean
368 Function_Return (Private.pbLabelItalic(Self))
369 End_Function
370
371 { MethodType=Property Category="CodeJock" }
372 Procedure Set psImage String sImage
373 Integer iIndex
374 Get AddImage of ghoSigCjGlobalSetting sImage 0 0 to iIndex
375 If (IsComObjectCreated(Self)) Begin
376 Set ComIconIndex to iIndex
377 End
378 Set Private.psImage to sImage
379 End_Procedure
380
381 { MethodType=Property Category="CodeJock" }
382 Function psImage Returns String
383 Function_Return (Private.psImage(Self))
384 End_Function
385
386 { MethodType=Property Category="CodeJock" }
387 Procedure Set pbCreateExpanded Boolean bState
388 Set SigCJProperty Set_Private.pbCreateExpanded Set_ComExpanded to bState
389 End_Procedure
390
391 { MethodType=Property Category="CodeJock" }
392 Function pbCreateExpanded Returns Boolean
393 Function_Return (Private.pbCreateExpanded(Self))
394 End_Function
395
396
397 { MethodType=Method }
398 Procedure Private.Create Handle hoParent Boolean bRecurse
399 Variant vGroup
400 Handle hoGroups
401
402 // Check for parent
403 If (hoParent = 0) Begin
404 Procedure_Return
405 End
406 // Get collection of groups and check
407 Get phoGroupCollection of hoParent to hoGroups
408 If (hoGroups = 0) Begin
409 Procedure_Return
410 End
411
412 Get ComAdd of hoGroups (piID(Self)) (Private.psLabel(Self)) to vGroup
413 Set pvComObject to vGroup
414
415 Set pvComObject of (phoItemCollection(Self)) to (ComItems(Self))
416 Set pvComObject of (phoCaptionFont(Self)) to (ComFont(Self))
417 Set ComTag to (Self)
418 Set psImage to (Private.psImage(Self))
419 Set pbCreateExpanded to (Private.pbCreateExpanded(Self))
420 Set pbLabelEmboldened to (Private.pbLabelEmboldened(Self))
421 Set pbLabelItalic to (Private.pbLabelItalic(Self))
422
423 If (bRecurse) Begin
424 Broadcast Send Private.Create Self
425 End
426 End_Procedure // Private.Create
427
428End_Class // cSigCJTaskPanelGroup
429
430
431{ OverrideProperty=Delegation_Mode DesignTime=False }
432{ OverrideProperty=peAutoCreate DesignTime=False }
433{ OverrideProperty=peNeighborhood DesignTime=False }
434{ OverrideProperty=psLicenseKey DesignTime=False }
435{ OverrideProperty=psProgID DesignTime=False }
436Class cSigCJTaskPanelGroupItem is a cSigCjComTaskPanelGroupItem
437 Import_Class_Protocol cSigCJMethods_Mixin
438
439 Procedure Construct_Object
440 Forward Send Construct_Object
441 { Visibility=Private }
442 Property Integer piID
443 { Visibility=Private }
444 Property Integer phmMessage 0
445 { Visibility=Private }
446 Property Handle phoDestination (Client_ID(Self))
447 { Visibility=Private }
448 Property Handle phoItemsFont (Create(Self, U_cComStdFont))
449
450 { Visibility=Private }
451 Property String Private.psLabel ""
452 { Visibility=Private }
453 Property String Private.psToolTip ""
454 { Visibility=Private }
455 Property String Private.psImage ""
456 { Visibility=Private }
457 Property Integer Private.peItemType eTPIT_Link
458 { Visibility=Private }
459 Property Boolean Private.pbLabelEmboldened False
460 { Visibility=Private }
461 Property Boolean Private.pbLabelItalic False
462 { Visibility=Private }
463 Property Boolean Private.pbEnabled True
464 { Visibility=Private }
465 Property Integer Private.piTextColor clNone
466 End_Procedure // Construct_Object
467
468 Procedure End_Construct_Object
469 Send Add_Element of (oAllTaskPanelItems(Self)) Self
470 Forward Send End_Construct_Object
471 End_Procedure
472
473 { MethodType=Property Category="CodeJock" }
474 Procedure Set psLabel String sValue
475 Set SigCJProperty Set_Private.psLabel Set_ComCaption to sValue
476 End_Procedure
477
478 { MethodType=Property Category="CodeJock" }
479 Function psLabel Returns String
480 Function_Return (Private.psLabel(Self))
481 End_Function
482
483 { MethodType=Property Category="CodeJock" }
484 { PropertyType=Color InitialValue=clNone }
485 { EnumList= "clScrollBar, clBackground, clActiveCaption, clInactiveCaption, clMenu, clWindow" }
486 { EnumList+="clWindowFrame, clMenuText, clWindowText, clCaptionText, clActiveBorder" }
487 { EnumList+="clInactiveBorder, clAppWorkSpace, clHighlight, clHighlightText, clBtnFace" }
488 { EnumList+="clBtnShadow, clGrayText, clBtnText, clInactiveCaptionText, clBtnHighlight" }
489 { EnumList+="cl3DDkShadow, cl3DLight, clInfoText, clInfoBk, clDefault, clNone" }
490 { EnumList+="clAqua, clBlack, clBlue, clDkGray, clFuchsia, clGray, clGreen, clLime, clLtGray" }
491 { EnumList+="clMaroon, clNavy, clOlive, clPurple, clRed, clSilver, clTeal, clWhite, clYellow" }
492 Procedure Set piTextColor Integer iColor
493 Set SigCJProperty Set_Private.piTextColor Set_ComTextColor to iColor
494 End_Procedure
495
496 { MethodType=Property Category="CodeJock" }
497 Function piTextColor Returns Integer
498 Function_Return (Private.piTextColor(Self))
499 End_Function
500
501 { MethodType=Property Category="CodeJock" }
502 Procedure Set psTooltip String sValue
503 Set SigCJProperty Set_Private.psTooltip Set_ComTooltip to sValue
504 End_Procedure
505
506 { MethodType=Property Category="CodeJock" }
507 Function psTooltip Returns String
508 Function_Return (Private.psTooltip(Self))
509 End_Function
510
511 { MethodType=Property Category="CodeJock" }
512 { PropertyType=Boolean InitialValue=False }
513 Procedure Set pbLabelEmboldened Boolean bState
514 If (IsComObjectCreated(phoItemsFont(Self))) Begin
515 Set ComBold of (phoItemsFont(Self)) to bState
516 End
517 Set Private.pbLabelEmboldened to bState
518 End_Procedure
519
520 { MethodType=Property Category="CodeJock" }
521 Function pbLabelEmboldened Returns Boolean
522 Function_Return (Private.pbLabelEmboldened(Self))
523 End_Function
524
525 { MethodType=Property Category="CodeJock" }
526 Procedure Set pbLabelItalic Boolean bState
527 If (IsComObjectCreated(phoItemsFont(Self))) Begin
528 Set ComItalic of (phoItemsFont(Self)) to bState
529 End
530 Set Private.pbLabelItalic to bState
531 End_Procedure
532
533 { MethodType=Property Category="CodeJock" }
534 Function pbLabelItalic Returns Boolean
535 Function_Return (Private.pbLabelItalic(Self))
536 End_Function
537
538 { MethodType=Property Category="CodeJock" }
539 Procedure Set psImage String sImage
540 Integer iIndex
541 Get AddImage of ghoSigCjGlobalSetting sImage 0 0 to iIndex
542 If (IsComObjectCreated(Self)) Begin
543 Set ComIconIndex to iIndex
544 End
545 Set Private.psImage to sImage
546 End_Procedure
547
548 { MethodType=Property Category="CodeJock" }
549 Function psImage Returns String
550 Function_Return (Private.psImage(Self))
551 End_Function
552
553 { MethodType=Property Category="CodeJock" }
554 { EnumList="eTPIT_Link, eTPIT_Text" }
555 { InitialValue=eTPIT_Link }
556 Procedure Set peItemType Integer eValue
557 Set SigCJProperty Set_Private.peItemType Set_ComType to eValue
558 End_Procedure
559
560 { MethodType=Property Category="CodeJock" }
561 Function peItemType Returns Integer
562 Function_Return (Private.peItemType(Self))
563 End_Function
564
565 { MethodType=Property Category="CodeJock" }
566 { PropertyType=Boolean InitialValue=True }
567 Procedure Set pbEnabled Boolean bState
568 Set SigCJProperty Set_Private.pbEnabled Set_ComEnabled to bState
569 End_Procedure
570
571 { MethodType=Property Category="CodeJock" }
572 Function pbEnabled Returns Boolean
573 Function_Return (Private.pbEnabled(Self))
574 End_Function
575
576
577 { MethodType=Method }
578 Procedure Private.Create Handle hoParent
579 Handle hoItems hoItem
580 Variant vItem
581 Integer iIndex
582
583 // Check for parent
584 If (hoParent = 0) Begin
585 Procedure_Return
586 End
587 // Get collection of items and check
588 Get phoItemCollection of hoParent to hoItems
589 If (hoItems = 0) Begin
590 Procedure_Return
591 End
592 Move Self to hoItem
593 Get ComAdd of hoItems hoItem (Private.psLabel(Self)) OLExtpTaskItemTypeLink 0 to vItem
594 Set pvComObject to vItem
595 Set pvComObject of (phoItemsFont(Self)) to (ComFont(Self))
596
597 Set piTextColor to (Private.piTextColor(Self))
598 Set psImage to (Private.psImage(Self))
599 Set peItemType to (Private.peItemType(Self))
600 Set pbLabelEmboldened to (Private.pbLabelEmboldened(Self))
601 Set pbLabelItalic to (Private.pbLabelItalic(Self))
602 Set pbEnabled to (Private.pbEnabled(Self))
603 End_Procedure // Private.Create
604
605
606 // Procedure : OnClick
607 // Purpose : This event is sent when the user selects an item
608 { MethodType=Event }
609 Procedure OnClick
610 Integer iMessage
611 Handle hoDestination
612
613 Get phmMessage to iMessage
614 If (iMessage <> 0) Begin
615 // Get destination from item
616 Get phoDestination to hoDestination
617
618 // Get default destination from parent if item has no destination
619 If (Object_ID(hoDestination) = 0) Begin
620 Delegate Get phoDestination to hoDestination
621 End
622 // Send message
623 If (Object_ID(hoDestination) > 0) Begin
624 Send iMessage of hoDestination
625 End
626 Else Begin
627 Send iMessage of (Focus(Desktop))
628 End
629 End
630 End_Procedure // OnClick
631
632End_Class // cSigCJTaskPanelGroupItem
633
634//==============================================================================
635//End of Package - cSigCJTaskPanel.pkg
636//==============================================================================
637