<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://blogs.forum.nokia.com/styles/rss.css" type="text/css"?>
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
>
 <channel>
  <title>Lucian Tomuta&#039;s Forum Nokia Blog</title>
  <link>http://blogs.forum.nokia.com/blog/lucian-tomutas-forum-nokia-blog</link>
  <description>&lt;p&gt;Don&#039;t expect miracles here, don&#039;t expect solutions to world&#039;s problems. It is more likely that I will ask [myself] questions looking for a always elusive answer.&lt;br /&gt;
And of course: &quot;All opinions expressed in this blog are the author&#039;s own and do not necessarily represent the official view of Nokia&quot;. I mean it!&lt;/p&gt;
</description>
  <pubDate>Mon, 23 Nov 2009 19:13:33 +0200</pubDate>
  <generator>http://www.lifetype.net</generator>
  <itunes:author>Forum Nokia</itunes:author>
  <itunes:category text="Technology">
    <itunes:category text="Tech News"/>
  </itunes:category>
  <itunes:image href="http://www.forum.nokia.com/piazza/blogs/imgs/forum_nokia_rss_logo.jpg"/>
    <item>
   <title>How to enable support for old SDKs in Carbide.c++ v1.3</title>
   <description>
    &lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
Let&#039;s start with a bit of a warning: the tool no longer supports the old SDKs and this decision is final. Applying the hack described here will at best restore the support for the old SDK to the 1.2 level but enhancements are not to be expected. You should not ask for support from the Carbide.c++ team ( nor from me &lt;img src=&quot;http://blogs.forum.nokia.com/js/tinymce/plugins/emotions/images/smiley-smile.gif&quot; border=&quot;0&quot; alt=&quot;Smile&quot; title=&quot;Smile&quot; /&gt; ) for any issues that might be a side effect of applying this hack.&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
OK, now that all this is clear let&#039;s start hacking.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;u&gt;&lt;strong&gt;Task 1 - Restore the S60 2nd Edition and Series 80 project templates&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;p align=&quot;left&quot;&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
This is going to be quite easy since none of the needed files have been removed from the instillation, instead the templates have been commented out from the xml file that acts as a index in the templates collection. So, go to the installation folder (let&#039;s call it $(INSTALL)), and open the file &lt;em&gt;.\plugins\com.nokia.cdt.templates_1.3.1.036\plugin.xml&lt;/em&gt; (you should make a copy of the file before modifying it).
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The lines we&#039;re looking for are clearly marked
&lt;/p&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;em&gt;&amp;lt;!-- EKA1 templates not supported in Carbide.c++ v1.3+&lt;/em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&amp;nbsp; &lt;br /&gt;
and its closing tag&lt;br /&gt;
&lt;em&gt;--&amp;gt;&lt;/em&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
You can either remove these comment pair lines or neutralize them by closing the comments tags on the same line, with nothing in-between. That&#039;s it, now the project templates should be fully visible in the &lt;em&gt;New -&amp;gt; Symbian C++ Project&lt;/em&gt; dialog. Start Carbide.c++ and check the templates.
&lt;/p&gt;
&lt;p&gt;
Note: it may happen that the templates are not visible when you start Carbide, there seems to be some sort of a cache mechanism. Here&#039;s how you flush that cache: close Carbide.c++ then go to the installation directory and locate the file &lt;em&gt;.\plugins\com.nokia.carbide.templatewizard_1.3.1.036.jar&lt;/em&gt;. Change its extension so that Carbide.c++ cannot recognize it anymore and then start Carbide.c++. There might be a error message and the entire templates dialog is gone but that is fine. Close Carbide.c++, restore the extension of the templatewizard file and then start Carbide.c++. If all goes as expected you should see the welcome screen again, sign that the cache was flushed, the templates dialog is back in and all the templates are visible (unless filtered out based on the available SDKs)
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://share.ovi.com/media/tomutal.Carbide_Hack/tomutal.10010&quot;&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;img src=&quot;http://media.share.ovi.com/m1/large/0289/2a2bee50ca904556ac915630b392c107.jpg&quot; border=&quot;0&quot; alt=&quot;Carbide.c++ v1.3 - Project templates - Share on Ovi&quot; title=&quot;Carbide.c++ v1.3 - Project templates - Share on Ovi&quot; width=&quot;398&quot; height=&quot;512&quot; /&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
You can start creating projects and if you&#039;re going to use Carbide.c++ Express only then you&#039;re done hacking, the rest of the story is only relevant for commercial versions of the product.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://share.ovi.com/media/tomutal.Carbide_Hack/tomutal.10011&quot;&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;img src=&quot;http://media.share.ovi.com/m1/large/0289/843cded2f28a40cba53b0c4e685932b6.jpg&quot; border=&quot;0&quot; alt=&quot;Carbide.c++ v1.3 - GUI Project with UI Designer - Share on Ovi&quot; title=&quot;Carbide.c++ v1.3 - GUI Project with UI Designer - Share on Ovi&quot; width=&quot;512&quot; height=&quot;356&quot; /&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;
If you start creating a GUI project using the UI Designed feature, you will pretty soon run into problems since, while the project compiles just fine the IDE reports some UI Designer validation errors (like toolbar member not found in the definition of &lt;em&gt;com.nokia.sdt.series60.CAknView&lt;/em&gt;). So here comes the next task:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;strong&gt;Task 2 - Troubleshoot the UI Designer&lt;/strong&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div align=&quot;left&quot;&gt;
It has to be said from the start that I have not tested the entire set of GUI application types and components. I&#039;ve only tried one empty container design and only fixed its problems.&amp;nbsp;
Shoud you run into other problems, with other type of UI Designs, the
fix for it must be similar and I&#039;m sure you can manage it. Having a
copy of the &lt;a href=&quot;http://www.forum.nokia.com/main/resources/tools_and_sdks/tools_archive.html&quot;&gt;Carbide.c++ v1.2&lt;/a&gt; plug-ins at hand would of course help you
identify what is different and thus how to workaround the problem.
&lt;/div&gt;
&lt;p&gt;
So, here we go: I&#039;ve started from a reference to a toolbar missing from the definition of&amp;nbsp; &lt;em&gt;com.nokia.sdt.series60.CAknView&lt;/em&gt;
&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;
A search for the above resource identifier led me to &lt;em&gt;.\plugins\com.nokia.sdt.series60.componentlibrary_1.3.1.036\components\view&lt;/em&gt;, a promising looking directory with some files that appear to be holding the definition of the same resource, the CAknView.
&lt;/p&gt;
&lt;p&gt;
The relevant files are: &lt;em&gt;CAknView_2.8.component&lt;/em&gt; and &lt;em&gt;CAknView_common.inc&lt;/em&gt;. As the file name suggests, one file contains the definition of the resource with 2.8 and later specific tags while the other includes the resource elements that are common to all the variants of that resource. The common file is included with a special tag in the specialized component description thus keeping together the resource description. It is in this &lt;em&gt;CAknView_common.inc&lt;/em&gt; that I&#039;ve found the toolbar resource and to fix my problem I&amp;nbsp; need to get rid of it.
&lt;/p&gt;
&lt;p&gt;
The initial situation:&lt;em&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;CAknView_2.8.component&lt;/em&gt; defines the component for S60 2.8 or later using the common elements from &lt;em&gt;CAknView_common.inc&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
After the change the file structure should be:
&lt;/p&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;em&gt;CAknView_2.8.component&lt;/em&gt; defines the component for S60 2.8 using the common elements from &lt;em&gt;CAknView_common_2x.inc&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;CAknView_3.0 component&lt;/em&gt; defines the component for S60 3.0 or later using the common components from &lt;em&gt;CAknView_common.inc&lt;/em&gt;
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
To do that: make a copy of &lt;em&gt;CAknView_2.8.component&lt;/em&gt; and name it &lt;em&gt;CAknView_3.0.component&lt;/em&gt;. Make a copy of &lt;em&gt;CAknView_common.inc&lt;/em&gt; and name it &lt;em&gt;CAknView_common_2x.inc&lt;/em&gt;. Next, from &lt;em&gt;CAknView_common_2x.inc&lt;/em&gt; remove the &amp;quot;toolbar&amp;quot; definition, the &amp;lt;select property=&amp;quot;[com.nokia.sdt.series60.Toolbar]&amp;quot;&amp;gt; &amp;hellip; &amp;lt;/select&amp;gt; element.
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
Now, in the &lt;em&gt;CAknView_2.8.component&lt;/em&gt; file, locate the include tag
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&amp;lt;!ENTITY common_srcgenAndSourceMapping SYSTEM &amp;quot;CAknView_common.inc&amp;quot;&amp;gt;
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
and make it point to &lt;em&gt;CAknView_common_2x.inc&lt;/em&gt;
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&amp;lt;!ENTITY common_srcgenAndSourceMapping SYSTEM &amp;quot;CAknView_common_2x.inc&amp;quot;&amp;gt;
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
Finally review all the files containing the component definitions, make sure that the minimum and maximum SDK version values are appropriate (e.g. minSDKVersion=&amp;quot;2.0&amp;quot; maxSDKVersion=&amp;quot;2.7.9&amp;quot;) and that they include the proper CAknView_common*.inc file.
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
Ok, that&#039;s it. Refresh the project in Carbide, build (hopefully without further errors) and enjoy the IDE.
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;http://share.ovi.com/media/tomutal.Carbide_Hack/tomutal.10012&quot;&gt;&lt;img src=&quot;http://media.share.ovi.com/m1/large/0289/d69918264c7a452fad92d2290bcd74b1.jpg&quot; border=&quot;0&quot; alt=&quot;S60 2nd Edition FP3 - Share on Ovi&quot; title=&quot;S60 2nd Edition FP3 - Share on Ovi&quot; width=&quot;266&quot; height=&quot;512&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&amp;nbsp;
&lt;/div&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/lucian-tomutas-forum-nokia-blog/2008/07/16/how-to-enable-support-for-old-sdks-in-carbide.c-v1.3</link>
   <comments>http://blogs.forum.nokia.com/blog/lucian-tomutas-forum-nokia-blog/2008/07/16/how-to-enable-support-for-old-sdks-in-carbide.c-v1.3</comments>
   <guid>http://blogs.forum.nokia.com/blog/lucian-tomutas-forum-nokia-blog/2008/07/16/how-to-enable-support-for-old-sdks-in-carbide.c-v1.3</guid>
      <dc:creator>ltomuta</dc:creator>
      
    <category>S60</category>
      
    <category>Series 80</category>
      
    <category>Symbian C++</category>
      
    <category>Carbide.c++</category>
      
    <category>Hack</category>
         <pubDate>Wed, 16 Jul 2008 10:00:20 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>How to enable support for old SDKs in Carbide.c++ v1.3</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300033&amp;profile=rss20">Lucian Tomuta&#039;s Forum Nokia Blog</source>
     </item>
   </channel>
</rss>