<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.tab
        {mso-style-name:tab;}
p.yiv86464162msoacetate, li.yiv86464162msoacetate, div.yiv86464162msoacetate
        {mso-style-name:yiv86464162msoacetate;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv86464162msolistparagraph, li.yiv86464162msolistparagraph, div.yiv86464162msolistparagraph
        {mso-style-name:yiv86464162msolistparagraph;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv86464162msonormal, li.yiv86464162msonormal, div.yiv86464162msonormal
        {mso-style-name:yiv86464162msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv86464162msochpdefault, li.yiv86464162msochpdefault, div.yiv86464162msochpdefault
        {mso-style-name:yiv86464162msochpdefault;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv86464162msonormal1, li.yiv86464162msonormal1, div.yiv86464162msonormal1
        {mso-style-name:yiv86464162msonormal1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv86464162msoacetate1, li.yiv86464162msoacetate1, div.yiv86464162msoacetate1
        {mso-style-name:yiv86464162msoacetate1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv86464162msochpdefault1, li.yiv86464162msochpdefault1, div.yiv86464162msochpdefault1
        {mso-style-name:yiv86464162msochpdefault1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.yiv86464162msohyperlink
        {mso-style-name:yiv86464162msohyperlink;}
span.yiv86464162msohyperlinkfollowed
        {mso-style-name:yiv86464162msohyperlinkfollowed;}
span.yiv86464162msohyperlink1
        {mso-style-name:yiv86464162msohyperlink1;}
span.yiv86464162msohyperlinkfollowed1
        {mso-style-name:yiv86464162msohyperlinkfollowed1;}
span.yiv86464162balloontextchar1
        {mso-style-name:yiv86464162balloontextchar1;}
span.yiv86464162emailstyle201
        {mso-style-name:yiv86464162emailstyle201;}
span.yiv86464162balloontextchar
        {mso-style-name:yiv86464162balloontextchar;}
span.yiv86464162emailstyle35
        {mso-style-name:yiv86464162emailstyle35;}
p.yiv86464162msonormal2, li.yiv86464162msonormal2, div.yiv86464162msonormal2
        {mso-style-name:yiv86464162msonormal2;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.yiv86464162msohyperlink2
        {mso-style-name:yiv86464162msohyperlink2;
        color:blue;
        text-decoration:underline;}
span.yiv86464162msohyperlinkfollowed2
        {mso-style-name:yiv86464162msohyperlinkfollowed2;
        color:purple;
        text-decoration:underline;}
p.yiv86464162msoacetate2, li.yiv86464162msoacetate2, div.yiv86464162msoacetate2
        {mso-style-name:yiv86464162msoacetate2;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv86464162msolistparagraph1, li.yiv86464162msolistparagraph1, div.yiv86464162msolistparagraph1
        {mso-style-name:yiv86464162msolistparagraph1;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv86464162msonormal3, li.yiv86464162msonormal3, div.yiv86464162msonormal3
        {mso-style-name:yiv86464162msonormal3;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv86464162msochpdefault2, li.yiv86464162msochpdefault2, div.yiv86464162msochpdefault2
        {mso-style-name:yiv86464162msochpdefault2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv86464162msonormal11, li.yiv86464162msonormal11, div.yiv86464162msonormal11
        {mso-style-name:yiv86464162msonormal11;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.yiv86464162msohyperlink11
        {mso-style-name:yiv86464162msohyperlink11;
        color:blue;
        text-decoration:underline;}
span.yiv86464162msohyperlinkfollowed11
        {mso-style-name:yiv86464162msohyperlinkfollowed11;
        color:purple;
        text-decoration:underline;}
p.yiv86464162msoacetate11, li.yiv86464162msoacetate11, div.yiv86464162msoacetate11
        {mso-style-name:yiv86464162msoacetate11;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.yiv86464162balloontextchar11
        {mso-style-name:yiv86464162balloontextchar11;
        font-family:"Tahoma","sans-serif";}
span.yiv86464162emailstyle2011
        {mso-style-name:yiv86464162emailstyle2011;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
p.yiv86464162msochpdefault11, li.yiv86464162msochpdefault11, div.yiv86464162msochpdefault11
        {mso-style-name:yiv86464162msochpdefault11;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:10.0pt;
        font-family:"Times New Roman","serif";}
span.yiv86464162balloontextchar2
        {mso-style-name:yiv86464162balloontextchar2;
        font-family:"Tahoma","sans-serif";}
span.yiv86464162emailstyle351
        {mso-style-name:yiv86464162emailstyle351;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.yiv86464162tab
        {mso-style-name:yiv86464162tab;}
span.EmailStyle50
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Sorry, I had left work by the time your message came in.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">If I remember right, the Model issue was the fact that I had lumped things that looked like getters into their own list and removed them from nonSetters. This
 prevented GenerateProperties(this.setters) from identifying the matching Model/SetModel pair. Once Model() was in both lists, GenerateProperties(this.setters) got to it first, so I had nothing to transform into a getter.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">The HorizontalStretch/VerticalStretch business looks like it’s caused by a type mismatch—the getters use “int” and the setters use “byte,” so the properties
 are read-only with corresponding Set methods.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">--Brian<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Dimitar Dobrev [mailto:dpldobrev@yahoo.com]
<br>
<b>Sent:</b> Friday, December 14, 2012 4:50 PM<br>
<b>To:</b> Crowell, Brian; KDE bindings<br>
<b>Subject:</b> Re: [Kde-bindings] Fw: Qyoto: Patch v3: Translate obvious getters into properties or "Get" methods<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal" style="background:white"><span class="tab"><span style="color:black">       
</span></span><span style="color:black"><br>
<span class="tab">    </span>Hi, Brian,<br>
<br>
<span class="tab">    We're almost there! There is only one problem left (I've checked everything this time and it's guaranteed): QSizePolicy</span>.HorizontalStretch and
<span class="tab">QSizePolicy.VerticalStretch</span> were read-write, now they are read-only. I noticed that you've added the "Model" string to your list of properties and I guess this is how you fixed the previous issue (please correct me, if I'm wrong). However,
 I'd like to ask you to change your code the following way: everything that does not participate in your list or is not matched by your regular expression to be generated exactly as before. This way there would be no regressions and your list would be smaller
 (it is already quite large and I'd like to keep it as small as possible). What I mean is this: I guess I could've easily fixed the issue myself by adding "HorizontalStretch" and "<span class="tab">VerticalStretch</span>" to the property list but this does
 not change the fact that code that used to generate this correctly without a list now needs this kind of "help" to behave properly.<br>
<span class="tab">    By the way, if you're still up, please join the IRC channel of #kde-bindings
</span>if you have any questions. Have in mind, though, that I'm off in 15 minutes and we'd have to continue tomorrow.<br>
<br>
<span class="tab">    Dimitar</span><br>
<span class="tab">    </span><o:p></o:p></span></p>
<div>
<div>
<div>
<div class="MsoNormal" align="center" style="text-align:center;background:white">
<span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">
<hr size="1" width="100%" align="center">
</span></div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">From:</span></b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> "Crowell, Brian" <<a href="mailto:BCrowell@barbnet.com">BCrowell@barbnet.com</a>><br>
<b>To:</b> Dimitar Dobrev <<a href="mailto:dpldobrev@yahoo.com">dpldobrev@yahoo.com</a>>; KDE bindings for other programming languages <<a href="mailto:kde-bindings@kde.org">kde-bindings@kde.org</a>>
<br>
<b>Sent:</b> Friday, December 14, 2012 10:29 PM<br>
<b>Subject:</b> RE: [Kde-bindings] Fw: Qyoto: Patch v3: Translate obvious getters into properties or "Get" methods</span><span style="color:black"><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="background:white"><span style="color:black"><o:p> </o:p></span></p>
<div id="yiv86464162">
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">Version 3: This version adds a regex mechanism to drag in lots of potential properties by the words they start with. A list of adjectives and solid nouns are included.</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">This version also fixes a few issues:</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:Symbol;color:#1F497D">·</span><span style="font-size:7.0pt;color:#1F497D">        </span><span style="font-size:7.0pt;font-family:Symbol;color:#1F497D">
</span><span style="font-size:11.0pt;color:#1F497D">Getters returning lists are renamed instead of transforming them into properties. (Properties identified via Smoke are transformed anyways.)</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:Symbol;color:#1F497D">·</span><span style="font-size:7.0pt;color:#1F497D">        </span><span style="font-size:7.0pt;font-family:Symbol;color:#1F497D">
</span><span style="font-size:11.0pt;color:#1F497D">Transformations done on interface methods now work.</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:Symbol;color:#1F497D">·</span><span style="font-size:7.0pt;color:#1F497D">        </span><span style="font-size:7.0pt;font-family:Symbol;color:#1F497D">
</span><span style="font-size:11.0pt;color:#1F497D">The MethodsGenerator no longer gets confused about conflicting interface properties and methods-that-will-soon-be-properties.</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:Symbol;color:#1F497D">·</span><span style="font-size:7.0pt;color:#1F497D">        </span><span style="font-size:7.0pt;font-family:Symbol;color:#1F497D">
</span><span style="font-size:11.0pt;color:#1F497D">As many fixes to uics/cswriteinitialization.cpp as I could identify by reading the code. I don’t have a good corpus for testing those changes.</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">This is the first version I would feel comfortable committing, if it passes review.</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">--Brian</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;color:black">From:</span></b><span style="font-size:10.0pt;color:black">
<a href="mailto:kde-bindings-bounces@kde.org">kde-bindings-bounces@kde.org</a> [<a href="mailto:kde-bindings-bounces@kde.org">mailto:kde-bindings-bounces@kde.org</a>]
<b>On Behalf Of </b>Dimitar Dobrev<br>
<b>Sent:</b> Thursday, December 13, 2012 3:26 PM<br>
<b>To:</b> KDE bindings<br>
<b>Subject:</b> [Kde-bindings] Fw: Qyoto: Patch v2: Translate obvious getters into properties or "Get" methods</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"><br>
<span class="yiv86464162tab">    Oh, sorry again. Actually the problem is that HasHeightForWidth was a method and now it's a property so I cannot push. I guess I could push the Get_ part only but I think I'd have to comment out lots of code so it's of little
 use. Sorry, I must be tired or something.</span><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;color:black">----- Forwarded Message -----<br>
<b>From:</b> Dimitar Dobrev <<a href="mailto:dpldobrev@yahoo.com" target="_blank">dpldobrev@yahoo.com</a>><br>
<b>To:</b> KDE bindings <<a href="mailto:kde-bindings@kde.org" target="_blank">kde-bindings@kde.org</a>>
<br>
<b>Sent:</b> Thursday, December 13, 2012 11:16 PM<br>
<b>Subject:</b> Re: [Kde-bindings] Qyoto: Patch v2: Translate obvious getters into properties or "Get" methods</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
<div id="yiv86464162">
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"><br>
<span class="yiv86464162tab">    This is better, however, there is another problem that had been "hidden" (that is, the compiler stopped there) by the Model issue: some of the code generated by uics is no longer valid, the "HasHeightForWidth" method in particular.
 Sorry about me not noticing earlier but I'd like to ask you to update uics as well. This is the only method I've found so if there are others, I'll fix them myself. On the other hand, the properties are OK, so I'll push them. Whenever you're ready with uics,
 I'll push the Get_ part too.</span><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv86464162tab"><span style="color:black">    By the way, you didn't say what you think about the form of address. :)</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv86464162tab"><span style="color:black">    Dimitar</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<div>
<div class="MsoNormal" align="center" style="text-align:center;background:white">
<span style="font-size:10.0pt;color:black">
<hr size="1" width="100%" align="center">
</span></div>
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;color:black">From:</span></b><span style="font-size:10.0pt;color:black"> "Crowell, Brian" <<a href="mailto:BCrowell@barbnet.com" target="_blank">BCrowell@barbnet.com</a>><br>
<b>To:</b> Dimitar Dobrev <<a href="mailto:dpldobrev@yahoo.com" target="_blank">dpldobrev@yahoo.com</a>>; KDE bindings for other programming languages <<a href="mailto:kde-bindings@kde.org" target="_blank">kde-bindings@kde.org</a>>
<br>
<b>Sent:</b> Thursday, December 13, 2012 10:47 PM<br>
<b>Subject:</b> RE: [Kde-bindings] Qyoto: Patch v2: Translate obvious getters into properties or "Get" methods</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
<div id="yiv86464162">
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">Version 2 then, with more properties, and fix for the Model issue.</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">I’d be uncomfortable blacklisting methods. If List<QWidget> QWidget.Children() remains a method, nobody gets hurt, but if bool QMovie.JumpToNextFrame() becomes a property,
 chaos happens. There is one pattern that could be exploited: methods starting with nouns or adjectives like “Widget,” “Width,” “Window,” “File,” “Root,” “Physical,” and “Temp” are almost certainly properties, but so far only the “File” prefix has more than
 two entries in my list.</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">--Brian</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<div>
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;color:black">From:</span></b><span style="font-size:10.0pt;color:black">
<a href="mailto:kde-bindings-bounces@kde.org" target="_blank">kde-bindings-bounces@kde.org</a> [<a href="mailto:kde-bindings-bounces@kde.org" target="_blank">mailto:kde-bindings-bounces@kde.org</a>]
<b>On Behalf Of </b>Dimitar Dobrev<br>
<b>Sent:</b> Thursday, December 13, 2012 1:15 PM<br>
<b>To:</b> KDE bindings for other programming languages<br>
<b>Subject:</b> Re: [Kde-bindings] Qyoto: Patch v1: Translate obvious getters into properties or "Get" methods</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv86464162tab"><span style="color:black">   
</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv86464162tab"><span style="color:black">    Mr. Crowell,</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv86464162tab"><span style="color:black">   
</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv86464162tab"><span style="color:black">    Thanks for the patch, it looks n</span></span><span style="color:black">ice. I'll discuss it in a while. First, I'd like to point out that there is no need
 for us here in open source communities to be that formal. :) If you agree with me, you may call me "Dimitar" and in turn I would call you "Brian". However, if you do prefer an official form of address, that's fine by me.<o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv86464162tab"><span style="color:black">    About your patch: it looks very good, and I like how you reused the method for generating a property instead of writing your own. :) However, I have two
 remarks, a regression and a suggestion:</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv86464162tab"><span style="color:black">    1. QComboBox.Model used to be a read-write property, now it's read only. Could you please change your code so that it remains read-write? Also, if possible,
 check for other such cases because this is simply one I found, it doesn't mean there aren't more;</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv86464162tab"><span style="color:black">    2.
</span></span><span style="color:black">I'm wondering if it would be better to have something like a list of commonly used in API-s verbs, and then if the method starts with has or is or is a single word (this can be checked by casing) and this single word
 is not a verb, the method should be generated as a property. The thing is that your way you have to look for properties all over the huge Qt API, and that with each Qt version (for example, Qt 5 is coming very soon). Of course, the verb approach may actually
 turn out to be worse because there may be way too many verbs to enumerate. So this is simply a suggestion for you to think about if you like.<br>
<span class="yiv86464162tab">    </span><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv86464162tab"><span style="color:black">    Dimitar</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<div class="MsoNormal" align="center" style="text-align:center;background:white">
<span style="font-size:10.0pt;color:black">
<hr size="1" width="100%" align="center">
</span></div>
<div>
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;color:black">From:</span></b><span style="font-size:10.0pt;color:black"> "Crowell, Brian" <<a href="mailto:BCrowell@barbnet.com" target="_blank">BCrowell@barbnet.com</a>><br>
<b>To:</b> KDE bindings for other programming languages <<a href="mailto:kde-bindings@kde.org" target="_blank">kde-bindings@kde.org</a>>
<br>
<b>Sent:</b> Thursday, December 13, 2012 8:23 PM<br>
<b>Subject:</b> [Kde-bindings] Qyoto: Patch v1: Translate obvious getters into properties or "Get" methods</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div style="margin-bottom:12.0pt">
<div style="margin-bottom:12.0pt">
<p class="MsoNormal" style="background:white"><span style="color:black"><br>
As discussed with Mr. Dobrev, this patch finds methods with certain names and signatures and translates them into properties. This covers "Is" and "Has" properties along with a specified list of noun phrases. Getter methods that take arguments are renamed "Get"
 (Sibling(int row, int column) becomes GetSibling(int row, int column)).<br>
<br>
The list of property names is incomplete. I'll add more as I find them.<br>
<br>
--Brian<br>
_______________________________________________<br>
Kde-bindings mailing list<br>
<a href="mailto:Kde-bindings@kde.org" target="_blank">Kde-bindings@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-bindings" target="_blank">https://mail.kde.org/mailman/listinfo/kde-bindings</a><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="margin-bottom:12.0pt">
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="margin-bottom:12.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt;background:white"><span style="color:black"><br>
_______________________________________________<br>
Kde-bindings mailing list<br>
<a href="mailto:Kde-bindings@kde.org" target="_blank">Kde-bindings@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-bindings" target="_blank">https://mail.kde.org/mailman/listinfo/kde-bindings</a><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt;background:white"><span style="color:black"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>