You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(116) |
Sep
(146) |
Oct
(78) |
Nov
(69) |
Dec
(70) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(188) |
Feb
(142) |
Mar
(143) |
Apr
(131) |
May
(97) |
Jun
(221) |
Jul
(127) |
Aug
(89) |
Sep
(83) |
Oct
(66) |
Nov
(47) |
Dec
(70) |
2003 |
Jan
(77) |
Feb
(91) |
Mar
(103) |
Apr
(98) |
May
(134) |
Jun
(47) |
Jul
(74) |
Aug
(71) |
Sep
(48) |
Oct
(23) |
Nov
(37) |
Dec
(13) |
2004 |
Jan
(24) |
Feb
(15) |
Mar
(52) |
Apr
(119) |
May
(49) |
Jun
(41) |
Jul
(34) |
Aug
(91) |
Sep
(169) |
Oct
(38) |
Nov
(32) |
Dec
(47) |
2005 |
Jan
(61) |
Feb
(47) |
Mar
(101) |
Apr
(130) |
May
(51) |
Jun
(65) |
Jul
(71) |
Aug
(96) |
Sep
(28) |
Oct
(20) |
Nov
(39) |
Dec
(62) |
2006 |
Jan
(13) |
Feb
(19) |
Mar
(18) |
Apr
(34) |
May
(39) |
Jun
(50) |
Jul
(63) |
Aug
(18) |
Sep
(37) |
Oct
(14) |
Nov
(56) |
Dec
(32) |
2007 |
Jan
(30) |
Feb
(13) |
Mar
(25) |
Apr
(3) |
May
(15) |
Jun
(42) |
Jul
(5) |
Aug
(17) |
Sep
(6) |
Oct
(25) |
Nov
(49) |
Dec
(10) |
2008 |
Jan
(12) |
Feb
|
Mar
(17) |
Apr
(18) |
May
(12) |
Jun
(2) |
Jul
(2) |
Aug
(6) |
Sep
(4) |
Oct
(15) |
Nov
(45) |
Dec
(9) |
2009 |
Jan
(1) |
Feb
(3) |
Mar
(18) |
Apr
(8) |
May
(3) |
Jun
|
Jul
(13) |
Aug
(2) |
Sep
(1) |
Oct
(9) |
Nov
(13) |
Dec
|
2010 |
Jan
(2) |
Feb
(3) |
Mar
(9) |
Apr
(10) |
May
|
Jun
(1) |
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(1) |
Dec
(4) |
2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
(44) |
May
(9) |
Jun
(22) |
Jul
(2) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2012 |
Jan
|
Feb
(1) |
Mar
(2) |
Apr
(2) |
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
(2) |
Apr
(1) |
May
(1) |
Jun
|
Jul
(3) |
Aug
(8) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Liam C. <cy...@gm...> - 2005-03-28 23:41:52
|
---------- Forwarded message ---------- From: Liam Clarke <cy...@gm...> Date: Tue, 29 Mar 2005 11:41:37 +1200 Subject: Re: [Pythoncard-users] global menubar To: "bra...@om..." <bra...@om...> Well, you could try a wx.Yield() to force redraw, but I suspect that's not the answer. Try, and this is silly, but try it anyway, try parent = wx.GetTopLevelParent(self) self.menuBar = parent.menubar Although, you should've had an Attribute Error if that wasn't working right. Try that in the meanwhile, I'll have a poke around my resource files at home. I assume that you've tested it across platforms? Regards, Liam Clarke On Mon, 28 Mar 2005 17:00:54 -0600, bra...@om... <bra...@om...> wrote: > > > I meant to say, > > self.menuBar = wx.GetTopLevelParent(self).menuBar > > Brad Allen/Dallas wrote on 03/28/2005 04:57:29 PM: > > > > > Now I'm trying this within the tabs (Notebook pages): > > > > self.menuBar = self.wx.GetTopLevelParent(self).menuBar > > > > and then within the child windows: > > > > self.menuBar = self.getParent().menuBar > > > > Still not giving me the menu I want in the child windows. > > > > > > pyt...@li... wrote on 03/28/2005 04:31:37 > PM: > > > > > > > > > Whoops, I must be blind. Apparently PageBackground objects have no > > > attribute getParent(). > > > > > > > > > pyt...@li... wrote on 03/28/2005 > > 04:21:51 PM: > > > > > > > > > > > So, I've now got a main window with a tabbed interface and a > > global menubar > > > > that works for all the tabs. However, I still need to spawn a few > > > > child windows, and these > > > > need to have a copy of the main menubar. I have tried binding the > > > > menubar of the > > > > parent during the background initialization of the child window,like > so: > > > > > > > > class MyBackground( model.Background): > > > > def on_initialize(self, event): > > > > self.menuBar = self.getParent().menuBar > > > > > > > > This doesn't work, although it doesn't seem to generate any > > > > exceptions that I can see. > > > > I have tried it on child windows whose resource file contains no > > > > menubar, and I have tried > > > > it on child windows whose resource file contains no menubar. > > > > > > > > Is there a method for refreshing the menubar? > > > > > > > > Thanks! > > > > > > > > "Kevin Altis" <al...@se...> wrote on 03/21/2005 10:25:35 > AM: > > > > > > > > > On Mar 19, 2005, at 7:27 PM, bra...@om... wrote: > > > > > > > > > > > > > > > > > I'm thinking I can get by with a tabbed interface for the > > main window, > > > > > > and go with small menu-less child windows for some of the > individual > > > > > > forms. For instance, an Employees tab would show a > multiColumnList of > > > > > > employees with search filters at the top. To edit an employee > record, > > > > > > the user doubleclicks a line and an employee edit window > > pops up. This > > > > > > seems like a workable approach. I guess I need to take a look at > how > > > > > > to implement the Notebook. > > > > > > > > > > > > > > > > A tabbed interface seems like the way to go. There is currently no > > > > > option to toggle the menubar for a window on and off in the > > > > > resourceEditor. The reason I didn't do that is if someone made a > bunch > > > > > of menus and then accidentally got rid of them they would be pretty > > > > > upset, and we have no undo feature. Instead when you create your > > > > > background by using New under the File menu, select the appropriate > > > > > template, for whether you want menus or not. > > > > > > > > > > The "main" menubar is always available to all windows. On the main > > > > > background, it is just self.menuBar so on a child window you would > > > > > access it as self.getParent().menuBar. > > > > > > > > > > When you use a single menubar and child windows, one of the things > you > > > > > have to watch out for is focus. Your main window will get the > focus. If > > > > > you run with the Message Watcher you'll see the deactivate, > loseFocus, > > > > > activate, loseFocus, gainFocus messages fire. Depending on what you > > > > > want to do, you'll probably need to use the findFocus() method or > some > > > > > other method of tracking what is going on in your child window and > > > > > saving that information in an on_deactivate method which you would > then > > > > > access in your main window menu item event handler. > > > > > > > > > > ka -- 'There is only one basic human right, and that is to do as you damn well please. And with it comes the only basic human duty, to take the consequences. -- 'There is only one basic human right, and that is to do as you damn well please. And with it comes the only basic human duty, to take the consequences. |
From: <bra...@om...> - 2005-03-28 23:01:53
|
I meant to say, self.menuBar = wx.GetTopLevelParent(self).menuBar Brad Allen/Dallas wrote on 03/28/2005 04:57:29 PM: > > Now I'm trying this within the tabs (Notebook pages): > > self.menuBar = self.wx.GetTopLevelParent(self).menuBar > > and then within the child windows: > > self.menuBar = self.getParent().menuBar > > Still not giving me the menu I want in the child windows. > > > pyt...@li... wrote on 03/28/2005 04:31:37 PM: > > > > > Whoops, I must be blind. Apparently PageBackground objects have no > > attribute getParent(). > > > > > > pyt...@li... wrote on 03/28/2005 > 04:21:51 PM: > > > > > > > > So, I've now got a main window with a tabbed interface and a > global menubar > > > that works for all the tabs. However, I still need to spawn a few > > > child windows, and these > > > need to have a copy of the main menubar. I have tried binding the > > > menubar of the > > > parent during the background initialization of the child window,like so: > > > > > > class MyBackground( model.Background): > > > def on_initialize(self, event): > > > self.menuBar = self.getParent().menuBar > > > > > > This doesn't work, although it doesn't seem to generate any > > > exceptions that I can see. > > > I have tried it on child windows whose resource file contains no > > > menubar, and I have tried > > > it on child windows whose resource file contains no menubar. > > > > > > Is there a method for refreshing the menubar? > > > > > > Thanks! > > > > > > "Kevin Altis" <al...@se...> wrote on 03/21/2005 10:25:35 AM: > > > > > > > On Mar 19, 2005, at 7:27 PM, bra...@om... wrote: > > > > > > > > > > > > > > I'm thinking I can get by with a tabbed interface for the > main window, > > > > > and go with small menu-less child windows for some of the individual > > > > > forms. For instance, an Employees tab would show a multiColumnList of > > > > > employees with search filters at the top. To edit an employee record, > > > > > the user doubleclicks a line and an employee edit window > pops up. This > > > > > seems like a workable approach. I guess I need to take a look at how > > > > > to implement the Notebook. > > > > > > > > > > > > > A tabbed interface seems like the way to go. There is currently no > > > > option to toggle the menubar for a window on and off in the > > > > resourceEditor. The reason I didn't do that is if someone made a bunch > > > > of menus and then accidentally got rid of them they would be pretty > > > > upset, and we have no undo feature. Instead when you create your > > > > background by using New under the File menu, select the appropriate > > > > template, for whether you want menus or not. > > > > > > > > The "main" menubar is always available to all windows. On the main > > > > background, it is just self.menuBar so on a child window you would > > > > access it as self.getParent().menuBar. > > > > > > > > When you use a single menubar and child windows, one of the things you > > > > have to watch out for is focus. Your main window will get the focus. If > > > > you run with the Message Watcher you'll see the deactivate, loseFocus, > > > > activate, loseFocus, gainFocus messages fire. Depending on what you > > > > want to do, you'll probably need to use the findFocus() method or some > > > > other method of tracking what is going on in your child window and > > > > saving that information in an on_deactivate method which you would then > > > > access in your main window menu item event handler. > > > > > > > > ka |
From: <bra...@om...> - 2005-03-28 22:32:34
|
Whoops, I must be blind. Apparently PageBackground objects have no attribute getParent(). pyt...@li... wrote on 03/28/2005 04:21:51 PM: > > So, I've now got a main window with a tabbed interface and a global menubar > that works for all the tabs. However, I still need to spawn a few > child windows, and these > need to have a copy of the main menubar. I have tried binding the > menubar of the > parent during the background initialization of the child window, like so: > > class MyBackground( model.Background): > def on_initialize(self, event): > self.menuBar = self.getParent().menuBar > > This doesn't work, although it doesn't seem to generate any > exceptions that I can see. > I have tried it on child windows whose resource file contains no > menubar, and I have tried > it on child windows whose resource file contains no menubar. > > Is there a method for refreshing the menubar? > > Thanks! > > "Kevin Altis" <al...@se...> wrote on 03/21/2005 10:25:35 AM: > > > On Mar 19, 2005, at 7:27 PM, bra...@om... wrote: > > > > > > > > I'm thinking I can get by with a tabbed interface for the main window, > > > and go with small menu-less child windows for some of the individual > > > forms. For instance, an Employees tab would show a multiColumnList of > > > employees with search filters at the top. To edit an employee record, > > > the user doubleclicks a line and an employee edit window pops up. This > > > seems like a workable approach. I guess I need to take a look at how > > > to implement the Notebook. > > > > > > > A tabbed interface seems like the way to go. There is currently no > > option to toggle the menubar for a window on and off in the > > resourceEditor. The reason I didn't do that is if someone made a bunch > > of menus and then accidentally got rid of them they would be pretty > > upset, and we have no undo feature. Instead when you create your > > background by using New under the File menu, select the appropriate > > template, for whether you want menus or not. > > > > The "main" menubar is always available to all windows. On the main > > background, it is just self.menuBar so on a child window you would > > access it as self.getParent().menuBar. > > > > When you use a single menubar and child windows, one of the things you > > have to watch out for is focus. Your main window will get the focus. If > > you run with the Message Watcher you'll see the deactivate, loseFocus, > > activate, loseFocus, gainFocus messages fire. Depending on what you > > want to do, you'll probably need to use the findFocus() method or some > > other method of tracking what is going on in your child window and > > saving that information in an on_deactivate method which you would then > > access in your main window menu item event handler. > > > > ka |
From: <bra...@om...> - 2005-03-28 22:22:48
|
So, I've now got a main window with a tabbed interface and a global menubar that works for all the tabs. However, I still need to spawn a few child windows, and these need to have a copy of the main menubar. I have tried binding the menubar of the parent during the background initialization of the child window, like so: class MyBackground( model.Background): def on_initialize(self, event): self.menuBar = self.getParent().menuBar This doesn't work, although it doesn't seem to generate any exceptions that I can see. I have tried it on child windows whose resource file contains no menubar, and I have tried it on child windows whose resource file contains no menubar. Is there a method for refreshing the menubar? Thanks! "Kevin Altis" <al...@se...> wrote on 03/21/2005 10:25:35 AM: > On Mar 19, 2005, at 7:27 PM, bra...@om... wrote: > > > > > I'm thinking I can get by with a tabbed interface for the main window, > > and go with small menu-less child windows for some of the individual > > forms. For instance, an Employees tab would show a multiColumnList of > > employees with search filters at the top. To edit an employee record, > > the user doubleclicks a line and an employee edit window pops up. This > > seems like a workable approach. I guess I need to take a look at how > > to implement the Notebook. > > > > A tabbed interface seems like the way to go. There is currently no > option to toggle the menubar for a window on and off in the > resourceEditor. The reason I didn't do that is if someone made a bunch > of menus and then accidentally got rid of them they would be pretty > upset, and we have no undo feature. Instead when you create your > background by using New under the File menu, select the appropriate > template, for whether you want menus or not. > > The "main" menubar is always available to all windows. On the main > background, it is just self.menuBar so on a child window you would > access it as self.getParent().menuBar. > > When you use a single menubar and child windows, one of the things you > have to watch out for is focus. Your main window will get the focus. If > you run with the Message Watcher you'll see the deactivate, loseFocus, > activate, loseFocus, gainFocus messages fire. Depending on what you > want to do, you'll probably need to use the findFocus() method or some > other method of tracking what is going on in your child window and > saving that information in an on_deactivate method which you would then > access in your main window menu item event handler. > > ka |
From: <bra...@om...> - 2005-03-28 01:42:34
|
I'd like to embed choice boxes and editable text fields in a scrolling list, ala FileMaker. I don't see any obvious ways to do this using PythonCard. Have I missed something? Thanks! |
From: Brian v. d. B. <bv...@po...> - 2005-03-22 09:16:31
|
Kevin Altis said unto the world upon 2005-03-21 18:24: > I took the existing 0.8.1 zip file and created a new installer EXE for > Windows using Python 2.3.5. I've tested it myself and it seems to work > fine on Python 2.3.5 and Python 2.4, however I would like confirmation > from some other people as well. There should be no differences between > the contents of the release from any of the other 0.8.1 file sets since > I used the last release zip rather than building the archive from the > current cvs. This file was done simply to remove the installer problem > people were having with Python 2.4. > > http://prdownloads.sourceforge.net/pythoncard/PythonCard > -0.8.1.FIXED.win32.exe?download > > Once I get confirmation that the file works as expected on Python 2.3.x > and 2.4 for other people, I will update the Windows installation page > on the web site to point to the FIXED version of the EXE installer. > > Note that I will be at Pycon the rest of the week and on another trip > immediately following that and I'm unlikely to check email while I'm on > the road. > > ka Hi Kevin, thanks for doing this. 0.8.1.FIXED.win32.exe works for me on Windows Me with Python 2.4. (Or rather, 5 minutes of playing around with the install -- it is after 4am -- revealed no problems.) A small thing: it would be a touch more elegant were samples.py renamed samples.pyw. No biggie though. Thanks and best, Brian vdB |
From: <bra...@om...> - 2005-03-22 00:06:22
|
Thanks; I will try that. It does make more sense to do that from the child window. I had the same problem with not being able to pass a parameter to the init method of the child window. Liam Clarke wrote on 03/21/2005 03:55:47 PM: > Hi Brad, > > You need to put the raise method in a method of the childWindow. > I'm on XP, and calling the childWindow's raise method from the > originating method as above never works for me. > > i.e. > > def on_empMultiColumnList_itemActivated(self, event): > #Do stuff to derive id_emp > childWindow = model.childWindow(self, empDetail.bgEmpDetail) > childWindow.id_emp = id_emp > > > and in empDetail - > > class bgEmpDetail(model.Background): > def on_initialise(self, event): > #This will need explaining > self.popuulateFields(self.id_emp) > self.Raise() > > See, what happens is that when a child window is created, the method > that created finishes before the child window's on_initialise gets > called. > > At the mo, my thing with childWindow.id_emp = id_emp is the only way > of passing other parameters to the on_initialise() method. > > So, you can pass the parameters in, and then your child windows > initialisation can act on them. > > And, sticking Raise() in the child windows init method fixed your > problem for me. > > > I hope it helps. If it's confusing at all, let me know and I'll try > and explanify further. > > > Regards, > > Liam Clarke > > > > On Mon, 21 Mar 2005 11:11:40 -0600, bra...@om... > <bra...@om...> wrote: > > > > The Raise method for a child window seems not to work on the Mac, but does > > work under Windows. On the Mac, the child window starts to pop in front of > > the parent window, but then it withdraws behind. From looking at message > > watcher, It's almost as if the second click in my doubleclick is bringing > > the parent window forward. > > > > Is there something else I should be doing other than Raise(), or is this a > > bug? > > > > Here is the method runs when I doubleclick my multicolumnlist: > > > > def on_empMultiColumnList_itemActivated(self, event): > > """When an entry is double clicked""" > > indexClicked = event.m_itemIndex > > base = self.components > > rows = base.empMultiColumnList.GetSelectedItems() > > if len(rows) == 0: > > return > > print rows > > id_emp = rows[0][0] > > empDetail.id_emp = id_emp > > self.detailWindow = > > model.childWindow(self,empDetail.bgEmpDetail) > > self.detailWindow.populateFields(id_emp) > > self.detailWindow.Raise() > > > > > > I'm running PythonCard .81, wxPython 2.5.4.1, Python 2.3, Mac OS 10.3.8. > > > > > -- > 'There is only one basic human right, and that is to do as you damn > well please. > And with it comes the only basic human duty, to take the consequences. > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Pythoncard-users mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncard-users |
From: Kevin A. <al...@se...> - 2005-03-21 23:24:59
|
I took the existing 0.8.1 zip file and created a new installer EXE for Windows using Python 2.3.5. I've tested it myself and it seems to work fine on Python 2.3.5 and Python 2.4, however I would like confirmation from some other people as well. There should be no differences between the contents of the release from any of the other 0.8.1 file sets since I used the last release zip rather than building the archive from the current cvs. This file was done simply to remove the installer problem people were having with Python 2.4. http://prdownloads.sourceforge.net/pythoncard/PythonCard -0.8.1.FIXED.win32.exe?download Once I get confirmation that the file works as expected on Python 2.3.x and 2.4 for other people, I will update the Windows installation page on the web site to point to the FIXED version of the EXE installer. Note that I will be at Pycon the rest of the week and on another trip immediately following that and I'm unlikely to check email while I'm on the road. ka |
From: Liam C. <cy...@gm...> - 2005-03-21 21:55:52
|
Hi Brad, You need to put the raise method in a method of the childWindow. I'm on XP, and calling the childWindow's raise method from the originating method as above never works for me. i.e. def on_empMultiColumnList_itemActivated(self, event): #Do stuff to derive id_emp childWindow = model.childWindow(self, empDetail.bgEmpDetail) childWindow.id_emp = id_emp and in empDetail - class bgEmpDetail(model.Background): def on_initialise(self, event): #This will need explaining self.popuulateFields(self.id_emp) self.Raise() See, what happens is that when a child window is created, the method that created finishes before the child window's on_initialise gets called. At the mo, my thing with childWindow.id_emp = id_emp is the only way of passing other parameters to the on_initialise() method. So, you can pass the parameters in, and then your child windows initialisation can act on them. And, sticking Raise() in the child windows init method fixed your problem for me. I hope it helps. If it's confusing at all, let me know and I'll try and explanify further. Regards, Liam Clarke On Mon, 21 Mar 2005 11:11:40 -0600, bra...@om... <bra...@om...> wrote: > > The Raise method for a child window seems not to work on the Mac, but does > work under Windows. On the Mac, the child window starts to pop in front of > the parent window, but then it withdraws behind. From looking at message > watcher, It's almost as if the second click in my doubleclick is bringing > the parent window forward. > > Is there something else I should be doing other than Raise(), or is this a > bug? > > Here is the method runs when I doubleclick my multicolumnlist: > > def on_empMultiColumnList_itemActivated(self, event): > """When an entry is double clicked""" > indexClicked = event.m_itemIndex > base = self.components > rows = base.empMultiColumnList.GetSelectedItems() > if len(rows) == 0: > return > print rows > id_emp = rows[0][0] > empDetail.id_emp = id_emp > self.detailWindow = > model.childWindow(self,empDetail.bgEmpDetail) > self.detailWindow.populateFields(id_emp) > self.detailWindow.Raise() > > > I'm running PythonCard .81, wxPython 2.5.4.1, Python 2.3, Mac OS 10.3.8. > -- 'There is only one basic human right, and that is to do as you damn well please. And with it comes the only basic human duty, to take the consequences. |
From: Nicolas Arni-B. <nic...@gm...> - 2005-03-21 17:30:10
|
In the PageBackground you can get the parent with this attribute : self.topLevelParent=00 Le 21 mars 05, =E0 18:17, Bo Green a =E9crit : > > How could pages control and communicate with one another, in a tabbed=20= > app? > It seems like getParent() is not implemented for PageBackground=20 > instances, and I'm having trouble locating notebook methods for that=20= > kind of thing. > Thanks. > Bo > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real=20 > users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick > _______________________________________________ > Pythoncard-users mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncard-users > > -- Nicolas Arni-Bloch =09= Groupe MATIS-Bd, Centre Universitaire d'Informatique 24 rue General-Dufour CH-1205 Gen=E8ve eMail : nic...@cu... phone : +41 22 379 76 80 fax : +41 22 379 77 80 |
From: <bra...@om...> - 2005-03-21 17:19:41
|
I'm now leaning toward letting child windows each have their own copy of the menu bar; apparently this is standard on Windows and I should get over my Mac-centric feeling that it's "weird" for small child windows to have menubars. "Kevin Altis" <al...@se...> wrote on 03/21/2005 10:25:35 AM: > On Mar 19, 2005, at 7:27 PM, bra...@om... wrote: > > > > > I'm thinking I can get by with a tabbed interface for the main window, > > and go with small menu-less child windows for some of the individual > > forms. For instance, an Employees tab would show a multiColumnList of > > employees with search filters at the top. To edit an employee record, > > the user doubleclicks a line and an employee edit window pops up. This > > seems like a workable approach. I guess I need to take a look at how > > to implement the Notebook. > > > > A tabbed interface seems like the way to go. There is currently no > option to toggle the menubar for a window on and off in the > resourceEditor. The reason I didn't do that is if someone made a bunch > of menus and then accidentally got rid of them they would be pretty > upset, and we have no undo feature. Instead when you create your > background by using New under the File menu, select the appropriate > template, for whether you want menus or not. > > The "main" menubar is always available to all windows. On the main > background, it is just self.menuBar so on a child window you would > access it as self.getParent().menuBar. > > When you use a single menubar and child windows, one of the things you > have to watch out for is focus. Your main window will get the focus. If > you run with the Message Watcher you'll see the deactivate, loseFocus, > activate, loseFocus, gainFocus messages fire. Depending on what you > want to do, you'll probably need to use the findFocus() method or some > other method of tracking what is going on in your child window and > saving that information in an on_deactivate method which you would then > access in your main window menu item event handler. > > ka |
From: Bo G. <bo...@sy...> - 2005-03-21 17:17:03
|
How could pages control and communicate with one another, in a tabbed app? It seems like getParent() is not implemented for PageBackground instances, and I'm having trouble locating notebook methods for that kind of thing. Thanks. Bo |
From: <bra...@om...> - 2005-03-21 17:12:48
|
The Raise method for a child window seems not to work on the Mac, but does work under Windows. On the Mac, the child window starts to pop in front of the parent window, but then it withdraws behind. From looking at message watcher, It's almost as if the second click in my doubleclick is bringing the parent window forward. Is there something else I should be doing other than Raise(), or is this a bug? Here is the method runs when I doubleclick my multicolumnlist: def on_empMultiColumnList_itemActivated(self, event): """When an entry is double clicked""" indexClicked = event.m_itemIndex base = self.components rows = base.empMultiColumnList.GetSelectedItems() if len(rows) == 0: return print rows id_emp = rows[0][0] empDetail.id_emp = id_emp self.detailWindow = model.childWindow(self,empDetail.bgEmpDetail) self.detailWindow.populateFields(id_emp) self.detailWindow.Raise() I'm running PythonCard .81, wxPython 2.5.4.1, Python 2.3, Mac OS 10.3.8. |
From: Kevin A. <al...@se...> - 2005-03-21 16:54:45
|
Also the menubar portion of the .rsrc.py file can be manually added and deleted outside of the resourceEditor program if needed. Just edit the file with your favorite Python editor if some manual tweaking is required that the resourceEditor doesn't support, just make a backup before you start ;-) ka |
From: Kevin A. <al...@se...> - 2005-03-21 16:25:36
|
On Mar 19, 2005, at 7:27 PM, bra...@om... wrote: > > I'm thinking I can get by with a tabbed interface for the main window, > and go with small menu-less child windows for some of the individual > forms. For instance, an Employees tab would show a multiColumnList of > employees with search filters at the top. To edit an employee record, > the user doubleclicks a line and an employee edit window pops up. This > seems like a workable approach. I guess I need to take a look at how > to implement the Notebook. > A tabbed interface seems like the way to go. There is currently no option to toggle the menubar for a window on and off in the resourceEditor. The reason I didn't do that is if someone made a bunch of menus and then accidentally got rid of them they would be pretty upset, and we have no undo feature. Instead when you create your background by using New under the File menu, select the appropriate template, for whether you want menus or not. The "main" menubar is always available to all windows. On the main background, it is just self.menuBar so on a child window you would access it as self.getParent().menuBar. When you use a single menubar and child windows, one of the things you have to watch out for is focus. Your main window will get the focus. If you run with the Message Watcher you'll see the deactivate, loseFocus, activate, loseFocus, gainFocus messages fire. Depending on what you want to do, you'll probably need to use the findFocus() method or some other method of tracking what is going on in your child window and saving that information in an on_deactivate method which you would then access in your main window menu item event handler. ka |
From: Kevin A. <al...@se...> - 2005-03-21 15:53:48
|
On Mar 20, 2005, at 12:31 PM, bra...@om... wrote: > > When I ran my PythonCard application on the Mac, after having built > several screens on Windows XP, I found that the default font size for > the Mac version of PythonCard is much larger than for the Windows > version. Buttons had grown much larger and overlapped with one > another, while static text fields had also grown to overlap with > nearby widgets. > > The default fonts for PythonCard look like the correct fonts for > building Mac user interfaces, and likewise for Windows. I like the > choice of default fonts except for the difference in size between Mac > and Windows. I'd like to change the default size globally, so I don't > have to set an individual font for every widget. Is there a way to do > this? > You'll need to ask on the wxPython-users or wxPython-mac mailing lists, I don't remember offhand how to do it. http://www.wxpython.org/maillist.php ka |
From: Nicolas Arni-B. <Nic...@cu...> - 2005-03-21 13:34:22
|
Hi Brian, here is a previous email they forget to put it in the 8.1 release : http://sourceforge.net/mailarchive/message.php?msg_id=3D9880332 you can find a zip at this url : http://prdownloads.sourceforge.net/pythoncard/testNotebook.zip?downlo= ad just a small trick with NoteBook : dont forget to use=20 model.PageBackground and not basic Background Le 21 mars 05, =E0 14:19, Brian Debuire a =E9crit : > Hi there, > > I've noticed that there is a notebook implementation in Python Card= =20 > shown in testNotebook.py, but where can I find it?? It is not inclu= ded=20 > in my 8.0 version of Python Card, is it included with the lattest= =20 > version?? > > Thanks in advance, > > Brian > > _________________________________________________________________ > Don't just search. Find. Check out the new MSN Search!=20 > http://search.msn.com/ > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real= =20 > users. > Discover which products truly live up to the hype. Start reading no= w. > http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick > _______________________________________________ > Pythoncard-users mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncard-users > |
From: Brian D. <deb...@ho...> - 2005-03-21 13:20:45
|
Hi there, I've noticed that there is a notebook implementation in Python Card shown in testNotebook.py, but where can I find it?? It is not included in my 8.0 version of Python Card, is it included with the lattest version?? Thanks in advance, Brian _________________________________________________________________ Don't just search. Find. Check out the new MSN Search! http://search.msn.com/ |
From: <bra...@om...> - 2005-03-21 02:25:16
|
I've started building my application around the idea of a main tabbed window with a few small child windows spawned, and it seems to be working, but with one problem. Sometimes, when I quit PythonCard, it appears to hang for a few seconds, and the Python GUI environment crashes. Mac OS X presents a dialog saying that Python has unexpectedly quit, and the terminal shows a 'bus error.' This happens about 50% of the time when I quit my app, but I haven't yet taken the time to nail down a pattern. It may happen more when I spawn child windows. I haven't see this problem yet under Windows XP. Here is how I'm initializing the main window, based on the testNotebook.py sample code: class MainWindow(model.Background): def on_initialize(self, event): # if you have any initialization # including sizer setup, do it here self.printer = HtmlEasyPrinting() # self.loadConfig() self.startTitle = self.title win2 = model.childWindow(self.components.notebook, widgets.WidgetsTest) self.components.notebook.AddPage(win2, 'widgets', True) win3 = model.childWindow(self.components.notebook, doodle.Doodle) self.components.notebook.AddPage(win3, 'doodle', True) win4 = model.childWindow(self.components.notebook, tabEmp.MyBackground) self.components.notebook.AddPage(win4, 'Employees', True) win5 = model.childWindow(self.components.notebook, tabMainMenu.MyBackground) self.components.notebook.AddPage(win5, 'Main', True) page = self.components.notebook.getPage(3) size = page.size wx.CallAfter(page.SetSize, size) print "number of pages:", self.components.notebook.getPageCount() print "last page text: %s\n" % \ self.components.notebook.getPageText(self.components.notebook.getPageCount() - 1) print "stringSelection:", self.components.notebook.stringSelection self.components.notebook.stringSelection = 'Main' |
From: Liam C. <cy...@gm...> - 2005-03-20 04:56:58
|
Why not just bind each string to a particular function in a dict? On Sat, 19 Mar 2005 21:32:57 -0600, bra...@om... <bra...@om...> wrote: > > I don't suppose there is a way to accomplish this same goal with a simple > dialog.singleChoiceDialog. I did a dir on the result of singleChoiceDialog, > but didn't see anything that looked promising. I could work backward by > searching the list for the matching string, but that seems kludgy. > > Thanks... > > > pyt...@li... wrote on 03/15/2005 07:59:15 > PM: > > > > Hi Brad, > > > > > > for a multicolumnlist called MCL, because I'm boring - > > > > def on_MCL_itemActivated(self, event): > > wasSelected = self.components.MCL.getStringSelection()[0] > > > > will return the list(line) that was clicked on. > > > > To get an actual index for it, use - > > > > def on_MCL_itemActivated(self, event): > > selectedIndex = event.m_itemIndex > > > > > > I trawled through the wxPython multicolumnlist demo code to find that. > > Remember, 90% of the wxPython tricks you need are in the demo, it's > > just the knack of finding them. > > Only reason I found that is I noticed that when you click an item in > > that demo it prints stuff like this - > > > > OnItemSelected: 5, Billy Joel, Blonde Over Blue, Rock > > > > So yeah... good luck, Pythoncard is great, and very flexible, and it's > > not that often you have to revert to the wx stuff. > > > > > > HTH > > > > Liam Clarke > > -- > > 'There is only one basic human right, and that is to do as you damn > > well please. > > And with it comes the only basic human duty, to take the consequences. > > > > > > ------------------------------------------------------- > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real users. > > Discover which products truly live up to the hype. Start reading now. > > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > > _______________________________________________ > > Pythoncard-users mailing list > > Pyt...@li... > > https://lists.sourceforge.net/lists/listinfo/pythoncard-users > -- 'There is only one basic human right, and that is to do as you damn well please. And with it comes the only basic human duty, to take the consequences. |
From: <bra...@om...> - 2005-03-20 03:33:43
|
I don't suppose there is a way to accomplish this same goal with a simple dialog.singleChoiceDialog. I did a dir on the result of singleChoiceDialog, but didn't see anything that looked promising. I could work backward by searching the list for the matching string, but that seems kludgy. Thanks... pyt...@li... wrote on 03/15/2005 07:59:15 PM: > Hi Brad, > > > for a multicolumnlist called MCL, because I'm boring - > > def on_MCL_itemActivated(self, event): > wasSelected = self.components.MCL.getStringSelection()[0] > > will return the list(line) that was clicked on. > > To get an actual index for it, use - > > def on_MCL_itemActivated(self, event): > selectedIndex = event.m_itemIndex > > > I trawled through the wxPython multicolumnlist demo code to find that. > Remember, 90% of the wxPython tricks you need are in the demo, it's > just the knack of finding them. > Only reason I found that is I noticed that when you click an item in > that demo it prints stuff like this - > > OnItemSelected: 5, Billy Joel, Blonde Over Blue, Rock > > So yeah... good luck, Pythoncard is great, and very flexible, and it's > not that often you have to revert to the wx stuff. > > > HTH > > Liam Clarke > -- > 'There is only one basic human right, and that is to do as you damn > well please. > And with it comes the only basic human duty, to take the consequences. > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Pythoncard-users mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncard-users |
From: <bra...@om...> - 2005-03-20 03:28:23
|
I'm thinking I can get by with a tabbed interface for the main window, and go with small menu-less child windows for some of the individual forms. For instance, an Employees tab would show a multiColumnList of employees with search filters at the top. To edit an employee record, the user doubleclicks a line and an employee edit window pops up. This seems like a workable approach. I guess I need to take a look at how to implement the Notebook. Liam Clarke <cy...@gm...> wrote on 03/19/2005 09:03:05 PM: > Pythoncard in itself can be a bit experimental. All I can say is unit > test, unit test, unit test. > That said, Pythoncard is very versatile in unexpected ways, especially > with the ability to tweak & fiddle by dropping to the underlying wx > methods. > > Sound like you need a multiframe window, which Pythoncard doesn't do > at the mo, AFAIK. > > Good luck with the MDI. > > Regards, > > Liam Clarke > > On Sat, 19 Mar 2005 20:23:59 -0600, bra...@om... > <bra...@om...> wrote: > > > > Hm...my app has a lot of fairly small windows, since it's a database front > > end with a lot of small forms and lists (not 'documents', per se). It seems > > a little odd for each one to have an individual menubar containing global > > navigation features. I guess that pushes me toward the single window tabbed > > interface approach. The sample demo for tabbed interface (testNotebook) > > looks good, but I get the impression that the Notebook for PythonCard is > > still somewhat experimental. Should I expect problems if I start using it? > > > > Thanks! > > > > > > > > Brad Allen wrote: > > > > > > Hm...I don't see that option on any of my windows under Background > > > Info. I'm using PythonCard .81 with Python 2.3 under Windows XP . I > > > do see a checkbox called "Status bar on Window", but unchecking that > > > had no effect that I could see. The menus on my primary parent > > > window are still not available in child windows. > > > > > > To clarify, what I'm trying to accomplish here is an overarching > > > application window which contains other windows. At least, that's > > > what it would look like under Windows. > > > > Alex Tweedly wrote on 03/19/2005 07:49:39 PM: > > > > > > > That's (I think, from your description) the old Windows MDI > > > (multiple doc interface) style - a single window, with a menu and > > > one or more "document" windows - such as Adobe Photoshop Elements > > > (though it adds palettes and floating toolbars and other extras). > > > Another example would be old versions of Word, Excel, etc. > > > > > > That style has been largely deprecated by MS in favour of either > > > their SDI (Single Doc Interface), such as recent versions of Word, > > > Excel, etc., where each doc window has its own set of menus (and > > > there may also be palettes, etc.), or notebook / tabbed styles. > > > > > > There's no direct support for MDI in Pythoncard - though I believe > > > you can achieve it using wxPython directly to create the sub- > > > windows. For what it's worth, I'd recommend against this - it really > > > is "last decade's" style :-) > > > > > > Personally, I think the notebook/tabbed style is the way to go, with > > > separate child windows (probably menu-less) for any additional child > > > windows which are not "document" windows. > > > > > > There is something of a "myth" that MDI is "the Windows way to do > > > it" - resulting from the old version of MS products - but if you > > > look closely at current products (not just from MS), most of them > > > have abandoned that style in favour of one of the other styles. > > > On a Mac, it would just be an menubar globally available and > > > applicable independent of which window happened to be active. I'm > > > not clear on how to accomplish this in PythonCard. > > > Sorry, can't say anything about Mac. > > > -- > > > Alex Tweedly http://www.tweedly.net > > > No virus found in this outgoing message. > > > Checked by AVG Anti-Virus. > > > Version: 7.0.308 / Virus Database: 266.7.4 - Release Date: 18/03/2005 > > > > > -- > 'There is only one basic human right, and that is to do as you damn > well please. > And with it comes the only basic human duty, to take the consequences. |
From: Liam C. <cy...@gm...> - 2005-03-20 03:03:13
|
Pythoncard in itself can be a bit experimental. All I can say is unit test, unit test, unit test. That said, Pythoncard is very versatile in unexpected ways, especially with the ability to tweak & fiddle by dropping to the underlying wx methods. Sound like you need a multiframe window, which Pythoncard doesn't do at the mo, AFAIK. Good luck with the MDI. Regards, Liam Clarke On Sat, 19 Mar 2005 20:23:59 -0600, bra...@om... <bra...@om...> wrote: > > Hm...my app has a lot of fairly small windows, since it's a database front > end with a lot of small forms and lists (not 'documents', per se). It seems > a little odd for each one to have an individual menubar containing global > navigation features. I guess that pushes me toward the single window tabbed > interface approach. The sample demo for tabbed interface (testNotebook) > looks good, but I get the impression that the Notebook for PythonCard is > still somewhat experimental. Should I expect problems if I start using it? > > Thanks! > > > > Brad Allen wrote: > > > > Hm...I don't see that option on any of my windows under Background > > Info. I'm using PythonCard .81 with Python 2.3 under Windows XP . I > > do see a checkbox called "Status bar on Window", but unchecking that > > had no effect that I could see. The menus on my primary parent > > window are still not available in child windows. > > > > To clarify, what I'm trying to accomplish here is an overarching > > application window which contains other windows. At least, that's > > what it would look like under Windows. > > Alex Tweedly wrote on 03/19/2005 07:49:39 PM: > > > > That's (I think, from your description) the old Windows MDI > > (multiple doc interface) style - a single window, with a menu and > > one or more "document" windows - such as Adobe Photoshop Elements > > (though it adds palettes and floating toolbars and other extras). > > Another example would be old versions of Word, Excel, etc. > > > > That style has been largely deprecated by MS in favour of either > > their SDI (Single Doc Interface), such as recent versions of Word, > > Excel, etc., where each doc window has its own set of menus (and > > there may also be palettes, etc.), or notebook / tabbed styles. > > > > There's no direct support for MDI in Pythoncard - though I believe > > you can achieve it using wxPython directly to create the sub- > > windows. For what it's worth, I'd recommend against this - it really > > is "last decade's" style :-) > > > > Personally, I think the notebook/tabbed style is the way to go, with > > separate child windows (probably menu-less) for any additional child > > windows which are not "document" windows. > > > > There is something of a "myth" that MDI is "the Windows way to do > > it" - resulting from the old version of MS products - but if you > > look closely at current products (not just from MS), most of them > > have abandoned that style in favour of one of the other styles. > > On a Mac, it would just be an menubar globally available and > > applicable independent of which window happened to be active. I'm > > not clear on how to accomplish this in PythonCard. > > Sorry, can't say anything about Mac. > > -- > > Alex Tweedly http://www.tweedly.net > > No virus found in this outgoing message. > > Checked by AVG Anti-Virus. > > Version: 7.0.308 / Virus Database: 266.7.4 - Release Date: 18/03/2005 > -- 'There is only one basic human right, and that is to do as you damn well please. And with it comes the only basic human duty, to take the consequences. |
From: <bra...@om...> - 2005-03-20 02:24:37
|
Hm...my app has a lot of fairly small windows, since it's a database front end with a lot of small forms and lists (not 'documents', per se). It seems a little odd for each one to have an individual menubar containing global navigation features. I guess that pushes me toward the single window tabbed interface approach. The sample demo for tabbed interface (testNotebook) looks good, but I get the impression that the Notebook for PythonCard is still somewhat experimental. Should I expect problems if I start using it? Thanks! Brad Allen wrote: > > Hm...I don't see that option on any of my windows under Background > Info. I'm using PythonCard .81 with Python 2.3 under Windows XP . I > do see a checkbox called "Status bar on Window", but unchecking that > had no effect that I could see. The menus on my primary parent > window are still not available in child windows. > > To clarify, what I'm trying to accomplish here is an overarching > application window which contains other windows. At least, that's > what it would look like under Windows. Alex Tweedly wrote on 03/19/2005 07:49:39 PM: > That's (I think, from your description) the old Windows MDI > (multiple doc interface) style - a single window, with a menu and > one or more "document" windows - such as Adobe Photoshop Elements > (though it adds palettes and floating toolbars and other extras). > Another example would be old versions of Word, Excel, etc. > > That style has been largely deprecated by MS in favour of either > their SDI (Single Doc Interface), such as recent versions of Word, > Excel, etc., where each doc window has its own set of menus (and > there may also be palettes, etc.), or notebook / tabbed styles. > > There's no direct support for MDI in Pythoncard - though I believe > you can achieve it using wxPython directly to create the sub- > windows. For what it's worth, I'd recommend against this - it really > is "last decade's" style :-) > > Personally, I think the notebook/tabbed style is the way to go, with > separate child windows (probably menu-less) for any additional child > windows which are not "document" windows. > > There is something of a "myth" that MDI is "the Windows way to do > it" - resulting from the old version of MS products - but if you > look closely at current products (not just from MS), most of them > have abandoned that style in favour of one of the other styles. > On a Mac, it would just be an menubar globally available and > applicable independent of which window happened to be active. I'm > not clear on how to accomplish this in PythonCard. > Sorry, can't say anything about Mac. > -- > Alex Tweedly http://www.tweedly.net > No virus found in this outgoing message. > Checked by AVG Anti-Virus. > Version: 7.0.308 / Virus Database: 266.7.4 - Release Date: 18/03/2005 |
From: <bra...@om...> - 2005-03-20 02:01:22
|
The same as HyperCard, too. I should have guessed! Thanks! pyt...@li... wrote on 03/19/2005 06:41:53 PM: > Here you go - > > def on_keyPress(self, event): > #Get the object that was typed into > eventSourceWidget = event.target > > Just like Javascript DOM : ) > > Regards, > > > Liam Clarke > > On Sat, 19 Mar 2005 18:25:37 -0600, bra...@om... > <bra...@om...> wrote: > > > > I was glad to discover that generic event handlers such as 'on_closefield' > > (without the widget name) appear to be available in PythonCard, but I didn't > > see this in any documentation. I just gave it a try because that was how > > HyperCard worked. > > > > HyperCard had a function called "the target" which returned the name of the > > widget from which the event was originally generated. Is there any such > > equivalent method in PythonCard? > > > > I'd like to subclass model.Background with a class that could intercept and > > process events from all my various backgrounds. This could save me from > > having to define an individual event handler for every single widget, at > > least in cases where these widgets all have features in common. > > > > Thanks! > > > > > > > -- > 'There is only one basic human right, and that is to do as you damn > well please. > And with it comes the only basic human duty, to take the consequences. > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Pythoncard-users mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncard-users |