Thread: [Pyobjc-dev] Moving from XCode to py2app: xib trouble
Brought to you by:
ronaldoussoren
From: Orestis M. <or...@or...> - 2008-05-18 16:47:36
|
So, I've created a project under Xcode, and I'm trying to make it work using py2app. I've moved over all the Python files (including main.m and main.py) and English.lproj, translated the plist to a python dict (this could be easily automated), py2app happilly generates the bundle but the application dies because it can't find the MainMenu nib file. After some investigation, I've learned that nib files are now actually compiled from xib files, which doesn't happen when I use py2app. What step am I missing? Regards, -- Orestis Markou or...@or... http://orestis.gr/ |
From: Ronald O. <ron...@ma...> - 2008-05-19 06:13:57
|
On 18 May, 2008, at 18:46, Orestis Markou wrote: > So, I've created a project under Xcode, and I'm trying to make it work > using py2app. > > I've moved over all the Python files (including main.m and main.py) > and English.lproj, translated the plist to a python dict (this could > be easily automated), py2app happilly generates the bundle but the > application dies because it can't find the MainMenu nib file. > > After some investigation, I've learned that nib files are now actually > compiled from xib files, which doesn't happen when I use py2app. > > What step am I missing? Someone will have to teach py2app to compile .xib files. There's already code that deals with datamodels for CoreData, enhancing that to deal with .xib files should be fairly easy. The complicating factor is that datamodels are explicitly mentioned in the setup.py file, while nib files are usually copied as resource files. I'll get around to that some time, although it is unlikely that that will happen before WWDC. Ronald |
From: Orestis M. <or...@or...> - 2008-05-20 19:10:28
|
Isn't it perhaps better to have py2app invoke ibtool (as proposed by Nicholas Riley), or do we not want to introduce a dependency to the Developer Tools ? (I'm not sure if that's the case already). -- Orestis Markou or...@or... http://orestis.gr/ On 19 Μαϊ 2008, at 7:13 ΠΜ, Ronald Oussoren wrote: > > On 18 May, 2008, at 18:46, Orestis Markou wrote: > >> So, I've created a project under Xcode, and I'm trying to make it >> work >> using py2app. >> >> I've moved over all the Python files (including main.m and main.py) >> and English.lproj, translated the plist to a python dict (this could >> be easily automated), py2app happilly generates the bundle but the >> application dies because it can't find the MainMenu nib file. >> >> After some investigation, I've learned that nib files are now >> actually >> compiled from xib files, which doesn't happen when I use py2app. >> >> What step am I missing? > > Someone will have to teach py2app to compile .xib files. There's > already code that deals with datamodels for CoreData, enhancing that > to deal with .xib files should be fairly easy. The complicating > factor is that datamodels are explicitly mentioned in the setup.py > file, while nib files are usually copied as resource files. > > I'll get around to that some time, although it is unlikely that that > will happen before WWDC. > > Ronald > |
From: Nicholas R. <nj...@ui...> - 2008-05-19 06:22:03
|
On May 18, 2008, at 11:46 AM, Orestis Markou wrote: > After some investigation, I've learned that nib files are now actually > compiled from xib files, which doesn't happen when I use py2app. > > What step am I missing? xib files are new in Leopard's Interface Builder 3; py2app probably hasn't been updated to work with them. You can use "ibtool foo.xib --compile foo.nib" to compile a nib from the command line as part of your build process, or probably easier, use "Save As" in Interface Builder to save a nib. IB3 works just fine with nibs as well as xib files. It would make sense for py2app to invoke ibtool for you, I guess. -- Nicholas Riley <nj...@ui...> | <http://www.uiuc.edu/ph/www/njriley> |
From: Greg E. <gre...@ca...> - 2008-05-21 00:13:06
|
Orestis Markou wrote: > Isn't it perhaps better to have py2app invoke ibtool (as proposed by > Nicholas Riley), or do we not want to introduce a dependency to the > Developer Tools ? If you have a .xib file, doesn't that more or less imply that you have the developer tools to create it in the first place? -- Greg |
From: Orestis M. <or...@or...> - 2008-05-21 07:47:51
|
I guess so, but I can't sent my project to anyone that doesn't have Dev Tools installed. I don't really care - using IB is so nice that I doubt that anyone would do Cocoa GUI development without it. -- Orestis Markou or...@or... http://orestis.gr/ On 21 Μαϊ 2008, at 1:06 ΠΜ, Greg Ewing wrote: > Orestis Markou wrote: >> Isn't it perhaps better to have py2app invoke ibtool (as proposed by >> Nicholas Riley), or do we not want to introduce a dependency to the >> Developer Tools ? > > If you have a .xib file, doesn't that more or less imply > that you have the developer tools to create it in the > first place? > > -- > Greg > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Pyobjc-dev mailing list > Pyo...@li... > https://lists.sourceforge.net/lists/listinfo/pyobjc-dev |
From: Ronald O. <ron...@ma...> - 2008-05-21 09:36:57
|
On Wednesday, May 21, 2008, at 09:48AM, "Orestis Markou" <or...@or...> wrote: >I guess so, but I can't sent my project to anyone that doesn't have >Dev Tools installed. > >I don't really care - using IB is so nice that I doubt that anyone >would do Cocoa GUI development without it. Furthermore de developer tools are a free download (and included on the OSX DVD). py2app already calls developer tools when you're using CoreData model definitions, and IMHO is should call ibtool to do the xib->nib conversion of you. BTW. If anyone has too much free time: it would be very useful to reverse engineer how Xcode communicates with Interface Builder, I'd love to use the automatic detection of classes/outlets when I'm using some other editor as Xcode isn't that useful for doing python development. I currently use a dummy Xcode project just for the Xcode/IB integration, and that's lame. Ronald >-- >Orestis Markou >or...@or... >http://orestis.gr/ > > > > >On 21 ??? 2008, at 1:06 ??, Greg Ewing wrote: > >> Orestis Markou wrote: >>> Isn't it perhaps better to have py2app invoke ibtool (as proposed by >>> Nicholas Riley), or do we not want to introduce a dependency to the >>> Developer Tools ? >> >> If you have a .xib file, doesn't that more or less imply >> that you have the developer tools to create it in the >> first place? >> >> -- >> Greg >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by: Microsoft >> Defy all challenges. Microsoft(R) Visual Studio 2008. >> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >> _______________________________________________ >> Pyobjc-dev mailing list >> Pyo...@li... >> https://lists.sourceforge.net/lists/listinfo/pyobjc-dev > > >------------------------------------------------------------------------- >This SF.net email is sponsored by: Microsoft >Defy all challenges. Microsoft(R) Visual Studio 2008. >http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >_______________________________________________ >Pyobjc-dev mailing list >Pyo...@li... >https://lists.sourceforge.net/lists/listinfo/pyobjc-dev > > |
From: Orestis M. <or...@or...> - 2008-05-21 20:06:20
|
I can look into patching py2app to call ibtool - any pointers about where should I start? Where is py2app svn hosted? Regarding the XCode/IB integration - if you define python source files to be opened in an external editor, and you keep xcode in the background, it will watch your file and post changes to IB as you save. Although I think you want to take XCode out of the picture entirely, right? -- Orestis Markou or...@or... http://orestis.gr/ On 21 Μαϊ 2008, at 10:36 ΠΜ, Ronald Oussoren wrote: > > On Wednesday, May 21, 2008, at 09:48AM, "Orestis Markou" <or...@or... > > wrote: >> I guess so, but I can't sent my project to anyone that doesn't have >> Dev Tools installed. >> >> I don't really care - using IB is so nice that I doubt that anyone >> would do Cocoa GUI development without it. > > Furthermore de developer tools are a free download (and included on > the OSX DVD). > > py2app already calls developer tools when you're using CoreData > model definitions, and IMHO is should call ibtool to do the xib->nib > conversion of you. > > BTW. If anyone has too much free time: it would be very useful to > reverse engineer how Xcode communicates with Interface Builder, I'd > love to use the automatic detection of classes/outlets when I'm > using some other editor as Xcode isn't that useful for doing python > development. I currently use a dummy Xcode project just for the > Xcode/IB integration, and that's lame. > > Ronald >> -- >> Orestis Markou >> or...@or... >> http://orestis.gr/ >> >> >> >> >> On 21 ??? 2008, at 1:06 ??, Greg Ewing wrote: >> >>> Orestis Markou wrote: >>>> Isn't it perhaps better to have py2app invoke ibtool (as proposed >>>> by >>>> Nicholas Riley), or do we not want to introduce a dependency to the >>>> Developer Tools ? >>> >>> If you have a .xib file, doesn't that more or less imply >>> that you have the developer tools to create it in the >>> first place? >>> >>> -- >>> Greg >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by: Microsoft >>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>> _______________________________________________ >>> Pyobjc-dev mailing list >>> Pyo...@li... >>> https://lists.sourceforge.net/lists/listinfo/pyobjc-dev >> >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by: Microsoft >> Defy all challenges. Microsoft(R) Visual Studio 2008. >> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >> _______________________________________________ >> Pyobjc-dev mailing list >> Pyo...@li... >> https://lists.sourceforge.net/lists/listinfo/pyobjc-dev >> >> |
From: Ronald O. <ron...@ma...> - 2008-05-21 20:16:35
|
On 21 May, 2008, at 22:04, Orestis Markou wrote: > I can look into patching py2app to call ibtool - any pointers about > where should I start? Where is py2app svn hosted? http://svn.pythonmac.org/py2app > > > Regarding the XCode/IB integration - if you define python source > files to be opened in an external editor, and you keep xcode in the > background, it will watch your file and post changes to IB as you > save. Although I think you want to take XCode out of the picture > entirely, right? That's right. To be blunt, Xcode is a waste of resources when you are writing Python code. It also makes me depressed because Xcode contains some tools that might be useful for Python too (such as the graphical debugger), but there is no way to plug in support for alternative languages. Ronald > > > -- > Orestis Markou > or...@or... > http://orestis.gr/ > > > > > On 21 Μαϊ 2008, at 10:36 ΠΜ, Ronald Oussoren wrote: > >> >> On Wednesday, May 21, 2008, at 09:48AM, "Orestis Markou" <or...@or... >> > wrote: >>> I guess so, but I can't sent my project to anyone that doesn't have >>> Dev Tools installed. >>> >>> I don't really care - using IB is so nice that I doubt that anyone >>> would do Cocoa GUI development without it. >> >> Furthermore de developer tools are a free download (and included on >> the OSX DVD). >> >> py2app already calls developer tools when you're using CoreData >> model definitions, and IMHO is should call ibtool to do the xib- >> >nib conversion of you. >> >> BTW. If anyone has too much free time: it would be very useful to >> reverse engineer how Xcode communicates with Interface Builder, I'd >> love to use the automatic detection of classes/outlets when I'm >> using some other editor as Xcode isn't that useful for doing python >> development. I currently use a dummy Xcode project just for the >> Xcode/IB integration, and that's lame. >> >> Ronald >>> -- >>> Orestis Markou >>> or...@or... >>> http://orestis.gr/ >>> >>> >>> >>> >>> On 21 ??? 2008, at 1:06 ??, Greg Ewing wrote: >>> >>>> Orestis Markou wrote: >>>>> Isn't it perhaps better to have py2app invoke ibtool (as >>>>> proposed by >>>>> Nicholas Riley), or do we not want to introduce a dependency to >>>>> the >>>>> Developer Tools ? >>>> >>>> If you have a .xib file, doesn't that more or less imply >>>> that you have the developer tools to create it in the >>>> first place? >>>> >>>> -- >>>> Greg >>>> >>>> ------------------------------------------------------------------------- >>>> This SF.net email is sponsored by: Microsoft >>>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>>> _______________________________________________ >>>> Pyobjc-dev mailing list >>>> Pyo...@li... >>>> https://lists.sourceforge.net/lists/listinfo/pyobjc-dev >>> >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by: Microsoft >>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>> _______________________________________________ >>> Pyobjc-dev mailing list >>> Pyo...@li... >>> https://lists.sourceforge.net/lists/listinfo/pyobjc-dev >>> >>> > |
From: Orestis M. <or...@or...> - 2008-05-21 20:19:24
|
I quite like the autocomplete that XCode does for python - I hate that it won't auto indent. Oh well. Such is life, I guess. I've tried closing XCode and IB subtly complained by adding exclamation marks on the outlets of my class, so it's going both ways. Would be interesting to investigate what's going on... -- Orestis Markou or...@or... http://orestis.gr/ On 21 Μαϊ 2008, at 9:16 ΜΜ, Ronald Oussoren wrote: > > On 21 May, 2008, at 22:04, Orestis Markou wrote: > >> I can look into patching py2app to call ibtool - any pointers about >> where should I start? Where is py2app svn hosted? > > http://svn.pythonmac.org/py2app > >> >> >> Regarding the XCode/IB integration - if you define python source >> files to be opened in an external editor, and you keep xcode in the >> background, it will watch your file and post changes to IB as you >> save. Although I think you want to take XCode out of the picture >> entirely, right? > > That's right. To be blunt, Xcode is a waste of resources when you > are writing Python code. It also makes me depressed because Xcode > contains some tools that might be useful for Python too (such as the > graphical debugger), but there is no way to plug in support for > alternative languages. > > Ronald > >> >> >> -- >> Orestis Markou >> or...@or... >> http://orestis.gr/ >> >> >> >> >> On 21 Μαϊ 2008, at 10:36 ΠΜ, Ronald Oussoren wrote: >> >>> >>> On Wednesday, May 21, 2008, at 09:48AM, "Orestis Markou" <or...@or... >>> > wrote: >>>> I guess so, but I can't sent my project to anyone that doesn't have >>>> Dev Tools installed. >>>> >>>> I don't really care - using IB is so nice that I doubt that anyone >>>> would do Cocoa GUI development without it. >>> >>> Furthermore de developer tools are a free download (and included >>> on the OSX DVD). >>> >>> py2app already calls developer tools when you're using CoreData >>> model definitions, and IMHO is should call ibtool to do the xib- >>> >nib conversion of you. >>> >>> BTW. If anyone has too much free time: it would be very useful to >>> reverse engineer how Xcode communicates with Interface Builder, >>> I'd love to use the automatic detection of classes/outlets when >>> I'm using some other editor as Xcode isn't that useful for doing >>> python development. I currently use a dummy Xcode project just for >>> the Xcode/IB integration, and that's lame. >>> >>> Ronald >>>> -- >>>> Orestis Markou >>>> or...@or... >>>> http://orestis.gr/ >>>> >>>> >>>> >>>> >>>> On 21 ??? 2008, at 1:06 ??, Greg Ewing wrote: >>>> >>>>> Orestis Markou wrote: >>>>>> Isn't it perhaps better to have py2app invoke ibtool (as >>>>>> proposed by >>>>>> Nicholas Riley), or do we not want to introduce a dependency to >>>>>> the >>>>>> Developer Tools ? >>>>> >>>>> If you have a .xib file, doesn't that more or less imply >>>>> that you have the developer tools to create it in the >>>>> first place? >>>>> >>>>> -- >>>>> Greg >>>>> >>>>> ------------------------------------------------------------------------- >>>>> This SF.net email is sponsored by: Microsoft >>>>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>>>> _______________________________________________ >>>>> Pyobjc-dev mailing list >>>>> Pyo...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/pyobjc-dev >>>> >>>> >>>> ------------------------------------------------------------------------- >>>> This SF.net email is sponsored by: Microsoft >>>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>>> _______________________________________________ >>>> Pyobjc-dev mailing list >>>> Pyo...@li... >>>> https://lists.sourceforge.net/lists/listinfo/pyobjc-dev >>>> >>>> >> > |
From: Ronald O. <ron...@ma...> - 2008-05-21 20:37:42
|
On 21 May, 2008, at 22:19, Orestis Markou wrote: > I quite like the autocomplete that XCode does for python - I hate > that it won't auto indent. Oh well. I'm still prefering vim for coding, none of the available GUI editors seem to offer enough to bother trying to retrain my muscle memory. > Such is life, I guess. I've tried closing XCode and IB subtly > complained by adding exclamation marks on the outlets of my class, > so it's going both ways. Would be interesting to investigate what's > going on... Indeed. I wish I had the time to do this ;-) BTW. W.r.t. adding xib support to py2app: adding that is not entirely trivial, there are currently no hooks that you can hook into. From the top of my head I'd say that it would be best to add a framework for transforming resources as they are copied into the application bundle. One user of that is the .xib->.nib translation, but this could also be used to transform other files (such as CoreData models or image files). This framework need not be available for outside users at first, just like the collection of recipes. BTW2. Once you have a patch I can review and apply it. I cannot do releases though, AFAIK Bob is the only one that can upload new releases of py2app to pypi. Ronald > > -- > Orestis Markou > or...@or... > http://orestis.gr/ > > > > > On 21 Μαϊ 2008, at 9:16 ΜΜ, Ronald Oussoren wrote: > >> >> On 21 May, 2008, at 22:04, Orestis Markou wrote: >> >>> I can look into patching py2app to call ibtool - any pointers >>> about where should I start? Where is py2app svn hosted? >> >> http://svn.pythonmac.org/py2app >> >>> >>> >>> Regarding the XCode/IB integration - if you define python source >>> files to be opened in an external editor, and you keep xcode in >>> the background, it will watch your file and post changes to IB as >>> you save. Although I think you want to take XCode out of the >>> picture entirely, right? >> >> That's right. To be blunt, Xcode is a waste of resources when you >> are writing Python code. It also makes me depressed because Xcode >> contains some tools that might be useful for Python too (such as >> the graphical debugger), but there is no way to plug in support for >> alternative languages. >> >> Ronald >> >>> >>> >>> -- >>> Orestis Markou >>> or...@or... >>> http://orestis.gr/ >>> >>> >>> >>> >>> On 21 Μαϊ 2008, at 10:36 ΠΜ, Ronald Oussoren wrote: >>> >>>> >>>> On Wednesday, May 21, 2008, at 09:48AM, "Orestis Markou" <or...@or... >>>> > wrote: >>>>> I guess so, but I can't sent my project to anyone that doesn't >>>>> have >>>>> Dev Tools installed. >>>>> >>>>> I don't really care - using IB is so nice that I doubt that anyone >>>>> would do Cocoa GUI development without it. >>>> >>>> Furthermore de developer tools are a free download (and included >>>> on the OSX DVD). >>>> >>>> py2app already calls developer tools when you're using CoreData >>>> model definitions, and IMHO is should call ibtool to do the xib- >>>> >nib conversion of you. >>>> >>>> BTW. If anyone has too much free time: it would be very useful to >>>> reverse engineer how Xcode communicates with Interface Builder, >>>> I'd love to use the automatic detection of classes/outlets when >>>> I'm using some other editor as Xcode isn't that useful for doing >>>> python development. I currently use a dummy Xcode project just >>>> for the Xcode/IB integration, and that's lame. >>>> >>>> Ronald >>>>> -- >>>>> Orestis Markou >>>>> or...@or... >>>>> http://orestis.gr/ >>>>> >>>>> >>>>> >>>>> >>>>> On 21 ??? 2008, at 1:06 ??, Greg Ewing wrote: >>>>> >>>>>> Orestis Markou wrote: >>>>>>> Isn't it perhaps better to have py2app invoke ibtool (as >>>>>>> proposed by >>>>>>> Nicholas Riley), or do we not want to introduce a dependency >>>>>>> to the >>>>>>> Developer Tools ? >>>>>> >>>>>> If you have a .xib file, doesn't that more or less imply >>>>>> that you have the developer tools to create it in the >>>>>> first place? >>>>>> >>>>>> -- >>>>>> Greg >>>>>> >>>>>> ------------------------------------------------------------------------- >>>>>> This SF.net email is sponsored by: Microsoft >>>>>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>>>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>>>>> _______________________________________________ >>>>>> Pyobjc-dev mailing list >>>>>> Pyo...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/pyobjc-dev >>>>> >>>>> >>>>> ------------------------------------------------------------------------- >>>>> This SF.net email is sponsored by: Microsoft >>>>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>>>> _______________________________________________ >>>>> Pyobjc-dev mailing list >>>>> Pyo...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/pyobjc-dev >>>>> >>>>> >>> >> > |