comparison dwtx/ui/internal/forms/widgets/FormHeading.d @ 76:e193036d82c9

Fix continue porting
author Frank Benoit <benoit@tionex.de>
date Sat, 24 May 2008 06:18:55 +0200
parents 5d489b9f966c
children 04b47443bb01
comparison
equal deleted inserted replaced
75:5d489b9f966c 76:e193036d82c9
11 * Frank Benoit <benoit@tionex.de> 11 * Frank Benoit <benoit@tionex.de>
12 *******************************************************************************/ 12 *******************************************************************************/
13 module dwtx.ui.internal.forms.widgets.FormHeading; 13 module dwtx.ui.internal.forms.widgets.FormHeading;
14 14
15 import dwtx.ui.internal.forms.widgets.TitleRegion; 15 import dwtx.ui.internal.forms.widgets.TitleRegion;
16 import dwtx.ui.internal.forms.widgets.FormImages;
17 import dwtx.ui.internal.forms.widgets.FormsResources;
16 18
17 import dwt.DWT; 19 import dwt.DWT;
18 import dwt.custom.CLabel; 20 import dwt.custom.CLabel;
19 import dwt.dnd.DragSourceListener; 21 import dwt.dnd.DragSourceListener;
20 import dwt.dnd.DropTargetListener; 22 import dwt.dnd.DropTargetListener;
88 90
89 private GradientInfo gradientInfo; 91 private GradientInfo gradientInfo;
90 92
91 private ToolBarManager toolBarManager; 93 private ToolBarManager toolBarManager;
92 94
93 private SizeCache toolbarCache = new SizeCache(); 95 private SizeCache toolbarCache;
94 96
95 private SizeCache clientCache = new SizeCache(); 97 private SizeCache clientCache;
96 98
97 private SizeCache messageCache = new SizeCache(); 99 private SizeCache messageCache;
98 100
99 private TitleRegion titleRegion; 101 private TitleRegion titleRegion;
100 102
101 private MessageRegion messageRegion; 103 private MessageRegion messageRegion;
102 104
113 String details = getMessageType() is 0 ? null : MessageManager 115 String details = getMessageType() is 0 ? null : MessageManager
114 .createDetails(getChildrenMessages()); 116 .createDetails(getChildrenMessages());
115 if (messageRegion !is null) 117 if (messageRegion !is null)
116 messageRegion.updateToolTip(details); 118 messageRegion.updateToolTip(details);
117 if (getMessageType() > 0 119 if (getMessageType() > 0
118 && (details is null || details.length() is 0)) 120 && (details is null || details.length is 0))
119 details = getMessage(); 121 details = getMessage();
120 titleRegion.updateToolTip(details); 122 titleRegion.updateToolTip(details);
121 } 123 }
122 } 124 }
123 125
339 } 341 }
340 } 342 }
341 return size; 343 return size;
342 } 344 }
343 } 345 }
344 346 this(){
347 toolbarCache = new SizeCache();
348 clientCache = new SizeCache();
349 messageCache = new SizeCache();
350 }
345 /* (non-Javadoc) 351 /* (non-Javadoc)
346 * @see dwt.widgets.Control#forceFocus() 352 * @see dwt.widgets.Control#forceFocus()
347 */ 353 */
348 public bool forceFocus() { 354 public bool forceFocus() {
349 return false; 355 return false;
424 return; 430 return;
425 } 431 }
426 ensureControlExists(); 432 ensureControlExists();
427 if (needHyperlink()) { 433 if (needHyperlink()) {
428 messageHyperlink.setText(newMessage); 434 messageHyperlink.setText(newMessage);
429 messageHyperlink.setHref(messages); 435 messageHyperlink.setHref(new ArrayWrapperT!(IMessage)(messages));
430 } else { 436 } else {
431 messageLabel.setText(newMessage); 437 messageLabel.setText(newMessage);
432 } 438 }
433 if (oldType !is newType) 439 if (oldType !is newType)
434 updateForeground(); 440 updateForeground();
479 } 485 }
480 486
481 public void addMessageHyperlinkListener(IHyperlinkListener listener) { 487 public void addMessageHyperlinkListener(IHyperlinkListener listener) {
482 if (listeners is null) 488 if (listeners is null)
483 listeners = new ListenerList(); 489 listeners = new ListenerList();
484 listeners.add(listener); 490 listeners.add(cast(Object)listener);
485 ensureControlExists(); 491 ensureControlExists();
486 if (messageHyperlink !is null) 492 if (messageHyperlink !is null)
487 messageHyperlink.addHyperlinkListener(listener); 493 messageHyperlink.addHyperlinkListener(listener);
488 if (listeners.size() is 1) 494 if (listeners.size() is 1)
489 updateForeground(); 495 updateForeground();
490 } 496 }
491 497
492 private void removeMessageHyperlinkListener(IHyperlinkListener listener) { 498 private void removeMessageHyperlinkListener(IHyperlinkListener listener) {
493 if (listeners !is null) { 499 if (listeners !is null) {
494 listeners.remove(listener); 500 listeners.remove(cast(Object)listener);
495 if (messageHyperlink !is null) 501 if (messageHyperlink !is null)
496 messageHyperlink.removeHyperlinkListener(listener); 502 messageHyperlink.removeHyperlinkListener(listener);
497 if (listeners.isEmpty()) 503 if (listeners.isEmpty())
498 listeners = null; 504 listeners = null;
499 ensureControlExists(); 505 ensureControlExists();
508 messageLabel.setVisible(false); 514 messageLabel.setVisible(false);
509 if (messageHyperlink is null) { 515 if (messageHyperlink is null) {
510 messageHyperlink = new Hyperlink(this.outer, DWT.NULL); 516 messageHyperlink = new Hyperlink(this.outer, DWT.NULL);
511 messageHyperlink.setUnderlined(true); 517 messageHyperlink.setUnderlined(true);
512 messageHyperlink.setText(message); 518 messageHyperlink.setText(message);
513 messageHyperlink.setHref(messages); 519 messageHyperlink.setHref(new ArrayWrapperT!(IMessage)(messages));
514 Object[] llist = listeners.getListeners(); 520 Object[] llist = listeners.getListeners();
515 for (int i = 0; i < llist.length; i++) 521 for (int i = 0; i < llist.length; i++)
516 messageHyperlink 522 messageHyperlink
517 .addHyperlinkListener(cast(IHyperlinkListener) llist[i]); 523 .addHyperlinkListener(cast(IHyperlinkListener) llist[i]);
518 if (messageToolTipManager !is null) 524 if (messageToolTipManager !is null)
519 messageToolTipManager.createToolTip(messageHyperlink, false); 525 messageToolTipManager.createToolTip(messageHyperlink, false);
520 } else if (!messageHyperlink.getVisible()) { 526 } else if (!messageHyperlink.getVisible()) {
521 messageHyperlink.setText(message); 527 messageHyperlink.setText(message);
522 messageHyperlink.setHref(messages); 528 messageHyperlink.setHref(new ArrayWrapperT!(IMessage)(messages));
523 messageHyperlink.setVisible(true); 529 messageHyperlink.setVisible(true);
524 } 530 }
525 } else { 531 } else {
526 // need a label 532 // need a label
527 if (messageHyperlink !is null) 533 if (messageHyperlink !is null)
989 layout(); 995 layout();
990 } 996 }
991 997
992 public void putColor(String key, Color color) { 998 public void putColor(String key, Color color) {
993 if (color is null) 999 if (color is null)
994 colors.remove(key); 1000 colors.removeKey(key);
995 else 1001 else
996 colors.put(key, color); 1002 colors.add(key, color);
997 } 1003 }
998 1004
999 public Color getColor(String key) { 1005 public Color getColor(String key) {
1000 return cast(Color) colors.get(key); 1006 return cast(Color) colors.get(key);
1001 } 1007 }