wxMac: Is wxWidgets/Carbon worth using? (2.6.0 MWC)

Do you have a typical platform dependent issue you're battling with ? Ask it here. Make sure you mention your platform, compiler, and wxWidgets version.
Post Reply
slur
In need of some credit
In need of some credit
Posts: 3
Joined: Sat Jul 16, 2005 2:19 am
Location: Portland, OR

wxMac: Is wxWidgets/Carbon worth using? (2.6.0 MWC)

Post by slur » Mon Aug 08, 2005 8:29 pm

I've been hired to fix a number of bugs that exist in the Mac/Carbon build of a wxWidgets-based program.

The Windows build works perfectly, wheras the Mac version exhibits problems with clipping in sub-panes, improper alpha in PNG image buttons, and an inconsistent implementation of wxNotebook that leads me to think I'll have to write my own custom class.

I've spent about 60 hours so far in the CodeWarrior debugger (painful!) trying to locate the various bugs which appear to be intrinsic to wxWidgets/Carbon. What I'm most curious about is whether wxWidgets/Carbon is recommended for use, or whether its bugs are so numerous that you'd recommend not using it.

I note with some relief that Amaya is built against wxWidgets/CoreFoundation and that it behaves very well. Would you recommend therefore that we abandon any ambitions of a Mac OS 8/9 compatible build and limit our focus to Mac OS X and an XCode-based build instead?

I really need to know, because my client is liable to blame me for not being able to find and fix these issues, and then go on trying to use wxWidgets/Carbon if I can't demonstrate that wxWidgets/Carbon is an ill-advised path for their software.
|
| slur was here
|

KevinHock
Filthy Rich wx Solver
Filthy Rich wx Solver
Posts: 236
Joined: Sat Sep 04, 2004 1:49 pm
Location: Ohio, USA
Contact:

Post by KevinHock » Tue Aug 09, 2005 12:47 am

Many apps are built using wxMac (Carbon), including my application which is sold commercially. It's probably the most "quirky" of all the major ports but it is definitely usable, and without it there would be no Mac version of my app. There is also a lot of continuous improvement so the rough edges continue to soften.

In terms of OS 8/9, yes, definitely abandon trying to make an 8/9 app. Almost all modern app development is OS X based, so you won't be viewed badly if you don't support classic. You will also find using XCode and gcc much easier I think that using CodeWarrior.

I hope that's useful for you.

slur
In need of some credit
In need of some credit
Posts: 3
Joined: Sat Jul 16, 2005 2:19 am
Location: Portland, OR

Your experience...?

Post by slur » Tue Aug 09, 2005 2:56 am

I'm glad to hear you find the API usable. Can you tell me if you've used these features, and whether you've experienced the same issues I have?

- wxNotebook: Not really usable inside a sub-pane because it get too wide. I note that although Amaya uses wxNotebook it has no support on the Mac for adding tabs but instead creates a new window for each document.

- Splitter: Drawn over by wxNotebook in sub-panes due to a failure to set proper clipping.

- wxBitmapButton: Using a PNG graphic fails to use the Alpha channel properly. Instead thinks there's a "mask" and uses that in drawing instead. Or under the circumstances which my client originally had the source, the mask and alpha are both ignored and all PNGs are drawn with a black background. And yet the standard toolbar buttons created with a wxArtProvider seem to draw just fine, even if I substitute my own PNGs. (Should my BitmapButtons interface somehow with wxArtProvider?)

- Amaya-style sub-panels in a scrolling sub-pane. Not clipped properly at all. When scrolled they are drawn above and below the designated area. In Mac OS 9 they don't scroll properly at all, and redraw into an ugly mess.

I'd like to make this application build in XCode, but I haven't gotten very far in setting up the project yet. Do you have a starter project, or could you send me a copy of your project (without your own source of course) as a starting point? It would be a great help to know whether the bugs I'm seeing are intrinsic to wxWidgets or are artifacts of building a PPC binary with CodeWarrior.
|
| slur was here
|

KevinHock
Filthy Rich wx Solver
Filthy Rich wx Solver
Posts: 236
Joined: Sat Sep 04, 2004 1:49 pm
Location: Ohio, USA
Contact:

Post by KevinHock » Tue Aug 09, 2005 4:32 am

I don't use wxNotebook at all so I can't comment on any issues that you are experiencing with it. I do know I've read of certain problems, but since I don't use it myself I don't want to comment since I don't know enough details.

I also don't use wxBitmapButton. I find bitmap buttons in general to be awkward as a UI element, but that's just a personal preference of mine.

I do use wxScrolledWindow and find it to work satisfactorly, but again I don't use it in conjunction with wxNotebook.

In terms of using XCode, there are setup guides on the wxWiki, and you can also look at the minimal sample's XCode project. It's not any harder than getting the output from wx-config and putting it into XCode in the right place. :)

Post Reply