<div dir="ltr"><div>Hi,<br><br></div><div>Configuration is a good project area. I think 3b can consider some other options than GTK+ for the GUI also, for example wxWidgets can be made to work with Python from my quick reading about it, and there may be other options to consider. The choice of GUI should be made to maximize portability and also to best support the goals of Configuration. I'm not sure how drop-down menu-driven windowing GUIs would compare to some other approach in terms of usability and maintainability.<br>
<br></div><div>-Gedare<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Apr 5, 2013 at 3:16 PM, Shubham Somani <span dir="ltr"><<a href="mailto:shubhamsomani92@gmail.com" target="_blank">shubhamsomani92@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><p style="margin-bottom:12pt"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">Hi,</span></p>
<div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div>
<div style="font-family:arial,sans-serif;font-size:12.727272033691406px">I would wish to take up the project of making an Application Configuration GUI for RTEMS in this year's GSoC.</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">

<br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">I was studying the various approaches available and it eventually boiled down to this-</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">

<br></div><p></p><div><br></div><table style="font-family:arial,sans-serif;font-size:12.727272033691406px;width:468.1pt;border-collapse:collapse;border:none" border="1" cellpadding="0" cellspacing="0" width="624"><tbody><tr style="min-height:45.25pt">

<td style="width:156pt;border:1pt solid windowtext;padding:0cm 5.4pt;min-height:45.25pt" valign="top" width="208"><p style="margin-bottom:0.0001pt"><span style="font-size:20pt">    APPROACH</span></p></td><td style="width:156.05pt;border-style:solid solid solid none;border-top-color:windowtext;border-right-color:windowtext;border-bottom-color:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-width:1pt;padding:0cm 5.4pt;min-height:45.25pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"><span style="font-size:20pt">        PROS</span></p></td><td style="width:156.05pt;border-style:solid solid solid none;border-top-color:windowtext;border-right-color:windowtext;border-bottom-color:windowtext;border-top-width:1pt;border-right-width:1pt;border-bottom-width:1pt;padding:0cm 5.4pt;min-height:45.25pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"><span style="font-size:20pt">         CONS</span></p></td></tr><tr style="min-height:36.7pt"><td style="width:156pt;border-style:none solid solid;border-right-color:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;border-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;padding:0cm 5.4pt;min-height:36.7pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"><span style="font-family:Arial,sans-serif"> </span><span style="font-family:Arial,sans-serif">1)</span> <span style="font-size:10pt;font-family:Arial,sans-serif"> T</span>o use the configuration</p>

<p style="margin-bottom:0.0001pt"><span style="font-size:10pt;font-family:Arial,sans-serif">    GUI from eCos and NutOS.</span></p></td><td style="width:156.05pt;border-style:none solid solid none;border-bottom-color:windowtext;border-bottom-width:1pt;border-right-color:windowtext;border-right-width:1pt;padding:0cm 5.4pt;min-height:36.7pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"><span style="font-family:Arial,sans-serif;font-size:10pt">-  Based on WX Widgets.</span></p><p style="margin-bottom:0.0001pt"><span style="font-size:10pt;font-family:Arial,sans-serif">-  Highly Portable</span></p>

<p style="margin-bottom:0.0001pt"><span style="font-family:Arial,sans-serif;font-size:10pt"> (runs on Windows and Linux)</span></p><p style="margin-bottom:0.0001pt"> </p></td><td style="width:156.05pt;border-style:none solid solid none;border-bottom-color:windowtext;border-bottom-width:1pt;border-right-color:windowtext;border-right-width:1pt;padding:0cm 5.4pt;min-height:36.7pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"><span style="font-family:Arial,sans-serif;font-size:9.5pt">The code is heavily based on templates which are difficult to understand and port.</span></p></td></tr><tr style="min-height:50.2pt">

