'1000projects.com' is an educational content website dedicated to finding and realizing Final Year Projects, IEEE Projects, Engineering Projects, Science Fair Projects, Project Topics, Project Ideas, Major Projects, Mini Projects, Paper Presentations, Presentation Topics, IEEE Topics, .Net Projects, Java Projects, PHP Projects, VB Projects, SQL Projects, C & DS Projects, C++ Projects, Perl Projects, ASP Projects, Delphi Projects, HTML Projects, Cold Fusion Projects, Java Script Projects, Btech Projects, BE Projects, MCA Projects, Mtech Projects, MBA Projects, Project on Software, CBSE Projects, Testing Projects, Embedded Projects, Chemistry Projects, Electronics Projects, Electrical Projects, Science Projects, Mechanical Projects, Mba project Reports, Placement papers, Sample Resumes, Entrance Exams, Technical Faq's, Puzzles, etc
how it works?
Everything on this site is submitted by the students in this professional community. You Can submit your Projects, Project Topics & Ideas to info.1000projects{at}gmail.com after you submit your project/project Idea/Abstract/Seminar Topics, These are being verified and approved by our administrator. after approval of this project/project Idea/Abstract/Seminar Topics, It can be shown on 1000projects.com so that other users can read/discuss it.The entire content on this website is Only For Educational Purpose, Non Commercial use!
Please help us/Other Users by sending projects/project Ideas/Abstracts/Seminar Topics. Thanking You!!!!!
Download The Unix Paper Presentation
Title: GTK Approach Note
Title: GTK Approach Note
Description:1. Introduction
This paper discusses a design strategy used for development of UI for a simulator in Linux in an Object Oriented Environment. The Simulator simulates devices, maintains system state, logs events and communicates through a socket with controller software. The simulator code already had a UI developed for Windows and the task was to incorporate the GTK based Linux UI into the existing source code. The Windows based UI and the Linux based UI had to have same look and feel and same number of input and output fields.
1.1 Purpose
The purpose of this paper is to share a design idea with GTK users in a OOP environment. GTK supports C routines and requires use of different approach for incorporating it into an object oriented design.
2. Procedures and Processes
Windows based GUI was designed to have a Property Page style with each device contained in a property page. MFC classes CPropertyPage and CpropertySheet were used to design the property sheets. The property pages were dependent on the number of devices present in the machine configuration. The Property sheet was created on application start up and based on the device configuration, pages were added and a data structure holding reference to these pages were maintained. Messages from the framework were passed on to the UI through this data structure.
The criteria for UI design in Linux were that the existing code structure and procedure for creation of property pages and sheets should not be changed. The UI module had to be a stand alone piece of code that can be plugged into the main framework when required.
GTK APIs was used to create the UI in Linux. All components in GTK are classified as widgets and using the respective API call, a widget can be used as a button, edit-box, drawing area etc. GTK provides a widget called Notebook which is similar to Property Sheet in Windows. But the API doesnt provide a separate class for the pages of the Notebook.
To overcome this problem, we have used a widget container. The containers we chose were forms. The form holds other widgets like edit-boxes or buttons. The coordinates and size of these components can also be specified on a form.
The design involved creating a new form for each device in the configuration. A data structure with reference to these devices needed to be maintained. This was done by encapsulating the GTK widgets into a class. Based on the number of devices, a new class was derived from this class. Once created, each device UI class would be added as a page to the GTK Notebook, which is also encapsulated into a different class which handles tab selection and UI shutdown. The blue line indicates classes derived. The green line indicates the communication between the 2 objects