CN17450C/N1745 - Workplace Shell Programming with SOM

From Wiki
Jump to: navigation, search

Course N1745 - Workplace Shell Programming with SOM


Explore the OS/2 System Object Model (SOM) and Workplace Shell (WPS) programming through lecture and extensive hands-on lab exercises. This class gives you a detailed technical understanding of OS/2 WPS and SOM 2.0. This is not a general overview of SOM and WPS.

How you will benefit

Learn how to:

  • Write a Workplace Shell class
  • Create objects and classes using System Object Model
  • Understand the interaction between an object and its client program
  • Learn how to program Workplace Shell objects: WPAbstract, WPPRogramFile and WPDataFile


  • Introduction to Object-Oriented Programming
    • Encapsulation
    • Inheritance
    • Polymorphism
  • Introduction to SOM
    • Defining a class
    • C-language bindings
    • SOM precompiler
    • Metaclasses
  • Writing a Simple SOM Class
    • Writing the .CSC file
    • Accessing methods and data
    • Writing a client program
  • SOM Inheritance
    • Overriding methods
    • Public and private methods
    • Public and private data
  • Metaclasses
    • Explicit metaclasses
    • Implicit metaclasses
  • A Complete .CSC File
    • Required sections
    • Optional sections
  • The SOM Development Process
    • Environment variables
    • Running the SOM compiler
  • Debugging SOM Applications
    • Using IPMD
    • Using SOM tracing
  • Extended File Attributes
    • Launching an EXE file
  • Introduction to Workplace Shell
    • Workplace shell objects
    • Writing a workplace shell application
    • Object ID's and setup strings
  • A Workplace Shell Compatible Application
    • Extended attributes and templates
    • Installing the application
  • A Workplace Shell Aware Application
    • Writing a WPDataFile subclass
    • Installing a workplace shell aware application
  • More on Date File Subclassing
    • Printing
    • The development cycle
  • Workplace Shell Implementation
    • The desktop
    • OS2.INI and extended attributes
  • Menu Windows
    • Popup menus
    • Conditional cascades
  • Menus in a Workplace Shell Object
    • Standard object popups
    • Filtering popups
    • Adding/deleting popups
    • Processing selections
  • Container Window Class
    • Views
    • Notification messages
    • Record hierarchy
  • Folder Workplace Class
    • Instance methods
    • Writing a folder subclass
  • Notebook Windows
    • Notebook window class
    • Inserting pages
  • Notebooks in Workplace Shell
    • Setting pages
    • Adding/deleting pages
    • Saving instance data
  • Drag and Drop
    • Writing a source EXE or object
    • Writing a destination EXE or object
  • Creating an Object's Window
    • Custom open views
    • The in-use list
  • Creating a New Process
    • Why create a process?
    • Interprocess communication


You should understand Presentation Manager programming and have a basic knowledge of object-oriented programming concepts. You should also have C programming experience. Completion of Presentation Manager 2.X for Software Developers (N1688) is recommended.