<td style="width:156pt;border-style:none solid solid;border-right-color:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;border-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;padding:0cm 5.4pt;min-height:50.2pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"> <span style="font-size:10pt;font-family:Arial,sans-serif">2) T</span>o use the config infrastructure used by the GNU/Linux kernel.</p><p style="margin-bottom:0.0001pt"> </p></td><td style="width:156.05pt;border-style:none solid solid none;border-bottom-color:windowtext;border-bottom-width:1pt;border-right-color:windowtext;border-right-width:1pt;padding:0cm 5.4pt;min-height:50.2pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt">          <span style="font-family:Arial,sans-serif;font-size:9.5pt">Works well on Linux.</span></p></td><td style="width:156.05pt;border-style:none solid solid none;border-bottom-color:windowtext;border-bottom-width:1pt;border-right-color:windowtext;border-right-width:1pt;padding:0cm 5.4pt;min-height:50.2pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"> <span style="font-family:Arial,sans-serif;font-size:9.5pt">Does not support MS Windows.</span></p></td></tr><tr style="min-height:47.4pt"><td style="width:156pt;border-style:none solid solid;border-right-color:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;border-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;padding:0cm 5.4pt;min-height:47.4pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"><span style="font-family:Arial,sans-serif;font-size:9.5pt">To write a cross platform GUI in python. This also can be done in 2 ways-</span></p><p style="margin-bottom:0.0001pt"><span style="font-size:9.5pt;font-family:Arial,sans-serif">3a)-</span><span style="font-family:Arial,sans-serif"> To start with an existing open source project like Xpresser.</span></p>

<p style="margin-bottom:0.0001pt"><span style="font-size:9.5pt;font-family:Arial,sans-serif"></span></p><p style="margin-bottom:0.0001pt"><span style="font-size:9.5pt;font-family:Arial,sans-serif"> </span></p><p style="margin-bottom:0.0001pt">

 </p></td><td style="width:156.05pt;border-style:none solid solid none;border-bottom-color:windowtext;border-bottom-width:1pt;border-right-color:windowtext;border-right-width:1pt;padding:0cm 5.4pt;min-height:47.4pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"> </p><p style="margin-bottom:0.0001pt">                 Portable</p></td><td style="width:156.05pt;border-style:none solid solid none;border-bottom-color:windowtext;border-bottom-width:1pt;border-right-color:windowtext;border-right-width:1pt;padding:0cm 5.4pt;min-height:47.4pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"> </p><p style="margin-bottom:0.0001pt">    Documentation is scarce.</p></td></tr><tr style="min-height:53pt"><td style="width:156pt;border-style:none solid solid;border-right-color:windowtext;border-bottom-color:windowtext;border-left-color:windowtext;border-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;padding:0cm 5.4pt;min-height:53pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"><span style="font-family:Arial,sans-serif">3b) To code the application from scratch using python and GTK+. If any OS specific requirements are needed then they can be coded separately.</span></p>

<p style="margin-bottom:0.0001pt"><b> </b></p></td><td style="width:156.05pt;border-style:none solid solid none;border-bottom-color:windowtext;border-bottom-width:1pt;border-right-color:windowtext;border-right-width:1pt;padding:0cm 5.4pt;min-height:53pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"> </p><p style="margin-bottom:0.0001pt"><span style="font-family:Arial,sans-serif">    Highly portable & modifiable.</span></p></td><td style="width:156.05pt;border-style:none solid solid none;border-bottom-color:windowtext;border-bottom-width:1pt;border-right-color:windowtext;border-right-width:1pt;padding:0cm 5.4pt;min-height:53pt" valign="top" width="208">

<p style="margin-bottom:0.0001pt"> </p><p style="margin-bottom:0.0001pt"><span style="font-family:Arial,sans-serif">Coding has to start from scratch.</span></p><div><span style="font-family:Arial,sans-serif"><br></span></div>

</td></tr></tbody></table><br><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">This made me think that approach 3b would be the best for a baseline. These are just my Initial ideas. A lot of other work apart from this (XML parsing,rewriting conf.t etc) also needs to be done. I would discuss them once the baseline becomes clear. Please help me analyse any deficiencies in my understanding.</span><br>

</div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">Cheers,</span></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">Shubham</span></div>

</div>
<br>_______________________________________________<br>
rtems-devel mailing list<br>
<a href="mailto:rtems-devel@rtems.org">rtems-devel@rtems.org</a><br>
<a href="http://www.rtems.org/mailman/listinfo/rtems-devel" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-devel</a><br>
<br></blockquote></div><br></div>