C. C. Reddy

Publication Date


Advisor(s) - Committee Chair

Sylvia Pulliam, Robert Crawford, Larry Mayhew


Access granted to WKU students, faculty and staff only.

After an extensive unsuccessful search for the author, this thesis is considered an orphan work, which may be protected by copyright. The inclusion of this orphan work on TopScholar does not guarantee that that orphan work may be used for any purpose and any use of the orphan work may subject the user to a claim of copyright infringement. The reproduction of this work is made by WKU without any purpose of direct or indirect commercial advantage and is made for purposes of preservation and research.

See also WKU Archives - Authorization for Use of Thesis, Special Project & Dissertation

Degree Program

Department of Computer Science

Degree Type

Master of Science


This thesis involves the construction of a Multi-Platform Graphical User Interface. The major windowing environments under consideration are Microsoft Windows, X WindowsTM and Macintosh. It makes use of C++’s Object-Oriented capabilities.

An abstraction of a common framework for handling events and graphical display objects is made, thereby an architecturally neutral design is prepared for implementing graphic user interfaces. C++ has been selected to implement this architecture for common windowing toolkits. C++ combines backward compatibility to C with modern Object-Oriented Programming paradigm. The aim in this thesis is to design a comprehensive framework for commercial software developers who want to maximize their investments in product development. The practical problems facing C++ programmers of graphical interface based applications, like implementing the C “callback” event handlers for C++ libraries, are closely inspected.

In order to save time and effort in software developing projects, many reusable classes are constructed. There lies reuse to reduce programming costs and increase the functionality of the programs.

After the design of an abstract windowing-environment independent class library, several utility classes for machine dependent file I/O, smart data object that manage their own memory allocation and persistence are also developed. The application programs that are developed in any one of the standard windowing environments will run without source code modification on Apple Macintosh, Microsoft Windows and Unix machines that support X WindowsTM (using either Athena Widgets or Motif). All applications that are developed are equally portable.


Computer Sciences | Physical Sciences and Mathematics