TweetFollow Us on Twitter

Oct 98 Factory Floor

Volume Number: 14 (1998)
Issue Number: 10
Column Tag: From The Factory Floor

A PowerPlant Update

by Greg Dow and Dave Mark, ©1998 by Metrowerks, Inc., all rights reserved

This month's column is the start of a series on PowerPlant. We'll start off with a short interview with the godfather of PowerPlant, Greg Dow. Look for more on PowerPlant in next month's column.

Gregory Dow pretends to be the creator and chief architect of PowerPlant at Metrowerks. In reality, he is the sock puppet of a stuffed pink bear named Snuffles, who enjoys watching television, doing backflips, and casino gambling.

Dave: How would you suggest someone get started learning PowerPlant?

Greg: The best way to learn PowerPlant is to come up with an idea for a program that you'd like to write and then begin reading The PowerPlant Book which comes with CodeWarrior. While reading the first few chapters of the book and performing the code exercises, think about how the concepts apply to your program.

After you absorb the basic concepts, create a new project for your program using one of the PowerPlant stationery projects. As you read about features in the book, try implementing them in your project. Also, concurrently read the first few chapters of the manual for Constructor, which is the visual editor for PowerPlant. If you're too impatient to finish the entire book, at least read enough to reach the point where you can build menus and windows, and add code to respond to menu selections and manipulate views.

As you continue to work on your program, look at the sample PowerPlant projects on the CodeWarrior reference CD and at the PowerPlant Contributed Class Archives on the Metrowerks web site: http://www.metrowerks.com

Very often, someone else has already done something similar to what you want to do.

Finally, participate in the Usenet newsgroup comp.sys.mac.oop.powerplant. Follow the discussions, ask your own questions, and answer other's questions if you can. John C. Daub, one of the PowerPlant programmers at Metrowerks, and I read every message on this newsgroup and frequently answer questions.

Dave: Tell me about some of the more recent additions that have made PowerPlant easier to use.

Greg: The LString class provides many routines for creating and manipulating the Pascal-style strings (the first byte is a length count) used by the Mac Toolbox. For example, it can concatenate strings, find substrings within a string, and load strings from resources.

Based on some recent postings on the PowerPlant newsgroup, I just added new functions for converting between strings and floating point numbers. These conversion routines use the Toolbox's StringToExtended and ExtendedToString functions, which have flexible formatting options that account for country-based differences such as the currency symbol and whether to use a comma or period for the decimal point.

The LRadioGroupView and LTabGroupView classes are replacements for the old LRadioGroup and LTabGroup classes. As the names imply, the new classes are views, which makes them easier to create in the Constructor visual editor. I wrote the old classes before Constructor existed, so I didn't consider the problems of dealing with non-visual elements.

Another improvement is a set of debugging classes that John Daub wrote. These classes help stress test a program and provide diagnostic information while a program is running. For example, you can have a debugging window which dynamically displays the chain of command and visual hierarchy.

Dave: How did Mac OS 8 affect PowerPlant?

Greg: Mac OS 8 introduced many changes to the standard Mac interface. The platinum appearance makes traditional controls such as buttons and check boxes look gray and puffy. And there are many new controls, progress bars, sliders, and buttons containing graphics.

PowerPlant already had versions of most of these controls based on the Apple Grayscale Appearance (AGA). Apple published the AGA specification in technical notes for developers, giving pixel-level detail on how to draw each visual element. Robin Mair wrote PowerPlant classes for these visual elements, mostly for internal use by Metrowerks for the interface of the CodeWarrior IDE (integrated development environment). Unfortunately, the Mac OS 8 versions of the visual elements did not follow the AGA specification.

Whenever Apple introduces new OS features, I need to decide how to support them in PowerPlant and whether to have backward compatibility. Backward compatibility means supporting the same or similar features on older versions of the OS.

In this case, it meant implementing all the new Mac OS 8 visual elements with code that runs on System 7. The goal was to allow PowerPlant users to write programs that look and work the same on System 7 and Mac OS 8. So, we made the AGA classes obsolete, and wrote new ones that have the Mac OS 8 look and feel. We call these the GA (Grayscale Appearance) implementations.

At the same time, we wrote classes that create the controls using the new Toolbox calls in Mac OS 8. We call these the AM (Appearance Manager) implementations.

To make a program that runs on both System 7 and Mac OS 8, a programmer can always use the GA version, or can use the hybrid approach of performing a runtime check and using the AM version if the machine supports it. The hybrid approach has more code, but has the advantage of tracking changes that Apple makes to the new Toolbox calls in future versions of Mac OS.

