Obj C question

Hi Chris,

We’re trying to modify the server preferences window to include an additional popup menu (for selecting monitor resolution). Not being Obj C or Interface Builder experts, we were wondering if you could assist.

Basically we want two popup menus. The first one is already there, which selects the display to use for MWorks. Underneath, we want to add a second popup menu to show available resolution, with the currently used resolution already selected. I’ve been able to do that, so far. What I’m having trouble doing is having the display monitor selection trigger a refresh of the contents of the resolution selection popup menu. Any suggestions would be appreciated.

P.S. We’ve made quite a few modifications of the 0.5 code that we’d like to merge with the new 0.6 code (some server, some core but most plugins). Suggestions on the best course of action?

  • Romesh

Hi Romesh,

What I’m having trouble doing is having the display monitor selection trigger a refresh of the contents of the resolution selection popup menu. Any suggestions would be appreciated.

I don’t think I can make a useful suggestion without seeing your code. Is it in a GitHub repository or somewhere else that I can access?

One thought: It might make sense to continue using just one pop-up menu, with each top-level item (display name) expanding in to a sub-menu (resolution). See, for example, Safari → View → Text Encoding.

We’ve made quite a few modifications of the 0.5 code that we’d like to merge with the new 0.6 code (some server, some core but most plugins). Suggestions on the best course of action?

New plugins that you’ve created shouldn’t need many (if any) code changes. Just recompile them against MWorks 0.6, and they will (hopefully) work as before.

For migrating changes you’ve made to standard MWorks frameworks and plugins, the basic strategy is to merge the upstream changes in to your local repo. Specifically, you’ll want to merge the commits associated with the 0.6 tag. For the main MWorks repo, I think the commands would be

git fetch https://github.com/mworks/mworks.git
git merge c1863e7a31cfd0f279f6bb0934e8746a22560d16

If there are conflicts between upstream changes and your local changes, you’ll need to resolve them.

Does that all make sense?

Chris