discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gomoku.app ported to Mac OS X


From: Dirk Theisen
Subject: Re: Gomoku.app ported to Mac OS X
Date: Thu, 24 Jan 2002 10:45:26 +0100 (Europe/Berlin)

Hello, Nicola!
Hello, Lars!

Nicola Pero, are you listening? Do you still maintain Gomoku.app?
Aren't  you interested to incorporate the changes into the main
source tree?

Sorry for always answering late.

The application is GNU GPL, so you are absolutely free to distribute
your own version :-) as soon as you comply with the terms of the
license of course.

I'd be happy to incorporate changes allowing the application to run on
MacOS-X, if that helps merchandising GNUstep, with a single important
restriction - I don't want in my sources any file in a binary
proprietary format which I can't read - so no apple binary nibs - you
need to make a source-code only port.

I wonder why GNUstep is not simply using the plist format as Apple does for compatibility (and merging in cvs). Here is an example of the "nibtool" commandline tool output used for this purpose. It can also convert plists back into nibs.

As I understand it, gmodel is already something similar?
It looks like an nibtool plist reader could be created in a generic way using keyValueCoding (correct me, if I'm wrong).
Plists can be in XML to be even more "open" and "standard".

Just wondering...

Dirk

P.S.: An Example nibtool output from my OS X box.

theisen@trillian [/Users/theisen/Projects/Work/GinkoNG/Resources/English.lproj] > nibtool -a MessageEditor.nib/
/* Objects */
Objects = {

    "Object 1" = {
        Class = "NSCustomObject";
        CustomClass = "GIMessageEditorController";
        Name = "File's Owner";
        className = "GIMessageEditorController";
    };

    "Object 5" = {
        Class = "NSWindowTemplate";
        CustomClass = "NSWindow";
        Name = "Parent Window";
        autoPositionMask = "15";
        backingType = "2";
        className = "NSWindow";
        contentRect = "{{87, 311}, {461, 385}}";
        deferred = "1";
        dynamicDepthLimit = "0";
        frameAutosaveName = "<null>";
        hidesOnDeactivate = "0";
        isLockedIBObject = "0";
        maxSize = "{3.40282e+38, 3.40282e+38}";
        minSize = "{213, 297}";
        oneShot = "1";
        releasedWhenClosed = "1";
        styleMask = "14";
        title = "MessageEditor";
        visibleAtLaunch = "0";
        wantsToBeColor = "0";
    };

    "Object 6" = {
        Class = "NSDrawer";
        Name = "NSDrawer";
        preferredEdge = "0";
    };
...
/* Object Hierarchy */
Hierarchy = {
    "Object 1 <NSCustomObject> (File's Owner)" = {
        "Object -1 <IBFirstResponder> (First Responder)";
        "Object 5 <NSWindowTemplate> (Parent Window)" = {
            "Object 7 <NSView> (NSView)" = {
                "Object 11 <NSForm> (NSForm)" = {
                    "Object 12 <NSFormCell> (NSFormCell)";
                    "Object 13 <NSFormCell> (NSFormCell1)";
                };
                "Object 14 <NSScrollView> (NSScrollView)" = {
                    "Object 15 <NSTextView> (NSTextView)";
                };
                "Object 20 <NSBox> (NSBox)" = {
                    "Object 21 <NSView> (NSView)";
                };
                "Object 26 <NSPopUpButton> (NSPopUpButton)" = {
                    "Object 24 <NSMenu> (PopUpList)" = {
                        "Object 22 <NSMenuItem> (NSMenuItem)";
                        "Object 23 <NSMenuItem> (NSMenuItem1)";
                        "Object 25 <NSMenuItem> (NSMenuItem2)";
                    };
                };
                "Object 27 <NSTextField> (NSTextField)";
            };
        };
        "Object 6 <NSDrawer> (NSDrawer)";
        "Object 8 <NSCustomView> (DrawContentView)";
        "Object 35 <NSCustomObject> (GIAddressFormatter)";
    };
}; /* End Hierarchy */

...
   "Connection 36" = {
        Class = "NSNibOutletConnector";
        Destination = "35";
        Outlet = "formatter";
        Source = "12";
    };

}; /* End Connections */

/* Classes */
Classes = {
    IBClasses = (
        {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{CLASS = GIAddressFormatter; LANGUAGE = ObjC; SUPERCLASS = NSFormatter; },
        {
            CLASS = GIMessageEditorController;
            LANGUAGE = ObjC;
            OUTLETS = {
                accountPopup = id;
                accountText = id;
                bodyTextView = id;
                headerForm = id;
                lineView = id;
                scrollView = id;
                window = id;
            };
            SUPERCLASS = NSObject;
        }
    );
    IBVersion = 1;
}; /* End Classes */

--

Dirk Theisen <d.theisen@objectpark.org>
Diplominformatiker

University of Bonn, Institute of Computer Science III
Römerstr. 164, D-53117 Bonn (Germany)
Tel. +4922873-4504 (Fax: -4382)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]