Dave: What about PowerPlant and Carbon?

Greg: Carbon will support a subset of the current Toolbox. Fortunately, PowerPlant does not use many Toolbox calls that Carbon won't support. Typical PowerPlant programs are over 90% Carbon-compatible according to Apple's Carbon Dater program. As Apple provides more details, we will make PowerPlant 100% Carbon-compatible.

One thing that you can do now to prepare for Carbon is to use Navigation Services instead of Standard File to present the dialogs that ask a user to open or save a file. I just finshed adding Navigation Services support to PowerPlant. You can read about Navigation Services by downloading the SDK (software development kit) from Apple's web site at http://developer.apple.com/sdk/.

Dave: What do you see as the next big directional change for PowerPlant?

Greg: Presently, PowerPlant view layouts are static. There is no built-in mechanism for creating, rearranging, and resizing views based on content or runtime conditions. Future versions of PowerPlant will have better support for changing program appearance and behavior at runtime.

As part of this runtime adaptability, visual editing will be part of the framework itself. By attaching special editor objects, you'll be able to directly manipulate visual elements while a program is running.

 
AAPL
$100.96
Apple Inc.
-0.83
MSFT
$47.52
Microsoft Corpora
+0.84
GOOG
$596.08
Google Inc.
+6.81

MacTech Search:
Community Search:

Software Updates via MacUpdate

WhatRoute 1.13.0 - Geographically trace...
WhatRoute is designed to find the names of all the routers an IP packet passes through on its way from your Mac to a destination host. It also measures the round-trip time from your Mac to the... Read more
Chromium 37.0.2062.122 - Fast and stable...
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. FreeSMUG-Free OpenSource Mac User Group build is... Read more
Attachment Tamer 3.1.14b9 - Take control...
Attachment Tamer gives you control over attachment handling in Apple Mail. It fixes the most annoying Apple Mail flaws, ensures compatibility with other email software, and allows you to set up how... Read more
Duplicate Annihilator 5.0 - Find and del...
Duplicate Annihilator takes on the time-consuming task of comparing the images in your iPhoto library using effective algorithms to make sure that no duplicate escapes. Duplicate Annihilator detects... Read more
jAlbum Pro 12.2 - Organize your digital...
jAlbum Pro has all the features you love in jAlbum, but comes with a commercial license. With jAlbum, you can create gorgeous custom photo galleries for the Web without writing a line of code!... Read more
jAlbum 12.2 - Create custom photo galler...
With jAlbum, you can create gorgeous custom photo galleries for the Web without writing a line of code! Beginner-friendly, with pro results Simply drag and drop photos into groups, choose a design... Read more
Quicken 2015 2.0.4 - Complete personal f...
Quicken 2015 helps you manage all your personal finances in one place, so you can see where you're spending and where you can save. Quicken automatically categorizes your financial transactions,... Read more
iMazing 1.0 - Complete iOS device manage...
iMazing (formerly DiskAid) is the ultimate iOS device manager with capabilities far beyond what iTunes offers. With iMazing and your iOS device (iPhone, iPad, or iPod), you can: Copy music to and... Read more
Xcode 6.0.1 - Integrated development env...
Apple Xcode is Apple Computer's integrated development environment (IDE) for OS X. The full Xcode package is free to ADC members and includes all the tools you need to create, debug, and optimize... Read more
Apple Safari 7.1 - Apple's Web brow...
Apple Safari in OS X Mavericks brings you all-new ways to find and enjoy the best of the web. It works with iCloud to give you a seamless browsing experience across all your devices. It looks out for... Read more

Latest Forum Discussions

See All

