- Timestamp:
- Jun 4, 2010 10:19:31 AM (15 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/globals
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/globals/COMDefs.h
r28800 r30026 78 78 /* Qt includes */ 79 79 #include <QString> 80 #include <QRect> 80 81 #include <QUuid> 81 82 #include <QVector> 83 #include <QList> 82 84 #include <QMetaType> 83 85 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/COMWrappers.xsl
r28800 r30026 379 379 </xsl:template> 380 380 381 <xsl:template name="declareExtraDataHelpers"> 382 383 <xsl:text> void SetExtraDataBool(const QString &strKey, bool fValue); 384 bool GetExtraDataBool(const QString &strKey, bool fDef = true); 385 386 void SetExtraDataInt(const QString &strKey, int value); 387 int GetExtraDataInt(const QString &strKey, int def = 0); 388 389 void SetExtraDataRect(const QString &strKey, const QRect &value); 390 QRect GetExtraDataRect(const QString &strKey, const QRect &def = QRect()); 391 392 void SetExtraDataStringList(const QString &strKey, const QStringList &value); 393 QStringList GetExtraDataStringList(const QString &strKey); 394 395 void SetExtraDataIntList(const QString &strKey, const QList<int> &value); 396 QList<int> GetExtraDataIntList(const QString &strKey); 397 398 </xsl:text> 399 400 </xsl:template> 401 381 402 <xsl:template name="declareMembers"> 382 403 … … 476 497 <xsl:with-param name="iface" select="."/> 477 498 </xsl:call-template> 499 500 <xsl:if test="@name='IVirtualBox' or @name='IMachine'"> 501 <xsl:text> // ExtraData helpers

</xsl:text> 502 <xsl:call-template name="declareExtraDataHelpers"> 503 <xsl:with-param name="iface" select="."/> 504 </xsl:call-template> 505 </xsl:if> 478 506 479 507 <xsl:text> // friend wrappers

</xsl:text> … … 651 679 </xsl:template> 652 680 681 <xsl:template name="defineExtraDataHelpers"> 682 683 <xsl:param name="iface"/> 684 685 <xsl:text>void C</xsl:text> 686 <xsl:value-of select="substring(@name,2)"/> 687 <xsl:text>::SetExtraDataBool(const QString &strKey, bool fValue)</xsl:text> 688 <xsl:text> 689 { 690 SetExtraData(strKey, fValue == true ? "true" : "false"); 691 } 692 693 </xsl:text> 694 695 <xsl:text>bool C</xsl:text> 696 <xsl:value-of select="substring(@name,2)"/> 697 <xsl:text>::GetExtraDataBool(const QString &strKey, bool fDef /* = true */)</xsl:text> 698 <xsl:text> 699 { 700 bool fResult = fDef; 701 QString value = GetExtraData(strKey); 702 if ( value == "true" 703 || value == "on" 704 || value == "yes") 705 fResult = true; 706 else if ( value == "false" 707 || value == "off" 708 || value == "no") 709 fResult = false; 710 return fResult; 711 } 712 713 </xsl:text> 714 715 <xsl:text>void C</xsl:text> 716 <xsl:value-of select="substring(@name,2)"/> 717 <xsl:text>::SetExtraDataInt(const QString &strKey, int value)</xsl:text> 718 <xsl:text> 719 { 720 SetExtraData(strKey, QString::number(value)); 721 } 722 723 </xsl:text> 724 725 <xsl:text>int C</xsl:text> 726 <xsl:value-of select="substring(@name,2)"/> 727 <xsl:text>::GetExtraDataInt(const QString &strKey, int def /* = 0 */)</xsl:text> 728 <xsl:text> 729 { 730 QString value = GetExtraData(strKey); 731 bool fOk; 732 int result = value.toInt(&fOk); 733 if (fOk) 734 return result; 735 return def; 736 } 737 738 </xsl:text> 739 740 <xsl:text>void C</xsl:text> 741 <xsl:value-of select="substring(@name,2)"/> 742 <xsl:text>::SetExtraDataRect(const QString &strKey, const QRect &value)</xsl:text> 743 <xsl:text> 744 { 745 SetExtraData(strKey, QString("%1,%2,%3,%4") 746 .arg(value.x()) 747 .arg(value.y()) 748 .arg(value.width()) 749 .arg(value.height())); 750 } 751 752 </xsl:text> 753 754 <xsl:text>QRect C</xsl:text> 755 <xsl:value-of select="substring(@name,2)"/> 756 <xsl:text>::GetExtraDataRect(const QString &strKey, const QRect &def /* = QRect() */)</xsl:text> 757 <xsl:text> 758 { 759 QRect result = def; 760 QList<int> intList = GetExtraDataIntList(strKey); 761 if (intList.size() == 4) 762 { 763 result.setRect(intList.at(0), 764 intList.at(1), 765 intList.at(2), 766 intList.at(3)); 767 } 768 return result; 769 } 770 771 </xsl:text> 772 773 <xsl:text>void C</xsl:text> 774 <xsl:value-of select="substring(@name,2)"/> 775 <xsl:text>::SetExtraDataStringList(const QString &strKey, const QStringList &value)</xsl:text> 776 <xsl:text> 777 { 778 SetExtraData(strKey, value.join(",")); 779 } 780 781 </xsl:text> 782 783 <xsl:text>QStringList C</xsl:text> 784 <xsl:value-of select="substring(@name,2)"/> 785 <xsl:text>::GetExtraDataStringList(const QString &strKey)</xsl:text> 786 <xsl:text> 787 { 788 return GetExtraData(strKey).split(","); 789 } 790 791 </xsl:text> 792 793 <xsl:text>void C</xsl:text> 794 <xsl:value-of select="substring(@name,2)"/> 795 <xsl:text>::SetExtraDataIntList(const QString &strKey, const QList<int> &value)</xsl:text> 796 <xsl:text> 797 { 798 QStringList strList; 799 for (int i=0; i < value.size(); ++i) 800 strList << QString::number(value.at(i)); 801 SetExtraDataStringList(strKey, strList); 802 } 803 804 </xsl:text> 805 806 <xsl:text>QList<int> C</xsl:text> 807 <xsl:value-of select="substring(@name,2)"/> 808 <xsl:text>::GetExtraDataIntList(const QString &strKey)</xsl:text> 809 <xsl:text> 810 { 811 bool fOk; 812 QList<int> intList; 813 QStringList strList = GetExtraDataStringList(strKey); 814 for (int i=0; i < strList.size(); ++i) 815 { 816 intList << strList.at(i).toInt(&fOk); 817 if (!fOk) 818 return QList<int>(); 819 820 } 821 return intList; 822 } 823 824 </xsl:text> 825 826 </xsl:template> 827 653 828 <xsl:template name="defineMembers"> 654 829 <xsl:call-template name="defineAttributes"> … … 658 833 <xsl:with-param name="iface" select="."/> 659 834 </xsl:call-template> 835 <xsl:if test="@name='IVirtualBox' or @name='IMachine'"> 836 <xsl:text>// ExtraData helpers

</xsl:text> 837 <xsl:call-template name="defineExtraDataHelpers"> 838 <xsl:with-param name="iface" select="."/> 839 </xsl:call-template> 840 </xsl:if> 660 841 </xsl:template> 661 842
Note:
See TracChangeset
for help on using the changeset viewer.