<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:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="&#1;" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><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:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-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.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.5pt;
        font-family:Consolas;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:Consolas;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
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-GB link=blue vlink=purple><div class=WordSection1><p class=MsoPlainText>Whilst I've got your attention....<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>Suppose I want to create a widget with a field array list, and a button, and another small control, and I have a custom property<o:p></o:p></p><p class=MsoPlainText>vtkSMDataArrayProperty (a subclass of vtkStringVectorProperty), if I create a small pqPanel to encapsulate the behaviour I want, can i get it created automatically when the pqNamedObjects stuff is run.<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>What I'm after is (simplified)<o:p></o:p></p><p class=MsoPlainText>vtkCustomBooleanProperty<o:p></o:p></p><p class=MsoPlainText>to create a small gui control of my creation instead of a checkbox, so that inside the pqNamedWidgets, my control is generated<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>I manually changed the code to allow one special one already<o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><b><span style='font-size:12.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; <span style='color:maroon'>else</span> <span style='color:maroon'>if</span>(<span style='color:green'>pt</span> == <span style='color:green'>pqSMAdaptor</span>::<span style='color:green'>ENUMERATION</span>)</span></b><span style='font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><b><span style='font-size:12.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span></b><span style='font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><b><span style='font-size:12.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style='color:maroon'>if</span> (<span style='color:green'>SMProperty</span>-&gt;<span style='color:green'>IsA</span>(<span style='color:blue'>&quot;vtkSMCommandProperty&quot;</span>))</span></b><span style='font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><b><span style='font-size:12.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span></b><span style='font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><b><span style='font-size:12.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style='color:green'>QPushButton</span>* <span style='color:green'>button</span>;</span></b><span style='font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><b><span style='font-size:12.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style='color:green'>button</span> = <span style='color:maroon'>new</span> <span style='color:green'>QPushButton</span>(<span style='color:green'>propertyLabel</span>, <span style='color:green'>panelLayout</span>-&gt;<span style='color:green'>parentWidget</span>());</span></b><span style='font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><b><span style='font-size:12.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style='color:green'>button</span>-&gt;<span style='color:green'>setCheckable</span>(<span style='color:red'>1</span>);</span></b><span style='font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><b><span style='font-size:12.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style='color:green'>button</span>-&gt;<span style='color:green'>setObjectName</span>(<span style='color:green'>propertyName</span>);</span></b><span style='font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><b><span style='font-size:12.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style='color:green'>panelLayout</span>-&gt;<span style='color:green'>addWidget</span>(<span style='color:green'>button</span>, <span style='color:green'>rowCount</span>, <span style='color:red'>0</span>, <span style='color:red'>1</span>, <span style='color:red'>2</span>);</span></b><span style='font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><b><span style='font-size:12.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style='color:green'>button</span>-&gt;<span style='color:green'>show</span>();</span></b><span style='font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><b><span style='font-size:12.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style='color:green'>rowCount</span>++;</span></b><span style='font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><b><span style='font-size:12.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></b><span style='font-size:12.0pt;font-family:"Courier New"'><o:p></o:p></span></p><p class=MsoPlainText>so I can have a button instead of a checkbox for a vtkSMCommandProperty (such as &#8220;restart simulation&#8221;), but now I need a more complex control with a field array selection, and a button and some other stuff. I&#8217;m sure I can stuff my own widget in there if I want, but I&#8217;m worried about the connection of the events and property updates. Are there any other complex sub-controls anywhere that I can crib off ? I&#8217;m happy to hack quite deeply.<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>JB<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText><span lang=EN-US>-----Original Message-----<br>From: paraview-developers-bounces@paraview.org [mailto:paraview-developers-bounces@paraview.org] On Behalf Of Biddiscombe, John A.<br>Sent: 20 January 2011 17:08<br>To: Utkarsh Ayachit<br>Cc: paraview-developers@paraview.org<br>Subject: Re: [Paraview-developers] checked and unchecked properties</span><o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>Utkarsh<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>It's like someone just lifted a blanket off my head. I see so much more clearly now.<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>Cheers. As always, you're a great help.<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>JB<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>-----Original Message-----<o:p></o:p></p><p class=MsoPlainText>From: Utkarsh Ayachit [mailto:utkarsh.ayachit@kitware.com] <o:p></o:p></p><p class=MsoPlainText>Sent: 20 January 2011 16:38<o:p></o:p></p><p class=MsoPlainText>To: Biddiscombe, John A.<o:p></o:p></p><p class=MsoPlainText>Cc: paraview-developers@paraview.org<o:p></o:p></p><p class=MsoPlainText>Subject: Re: [Paraview-developers] checked and unchecked properties<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>unchecked property values are not pushed or saved in state or<o:p></o:p></p><p class=MsoPlainText>anything. They are only used by domains to update themselves. The GUI<o:p></o:p></p><p class=MsoPlainText>sets them when the user changes a GUI widget before hitting apply,<o:p></o:p></p><p class=MsoPlainText>without changing the actual property value.<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>e.g. ArrayListDomain needs the field-selection property to show either<o:p></o:p></p><p class=MsoPlainText>cell or point arrays. Now in the GUI when the user changes the field<o:p></o:p></p><p class=MsoPlainText>selection to &quot;cell&quot; he expected to see the cell arrays listed even<o:p></o:p></p><p class=MsoPlainText>before he has hit apply. For that, the ArrayListDomain needs to use<o:p></o:p></p><p class=MsoPlainText>the user-selected value, not the actual property value. In such cases,<o:p></o:p></p><p class=MsoPlainText>the GUI sets the unchecked value for the property and updates the<o:p></o:p></p><p class=MsoPlainText>domain.<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>Utkarsh<o:p></o:p></p><p class=MsoPlainText><o:p>&nbsp;</o:p></p><p class=MsoPlainText>On Thu, Jan 20, 2011 at 10:16 AM, Biddiscombe, John A. &lt;biddisco@cscs.ch&gt; wrote:<o:p></o:p></p><p class=MsoPlainText>&gt; Can anyone tell me the difference between checked and unchecked properties (and for example in classes like StringVectorProperty there are unchecked elements etc).<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; What is the distinction. I may have asked before, but if so ... I've forgotten.<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; thanks<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; JB<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; --<o:p></o:p></p><p class=MsoPlainText>&gt; John Biddiscombe,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; email:biddisco @ cscs.ch<o:p></o:p></p><p class=MsoPlainText>&gt; http://www.cscs.ch/<o:p></o:p></p><p class=MsoPlainText>&gt; CSCS, Swiss National Supercomputing Centre&nbsp; | Tel:&nbsp; +41 (91) 610.82.07<o:p></o:p></p><p class=MsoPlainText>&gt; Via Cantonale, 6928 Manno, Switzerland&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Fax:&nbsp; +41 (91) 610.82.82<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>&gt; _______________________________________________<o:p></o:p></p><p class=MsoPlainText>&gt; Paraview-developers mailing list<o:p></o:p></p><p class=MsoPlainText>&gt; Paraview-developers@paraview.org<o:p></o:p></p><p class=MsoPlainText>&gt; http://public.kitware.com/mailman/listinfo/paraview-developers<o:p></o:p></p><p class=MsoPlainText>&gt;<o:p>&nbsp;</o:p></p><p class=MsoPlainText>_______________________________________________<o:p></o:p></p><p class=MsoPlainText>Paraview-developers mailing list<o:p></o:p></p><p class=MsoPlainText>Paraview-developers@paraview.org<o:p></o:p></p><p class=MsoPlainText>http://public.kitware.com/mailman/listinfo/paraview-developers<o:p></o:p></p></div></body></html>