An Epic Introduction to PyObjC and Cocoa

August 22, 2008 PyObjC is one of the most helpful projects I have ever used, but a number of individuals have been having trouble getting started with PyObjC on Leopard because the documentation is in a bit of a disarray. In particular, there didn't seem to be a comprehensive tutorial that could introduce a newcomer to all the important aspects of PyobjC, and that was completely up to date. Here is my attempt to fill that void. With a vengeance.

Filed under pythoncocoapyobjc

Epic PyObjC, Part 2: Adding a Library & Bindings

August 24, 2008 This is the second segment of the Epic Introduction to PyObjC tutorial series. This time we're looking at integrating the simple library into our project, as well as using Cocoa Bindings and an NSArrayController to make setting up an NSTableView as easy as possible.

Filed under pythoncocoapyobjc

Epic PyObjc, Part 4: Drag & Drop, Multiple Nibs

August 27, 2008 In this fourth segment of the Epic PyObjC tutorial we take a look at implementing drag and drop in two different ways, as well as using multiple nibs in one application. This is the final segment of Epic PyObjC that focuses on this project; the fifth one will be a collection of resources about continuing with Cocoa and PyObjC.

Filed under pythonos-xcocoapyobjc

Cocoa Drag and Drop text into the Dock Icon

August 7, 2008 I spent much too long today trying to figure out how to implementing drag and droping selected text onto an application's Dock icon (and its Finder icon as well), and will proceed to share this knowledge with you in the hopes that related searches will not leave their queriers quite as lost as I was.

Filed under objccocoapyobjc

Epic PyObjC, Part 3: Browsing, Caching, Indicating

August 25, 2008 In this third segment of the Epic Introduction to PyObjC and Cocoa we spend some time in the standard application development workflow of iterating new idea from concept into feature. First, we have double clicking an entry open its page on, then add disk based caching of results, and we end by adding an indicator to reassure users that the app hasn't frozen while retrieving data from Metaweb.

Filed under pythonos-xcocoapyobjc

How to Use Selectors in PyObjC

August 20, 2008 Working on a current project I ran into a bit of confusion about how to get selectors working in PyObjC. After a bit of digging I found out that information I needed, and have crafted it into a mildly cohesive document for your development pleasure.

Filed under pyobjc

Epic PyObjC, Part 5: Resources and Farewell

August 27, 2008 This brief final segment of the Epic PyObjC tutorial series looks at a few statistics from the series, and also I recommend a few resources for moving forward.

Filed under pythonos-xcocoapyobjc

Deleting From NSOutlineView With the Delete Key

August 21, 2008 I was trying to figure out how to delete items from an NSOutlineView with the delete key (and without simply binding the delete key to an NSButton), and it took a bit longer than necessary to figure it out. Here is a simple example that will hopefully help out those in a similar situation.

Filed under cocoapyobjc

Writing to Application Support in PyObjC

August 22, 2008 Applications may thrive on data, but programmers only thrive on data that is coherently organized. For Cocoa applications, user specific data is stored in an application specific subfolder of the '~Library/Application Support/' folder. Here is a quick look at the code necessary to calculate that Path in PyObjC.

Filed under cocoapyobjc

Naming and Casing Convention in PyObjC

September 4, 2008 PyObjC does an excellent job of merging together Python and Cocoa, but sometimes the resulting merge creates grey areas. Casing and naming convention is undoubtedly one of those foggy spots. This article takes a stab at defining a pragmatic naming and casing convention.

Filed under pyobjc

Releasing Kappa Source (PyObjC Twitter Client)

October 23, 2008 Kappa was a two or three day project a month or two ago, and may be helpful for people looking for some PyObjC source code that actually runs on OSX10.5/Leopard, as well as a useful base for a OSX twitter client.

Filed under pyobjcsource