S60 View Architecture with UI Design For Symbian OS


Overview

This example shows how to develop S60 UI applications similar to the native “Settings” application available on every S60 device. This application was chosen because it has different views and uses tabs and a main view to switch between them. The example is based on the S60 UI view architecture.

The article discusses the view architecture and other architectures that can be used to develop UI applications. The example was developed using the Carbide S60 UI design. This article also gives some tips on using this tool.

This snippet can be self-signed.

Screens.jpg

Preconditions

This example requires using Carbide UI Design.

Background

There are three UI architecture options for developing applications: the traditional Symbian OS architecture, the S60 view architecture, and the dialog-based architecture.

Dialog-based architecture:

An architecture where most parts of the views are dialogs. In these cases multi-page dialogs act as multiple views.

Advantages:

  • Content and layout can be changed in the resource file without rebuilding the C++ code.

Disadvantages:

Solution of the Diamond Problem In C++


Object Oriented C++ নিয়ে পড়াশোনা শুরুতেই একটা মজার প্রবলেম পেলাম। আমি JAVA’তেই কাজ করেছি সবসময় এবং দেখেছি JAVA multiple inheritance support করে না(তবে Interface’এর মাধ্যমে multiple inheritance’এর flavor পাওয়া যায়)। এইটা একটা অসুবিধার মতই ভাবতাম আমি। কিন্তু C++ জানতে গিয়ে আবিস্কার করলাম JAVA কেন multiple inheritence Support করে না। তা হল JAVA তৈরী করার সময় যে ক’টি বিষয়ে জোর
দেয়া হয়েছিল তার অন্যতম হচ্ছে make JAVA Simple. ত কিভাবে  multiple inheritance program’কে complex করে তুলতে পারে তার একটা উদাহরন হচ্ছে C++’এর diamond problem। নিচের ছবিটি দেখি-

Diamond problem in C++

diamond problem in C++

এখানে A inherit করেছে B and C ‘কে, C and B inherit করেছে D’ কে। এখন A যদি D object’ কে call করে তাহলে সে কোন অব্জেচত পাবে? যে D object B inherit করেছিলো নাকি যে D object C inherit করেছিলো? এইটাই হল মজার diamond problem. নিচে কিভাবে C++ এই সমস্যার সমাধান করে তা দেখানো হয়েছে। নিচের Article আমি নেট থেকে পেয়েছি। লিঙ্ক দিয়ে দিলাম, চাইলে direct link  থেকেই পড়ে নিতে পারেন। Continue reading