comparison generator/typesystem_gui-java.java @ 149:7bc921c7100a

QDesktopServices.setUrlHandler - temporary solution
author eldar
date Sat, 13 Jun 2009 16:37:42 +0000
parents 39782d736db4
children 00d84545551e
comparison
equal deleted inserted replaced
148:ae34188ddd84 149:7bc921c7100a
586 } 586 }
587 587
588 }// class 588 }// class
589 589
590 class QDesktopServices___ extends QDesktopServices { 590 class QDesktopServices___ extends QDesktopServices {
591 /* 591
592 private static java.util.Hashtable<String, InternalUrlHandler> __rcUrlHandlers = new java.util.Hashtable<String, InternalUrlHandler>(); 592 private static UrlHandler[string] __rcUrlHandlers;
593 593 public static void setUrlHandler(string scheme, void delegate(QUrl) dg) {
594 public static interface UrlHandler { 594 UrlHandler receiver = dg !is null ? new UrlHandler(dg) : null;
595 public void handleUrl(qt.core.QUrl url); 595
596 } 596 if (receiver is null)
597
598 private static class InternalUrlHandler extends qt.core.QObject {
599
600 private UrlHandler urlHandler;
601
602 private InternalUrlHandler(UrlHandler urlHandler) {
603 this.urlHandler = urlHandler;
604 }
605
606 private void handleUrl(qt.core.QUrl url) {
607 urlHandler.handleUrl(url);
608 }
609
610 }
611
612 public static void setUrlHandler(String scheme, UrlHandler urlHandler) {
613 InternalUrlHandler receiver = urlHandler != null ? new InternalUrlHandler(urlHandler) : null;
614
615 if (receiver == null)
616 __rcUrlHandlers.remove(scheme); 597 __rcUrlHandlers.remove(scheme);
617 else 598 else
618 __rcUrlHandlers.put(scheme, receiver); 599 __rcUrlHandlers[scheme] = receiver;
619 setUrlHandler(scheme, receiver, QNativePointer.createCharPointer("handleUrl")); 600
620 } 601 setUrlHandler(scheme, receiver, "handleUrl");
621 */ 602 }
622 }// class 603 }// class
623 604
624 class QWizardPage___ extends QWizardPage { 605 class QWizardPage___ extends QWizardPage {
625 606
626 protected final void registerField(string name, QWidget widget, string property = null) { 607 protected final void registerField(string name, QWidget widget, string property = null) {