On Fri, Feb 6, 2009 at 9:32 PM, Christian Graus <christian.gr...@gmail.com> wrote: > We prefer users to use our app full screen. we're copying our Windows > program, so we really don't have a lot of room to rethink this stuff, and > what we've done so far, was a success in the windows world. I am trying to > make sure we move from windows centric UI to Mac centric UI where > appropriate, but in this case, I am pretty sure my boss isn't going to > budge.
What works in the Windows world very, very often does not translate well to the Mac. When you say you "prefer users to use our app full screen," does this correlate to a maximized window on Windows or to a true full-screen app? If the former, your users will not use the app as you intended. If the latter, then it has a far greater chance at working. On Windows, maximized is almost the default window size. On the Mac, there is no such thing as "Maximizing"; there's Zooming, which toggles between the last size a user made for the window and the app's preferred size for that window. > Well, perhaps. But, what I understand is that I have a boss who expects me > to write Objective C code as fast as I write C# code, and yes, at this > point, I really don't understand the best way to create what I need to, > that's why I was asking. I also find google to be the best way of finding > documentation, although I have many books, google usually works better. You have a categorically unreasonable boss. I take it he was never a developer himself, or if he was, he never worked on any platform other than Windows? > I've been in Interface Builder, and I have been unable to even work out how > to add a child window that I can animate in the manner I am hoping for, and > I am certainly concerned that if I start off with the wrong thing, I will do > work that I end up having to scrap. I have 24 hours in which to add this > toolbar, and get some other work done, too. I've purchased a number of > books, and I've been looking at them, my core assumption here is that if I > had a reasonable amount of time to immerse myself in the framework, I could > work all this out. As it stands, I have time pressure, little experience, > and I am looking for shortcuts that I have no doubt I will go back and > improve upon when I have the time. 24 hours is not nearly enough time to understand all the concepts that are necessary in pulling this feature together. Barring the thought of even approaching the Dock's appearance, mimicing its functionality alone will require you to understand a lot of things: the view hierarchy (which is radically different from the Windows model of everything-is-a-window), NIB loading/MVC (so you can actually connect your code to the interface), Core Animation (a Leopard-only technology that is designed to do things like what you're trying to accomplish), Quartz (if you have to target releases before Leopard or need to do reasonably involved custom drawing), and more... If you can afford to target Leopard only, you might be able to get away with this: put a bunch of NSImageViews in an otherwise-empty NSView, subclass NSWindowController, create an instance of it to manage your window, add an outlet for the containing NSView, set the class of File's Owner in your window's NIB to your custom subclass, wire up the outlet you created, and trap incoming mouse events to deduce where they are in respect to your container view and resize its child views accordingly. This is not easy, and probably not complete since I'm coming up with it off the top of my head. > Yes, that's true - I know it to be true. Sadly, I am not in a position to > do anything about the time pressures on me, in fact, I had allocated more > time to work on this, this week, and instead was pulled into work on our > Windows version which has left me even more time poor. I guess it's hard > for you to discern if I am in need of help b/c of an unrealistic deadline, > or if I'm asking such broad questions because I can't be bothered trying to > work stuff out for myself. You are correct; that's a distinction impossible to discern from your initial post. To be frank, we've had an increasing number of Windows developers come here and ask for step-by-step instructions on re-implementing half the operating system. > And I was not looking for step by step instructions, I was really hoping > that somewhere there was a sample I could read to see how to get the > animation right, and perhaps some instructions on how to add an animated > child window ( both of which seem to me the sort of thing I'd expect to find > articles on, online ). Perhaps I've been spoiled by sites like > CodeProject.com, I've not found anything analogous in the Mac world, so far. Nothing of the sort exists in the Mac world. Personally, I think sites like CodeProject contribute heavily to the sorry state of modern software development. They encourage copy-paste coding and convince everybody who can breathe without assistance that they can make a living as a contract coder, leading to nightmarish maintenance scenarios for the competent developers left holding the bag. I also think that part of the reason you don't see examples of the sort you were expecting is that within the comparatively miniscule Macintosh development community, there are a lot of old-hat developers. The Apple sample code is pretty much as good as it gets, along with the examples that others have so graciously provided. But they all seem to focus on a specific feature or set of features, not in a concrete goal -- they're meant to explain concepts and provide enough background that the reader can go off and understand the reference material available and gain an understanding of the technology as a whole. You won't find people writing articles on "How to Make your Own Dock Clone" with the intent of providing a recipe to others with that aim. --Kyle Sluder _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com