Thread: [Camelbones-devel] SIGSEGV when trying to catch windowWillResize
Brought to you by:
shermpendley
From: matthew c. m. <m-...@go...> - 2005-11-26 16:43:37
|
Not sure if the dev mailing list or help forum is the better place for this, so posting to both... I'm *very* new to CB. I have a number of apps I'm trying to put a CB interface on, and haven't made a whole lot of progress with the tutorial. I'm currently trying to constrain how small my window can become (to prevent buttons overlaying one another) via the windowWillResize:toSize message to the main window's delegate, but I'm getting a seg fault every time I try to resize. Here's the code I've put in place: sub windowWillResize : Selector(windowWillResize:toSize:) ReturnType(c) { my ($self, $window, $newSize) = @_; NSLog("Resize"); return 1; } Any ideas? Thanks for this cool toolkit and for any help on this! -matt -- matthew c. mead http://www.goof.com/ |
From: Sherm P. <sh...@do...> - 2005-11-30 20:35:06
|
On Nov 26, 2005, at 11:43 AM, matthew c. mead wrote: > Not sure if the dev mailing list or help forum is the better place > for this, so posting to both... I *highly* prefer email over web forms, but that's just my own personal preference. I understand that other people's opinions may differ, so I respond in both places. Although, I *do* wish that SourceForge had followed through on their experimental NNTP interface to their fora. That allowed both types of front-end with a single, non-redundant back-end - the best of both worlds. I hope they bring that back, but I'm not optimistic about it. So anyway, I've answered via the web forum, but I'm posting the same answer here. > I'm *very* new to CB. I have a number of apps I'm trying to put a > CB interface on, and haven't made a whole lot of progress with the > tutorial. > > I'm currently trying to constrain how small my window can become > (to prevent buttons overlaying one another) via the > windowWillResize:toSize message to the main window's delegate, but > I'm getting a seg fault every time I try to resize. Here's the code > I've put in place: > > sub windowWillResize : Selector(windowWillResize:toSize:) ReturnType > (c) { > my ($self, $window, $newSize) = @_; > NSLog("Resize"); > return 1; > } > > > Any ideas? First off, the easiest way to specify a minimum size is to do it in Interface Builder. Just select the window, and in the inspector panel choose the "Size" pane. Having said that, if you want to use -windowWillResize:toSize: (for whatever reason), you need to declare the correct return and argument types, like this: sub windowWillResize : Selector(windowWillResize:toSize:) ArgTypes(@{NSSize=ff}) ReturnType({NSSize=ff}) { my ($self, $window, $newSize) = @_; # Incoming structures are passed as objects, in this # case an instance of CamelBones::NSSize # See Documentation/Reference/Structs for a list of all # the available methods in this class my $width = $newSize->getWidth(); my $height = $newSize->getHeight(); # Do stuff here, possibly modifying $width and $height # Toll-free bridging means you can return a hash ref here return { 'width' => $width, 'height' => $height }; } sherm-- Cocoa programming in Perl: http://camelbones.sourceforge.net Hire me! My resume: http://www.dot-app.org |
From: matthew c. m. <m-...@go...> - 2005-11-30 20:46:40
|
Sherm Pendley wrote: > On Nov 26, 2005, at 11:43 AM, matthew c. mead wrote: >> Not sure if the dev mailing list or help forum is the better place >> for this, so posting to both... > I *highly* prefer email over web forms, but that's just my own personal > preference. I understand that other people's opinions may differ, so I > respond in both places. Ditto! > Although, I *do* wish that SourceForge had followed through on their > experimental NNTP interface to their fora. That allowed both types of > front-end with a single, non-redundant back-end - the best of both > worlds. I hope they bring that back, but I'm not optimistic about it. When I was a subscriber to the Tapestry (a java web framework) mailing list someone created some sort of phpBB for those that preferred forum systems. They managed to link one of the individual forums within the system to the mailing list. I'm not sure if it properly handled threading, but at least the information was accessible in both places. [ answer snipped ] Thanks a bundle, Sherm! Is there more of a tutorial out there, or did I miss some crucial sections of what's already there? I guess I need to better learn how to read Cocoa docs and write CamelBones code that makes use of Cocoa properly. Your example will provide me a good basis for moving forward on some of what I've been working on. And you're right, constraining min size is much better achieved by using interface builder. I may need to respond to windowWillResize anyway for other reasons, though. Thanks again! -matt -- matthew c. mead http://www.goof.com/ |