View Source – HTML, JavaScript and CSS...
View Source – HTML, JavaScript and CSS 1.0 Device: iOS Universal Category: Utilities Price: $.99, Version: 1.0 (iTunes) Description: View Source is an app plus an iOS 8 Safari extension that makes it easy to do one key web developer... | Read more »
Avenged Sevenfold’s Hail To The King: De...
Avenged Sevenfold’s Hail To The King: Deathbat is Coming to iOS on October 16th Posted by Jessica Fisher on September 19th, 2014 [ permalink ] Just in time for Halloween, on October 16 Avenged Sevenfold will be launching | Read more »
Talisman Has Gone Universal – Can Now be...
Talisman Has Gone Universal – Can Now be Played on the iPhone Posted by Jessica Fisher on September 19th, 2014 [ permalink ] | Read more »
Tap Army Review
Tap Army Review By Jennifer Allen on September 19th, 2014 Our Rating: :: SHOOT EM ALLUniversal App - Designed for iPhone and iPad Mindless but fun, Tap Army is a lane-based shooter that should help you relieve some stress.   | Read more »
Monsters! Volcanoes! Loot! Epic Island f...
Monsters! Volcanoes! Loot! | Read more »
Plunder Pirates: Tips, Tricks, Strategie...
Ahoy There, Seadogs: Interested in knowing our thoughts on all this plundering and pirating? Check out our Plunder Pirates Review! Have you just downloaded the rather enjoyable pirate-em-up Plunder Pirates and are in need of some assistance? Never... | Read more »
Goat Simulator Review
Goat Simulator Review By Lee Hamlet on September 19th, 2014 Our Rating: :: THE GRUFFEST OF BILLY GOATSUniversal App - Designed for iPhone and iPad Unleash chaos as a grumpy goat in this humorous but short-lived casual game.   | Read more »
A New and Improved Wunderlist is Here fo...
A New and Improved Wunderlist is Here for iOS 8 Posted by Jessica Fisher on September 19th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Evernote Update for iOS 8 Adds Web Clipp...
Evernote Update for iOS 8 Adds Web Clipping, Quick Notes, and More Posted by Ellis Spice on September 19th, 2014 [ permalink ] | Read more »
Apple Names Ultimate Productivity Bundl...
Apple Names Ultimate Productivity Bundle by Readdle as the Essential Bundle on the App Store Posted by Jessica Fisher on September 19th, 2014 [ permalink | Read more »

Price Scanner via MacPrices.net

Mac Pros available for up to $260 off MSRP
Adorama has Mac Pros on sale for up to $260 off MSRP. Shipping is free, and Adorama charges sales tax in NY & NJ only: - 4-core Mac Pro: $2839.99, $160 off MSRP - 6-core Mac Pro: $3739.99, $260... Read more
13-inch 2.6GHz/256GB Retina MacBook Pros avai...
B&H Photo has the 13″ 2.6GHz/256GB Retina MacBook Pro on sale for $1379 including free shipping plus NY sales tax only. Their price is $120 off MSRP. Read more
Previous-generation 15-inch 2.0GHz Retina Mac...
B&H Photo has leftover previous-generation 15″ 2.0GHz Retina MacBook Pros now available for $1599 including free shipping plus NY sales tax only. Their price is $400 off original MSRP. B&H... Read more
21″ 2.7GHz iMac available for $1179, save $12...
Adorama has 21″ 2.7GHz Hawell iMacs on sale for $1179.99 including free shipping. Their price is $120 off MSRP. NY and NJ sales tax only. Read more
iOS 8 Adoption Rate Slower than iOS 7, 6, Hit...
Apple began pushing out iOS 8 updates to eligible devices around 1pm ET on September 17, 2014. However, unlike with iOS 7, which boasted a wide variety of differences from its predecessor iOS 6, in... Read more
LIkely Final Definitive OS X 10.9.5 Mavericks...
Apple has released what will almost certainly be the last incremental version number update of OS X 10.9 Mavericks (save for futire security updates) before OS X 10.10 Yosemite is released next month... Read more
Fingerprints, Apple Pay and Identity Theft Wa...
On Sep 9th, CEO Tim Cook unveiled Apple Pay, along with the new iPhone 6 and iWatch. Apple Pay is a newly developed technology that utilizes a near field communication (NFC) to enable customer... Read more
Amazon Introduces Two All-New Kindles
Amazon on Thursday introduced the 7th generation of its Kindle dedicated e-reader device: Kindle Voyage, its top-of-the-line e-reader, and the new $79 Kindle, with a 20% faster processor, twice the... Read more
Save up to $300 on the price of a new Mac wit...
Purchase a new Mac or iPad at The Apple Store for Education and take up to $300 off MSRP. All teachers, students, and staff of any educational institution qualify for the discount. Shipping is free,... Read more
13-inch 2.8GHz Retina MacBook Pro available f...
B&H Photo has the new 2014 13″ 2.8GHz Retina MacBook Pro on sale for $1699.99 including free shipping plus NY sales tax only. They’ll also include free copies of Parallels Desktop and LoJack for... Read more

Jobs Board

Project Manager, *Apple* Financial Services...
**Job Summary** Apple Financial Services (AFS) offers consumers, businesses and educational institutions ways to finance Apple purchases. We work with national and Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.