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.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Skateboard Party 3 ft. Greg Lutzka (Gam...
Skateboard Party 3 ft. Greg Lutzka 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Skateboard Party is back! This third edition of the popular sports franchise features professional skater... | Read more »
Cubious (Games)
Cubious 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: Cubious – How smart are you? How high is your IQube? Solve the impossible puzzles to find out, and help a lost little cube find his... | Read more »
Goat Simulator Waste of Space (Games)
Goat Simulator Waste of Space 1.1 Device: iOS Universal Category: Games Price: $4.99, Version: 1.1 (iTunes) Description: ** IMPORTANT - SUPPORTED DEVICESiPhone 4S, iPad 2, iPod Touch 5 or better.** | Read more »
Wildfulness - Unwind in nature and calm...
Wildfulness - Unwind in nature and calm your mind with nature sounds and illustrations 1.0 Device: iOS Universal Category: Healthcare & Fitness Price: $1.99, Version: 1.0 (iTunes) Description: Spending time in nature helps you to... | Read more »
Dr. Panda Racers (Education)
Dr. Panda Racers 1.0 Device: iOS Universal Category: Education Price: $2.99, Version: 1.0 (iTunes) Description: STEP ON THE GAS, RACE AND WIN!Fasten your seat belts and get ready to race! Speed your way to the finish line while doing... | Read more »
ROMANCING SAGA 2 (Games)
ROMANCING SAGA 2 1.0.0 Device: iOS Universal Category: Games Price: $17.99, Version: 1.0.0 (iTunes) Description: Romancing SaGa 2, originally released only in Japan in 1993, has been completely remastered and now receives its first... | Read more »
WRIO Keyboard (Utilities)
WRIO Keyboard 1.0 Device: iOS iPhone Category: Utilities Price: $2.99, Version: 1.0 (iTunes) Description: 40% OFF DURING LIMITED INTRODUCTORY OFFER | Read more »
Hatoful Boyfriend (Games)
Hatoful Boyfriend 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: The hit PC game that everybirdie loves has now migrated to your mobile device! Now you are free to explore the wonders of St... | Read more »
Warp Shift (Games)
Warp Shift 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: [ CHECK YOUR HARDWARE: Warp Shift does NOT run on iPhone 4, iPad 1 and iPod touch 4G or older devices! It requires at least iOS8... | Read more »
Lifeline: Whiteout (Games)
Lifeline: Whiteout 1.0.2 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0.2 (iTunes) Description: Alone in a frozen wasteland with no memory of how he got there, a lost adventurer’s only hope is his last line of... | Read more »

Price Scanner via MacPrices.net

Goal Zero and OtterBox Partner to Expand iPh...
Goal Zero, specialists in portable power, have announced a partnership with OtterBox, brand smartphone case protection, to offer the Slide and Slide Plus Batteries as modules compatible with the new... Read more
15-inch Retina MacBook Pros on sale for up to...
B&H Photo has 15″ Retina MacBook Pros on sale for up to $210 off MSRP. Shipping is free, and B&H charges NY tax only: - 15″ 2.2GHz Retina MacBook Pro: $1799 $200 off MSRP - 15″ 2.5GHz Retina... Read more
Clearance 2015 13-inch MacBook Airs available...
B&H Photo has clearance 2015 13″ MacBook Airs available for $250 off original MSRP. Shipping is free, and B&H charges NY sales tax only: - 13″ 1.6GHz/4GB/128GB MacBook Air (MJVE2LL/A): $799... Read more
Apple refurbished Apple TVs available for up...
Apple has Certified Refurbished 32GB and 64GB Apple TVs available for up to $30 off the cost of new models. Apple’s standard one-year warranty is included with each model, and shipping is free: -... Read more
21-inch iMacs on sale for up to $120 off MSRP
B&H Photo has 21″ iMacs on sale for up to $120 off MSRP including free shipping plus NY sales tax only: - 21″ 3.1GHz iMac 4K: $1379.99 $120 off MSRP - 21″ 2.8GHz iMac: $1189 $110 off MSRP - 21″ 1... Read more
Kanex Introduces GoPower USB-C Rechargeable B...
Kanex has announced its GoPower USB-C portable battery for the USB-C MacBook, featuring the new industry standard connector and cable used for connectivity and power. Providing users with a new... Read more
Convertible and Detachable Devices Winning Ov...
According to the latest figures published by International Data Corporation (IDC), Western European shipments of ultraslim convertibles and detachables posted positive growth (44.7%) to account for... Read more
New MacBook Pros And Will MacBook Air Be Upgr...
With my mid-2013 13-inch MacBook Air closing on its third anniversary come November, I’m in system upgrade mode. Actually the Haswell CPU equipped Air is still doing a fine job, but my good wife is... Read more
Apple’s Education discount saves up to $300 o...
Purchase a new Mac or iPad using Apple’s Education Store and take up to $300 off MSRP. All teachers, students, and staff of any educational institution qualify for the discount. Shipping is free, and... Read more
13-inch 2.5GHz MacBook Pro on sale for $999,...
B&H Photo has the 13″ 2.5GHz MacBook Pro on sale for $999 including free shipping plus NY sales tax only. Their price is $100 off MSRP. Read more

Jobs Board

Editor, *Apple* News - APPLE (United States...
Job Summary The Apple News team is looking for a passionate and knowledgeable editor with experience covering entertainment/pop culture and experience running social Read more
*Apple* Nissan Service Technicians - Apple A...
Apple Automotive is one of the fastest growing dealer...and it shows. Consider making the switch to the Apple Automotive Group today! At Apple Automotive , Read more
ISCS *Apple* ID Site Support Engineer - APP...
…position, we are looking for an individual who has experience supporting customers with Apple ID issues and enjoys this area of support. This person should be Read more
Automotive Sales Consultant - Apple Ford Linc...
…you. The best candidates are smart, technologically savvy and are customer focused. Apple Ford Lincoln Apple Valley is different, because: $30,000 annual salary Read more
*Apple* Support Technician II - Worldventure...
…global, fast growing member based travel company, is currently sourcing for an Apple Support Technician II to be based in our Plano headquarters. WorldVentures is Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.