[wxPython-users] can someone check Mac known issue's?

40 views
Skip to first unread message

Wonjun, Choi

unread,
Mar 22, 2012, 3:45:33 AM3/22/12
to wxPython-users
hello I have many Mac issues include below known issue.
how can I fix this problem?


General Problems:
- After scrolling the screen does not always refresh properly,
eg. scrolling a wxGrid or a wxListCtrl shows this problem.

wxBitmapButton:
- If you during runtime change the bitmap on the button it will not
show the new bitmap until you do a manual refresh call.

wxButton:
- The wxButton.SetForegroundColour does not work at all, and the
wxButton.SetBackgroundColour does not set the background colour
of
the button but on the background behind the button (ugly!).

wxComboBox:
- Appending choices to a combobox after initialization does not
work,
i.e. the new choice does not show up

wxFrame:
- Calling wxFrame.CentreOnScreen() when the frame size is set to
very
big will cause the frame system menu to be hidden underneath the
mac menu.

wxMenu:
- EVT_MENU event IsChecked method always returns 1.

wxNotebook:
- After adding a page to the notebook and selecting it you again
have
to manually call wxNotebook.Refresh to see the new panel inside
the
notebook.
- If you add more pages than the size of the notebook allowes you
will
not get scroll buttons (like you do on eg. wxGTK) but the pages
are
just drawn on the side of the notebook and you can't select them.
- The wxNB_LEFT, wxNB_RIGHT or the wxNB_BOTTOM styles do not work.
- Adding a new page to the notebook with
wxNotebook.AddPage(p, l, selection) and selection is set 1 does
not

select the new page . Note! When calling
wxNotebook.SetSelection()
afterwards still keeps the focus on the old page but the new
selected page is shown.

wxNamedColour:
- Is probably not implemented?!

wxSpinCtrl:
- Calling wxSpinCtrl.Show(true) will disable the widget, even
calling a wxSpinCtrl.Enable(true) afterwards does not help!

wxTimer:
- A wxTimer.IsRunning() call does not give you the correct result
if your timer interval is short i.e. the system load is high.


and also I can see each cursor in each stc in scrolledpanel on MAC.

Wonjun, Choi

Robin Dunn

unread,
Mar 22, 2012, 1:14:51 PM3/22/12
to wxpytho...@googlegroups.com
On 3/22/12 12:45 AM, Wonjun, Choi wrote:
> hello I have many Mac issues include below known issue.
> how can I fix this problem?
>
>
> General Problems:
> - After scrolling the screen does not always refresh properly,
> eg. scrolling a wxGrid or a wxListCtrl shows this problem.

[1]

>
> wxBitmapButton:
> - If you during runtime change the bitmap on the button it will not
> show the new bitmap until you do a manual refresh call.

This is normal, Windows will sometimes behave the same way.

>
> wxButton:
> - The wxButton.SetForegroundColour does not work at all, and the
> wxButton.SetBackgroundColour does not set the background colour
> of
> the button but on the background behind the button (ugly!).

This is expected due to the way that the native button draws itself, and
is also why wxWidgets is not able to guarantee that any visual attribute
change on any native widget will be successful.


>
> wxComboBox:
> - Appending choices to a combobox after initialization does not
> work,
> i.e. the new choice does not show up

[1]

>
> wxFrame:
> - Calling wxFrame.CentreOnScreen() when the frame size is set to
> very
> big will cause the frame system menu to be hidden underneath the
> mac menu.

Yep, known problem.


>
> wxMenu:
> - EVT_MENU event IsChecked method always returns 1.

[1]

>
> wxNotebook:
> - After adding a page to the notebook and selecting it you again
> have
> to manually call wxNotebook.Refresh to see the new panel inside
> the
> notebook.

[1]

> - If you add more pages than the size of the notebook allowes you
> will
> not get scroll buttons (like you do on eg. wxGTK) but the pages
> are
> just drawn on the side of the notebook and you can't select them.

Yep, this is a known issue and is due to limitations in the native
widget. Apple apparently feels that a notebook should never have more
than a few tabs. You should use one of the generic alternatives
instead, such as FlatNotebook.

> - The wxNB_LEFT, wxNB_RIGHT or the wxNB_BOTTOM styles do not work.

Ditto

> - Adding a new page to the notebook with
> wxNotebook.AddPage(p, l, selection) and selection is set 1 does
> not
>
> select the new page . Note! When calling
> wxNotebook.SetSelection()
> afterwards still keeps the focus on the old page but the new
> selected page is shown.

[1]


>
> wxNamedColour:
> - Is probably not implemented?!

That is generic code and so should be present in all builds. Did you
spell it correctly? What error are you getting? [1]

>
> wxSpinCtrl:
> - Calling wxSpinCtrl.Show(true) will disable the widget, even
> calling a wxSpinCtrl.Enable(true) afterwards does not help!

[1]

>
> wxTimer:
> - A wxTimer.IsRunning() call does not give you the correct result
> if your timer interval is short i.e. the system load is high.

That is to be expected on any platform.

>
>
> and also I can see each cursor in each stc in scrolledpanel on MAC.

I'm not sure I understand what you mean with this one. Are you saying
that the caret is still visible and flashing in the STCs that do not
have the focus?


[1] For each of these items please make a small runnable sample that
demonstrates the problem (and nothing else.) If you don't find that you
have made a mistake in how you are using the widget then send the sample
here. Also be sure to let us know which version of OSX you are using
and the version of wxPython and whether you are using the Carbon or
Cocoa build.

--
Robin Dunn
Software Craftsman
http://wxPython.org

C M

unread,
Mar 22, 2012, 1:37:33 PM3/22/12
to wxpytho...@googlegroups.com
   - If you add more pages than the size of the notebook allowes you
will
     not get scroll buttons (like you do on eg. wxGTK) but the pages
are
     just drawn on the side of the notebook and you can't select them.

Yep, this is a known issue and is due to limitations in the native widget.  Apple apparently feels that a notebook should never have more than a few tabs.  You should use one of the generic alternatives instead, such as FlatNotebook.

Wow, that's kind of a serious one.  I had no idea.  Good to learn of it.  Apple may feel that way but that is just not an acceptable response to it:  to break the widget! 

Che

Andrea Gavana

unread,
Mar 22, 2012, 5:33:18 PM3/22/12
to wxpytho...@googlegroups.com

I wholeheartedly agree on this one. I normally am a great admirer of
Apple widgets and tools, but I am sorry to say that they got the
Notebook stuff completely wrong. Not to mention the tabs appearance,
which is sub-par compared to other great-looking Mac widgets.

Andrea.

"Imagination Is The Only Weapon In The War Against Reality."
http://xoomer.alice.it/infinity77/

Robin Dunn

unread,
Mar 22, 2012, 8:28:28 PM3/22/12
to wxpytho...@googlegroups.com

They got rid of the neon blue buttons, notebook tabs and etc. in 10.7 so
things like that look better now. Still not super great, but definitely
better.

최원준

unread,
Mar 24, 2012, 7:58:15 AM3/24/12
to wxpytho...@googlegroups.com
first af all, here is my test code on OSX10.6.8, Python2.7, wxPython2.9.13.1.

http://codepad.org/NiisKmFH

[1] I see the cursor on every stc.

[2] SetForegroundColour method is not working

[3] below code is not working well in attached code.

if not (event.ControlDown() and event.GetKeyCode() == wx.WXK_TAB):
   event.Skip()
   return
flag = wx.NavigationKeyEvent.IsForward
if event.ShiftDown():
    flag = 0
self.Navigate(flag)

Wonjun, Choi

Paul

unread,
Mar 24, 2012, 9:30:48 AM3/24/12
to wxpytho...@googlegroups.com
Also I believe TimeCtrl used with a SpinCtrl has weird behavior on mac, the spin seems to limit you increasing or decreasing the time values when it shouldn't. I'm pretty sure this happens in the demo but I'm not on a mac right now so I can't confirm that. I can double check on Monday and if not put a small example together :) 
 

Tobias Weber

unread,
Mar 24, 2012, 10:56:09 AM3/24/12
to wxpytho...@googlegroups.com


Von meinem iTelefon gesendet

Pls post osx Version and Python / wx.Python version along w/ examples. 

Cheers

최원준

unread,
Mar 26, 2012, 12:56:13 AM3/26/12
to wxpytho...@googlegroups.com
I hope someone can help me.

Paul Wiseman

unread,
Mar 26, 2012, 4:53:45 AM3/26/12
to wxpytho...@googlegroups.com
Hi. I'm running wxpython 2.8.12.1 (mac-unicode) with python 2.7.2 on OSX 10.6.8

I can recreate the problem in the TimeCtrl demo in the first TimeCtrl with the spin button by selecting the minutes column and incrementing the minutes (to 40 let say), then selecting the seconds column and decrementing them down. The problem is the seconds get a lower bound of 60 less the minutes column instead of being able to spin down to 00 and back to 59 and so on.

Robin Dunn

unread,
Mar 26, 2012, 1:23:15 PM3/26/12
to wxpytho...@googlegroups.com

Because the SpinButton on Mac doesn't continue to send UP/DOWN events
when the internal counter has reached its min/max values like it
apparently does on the other platforms. After a quick glance at the
docs I'd say that the official behavior in this case is undefined.

You can work around this by calling the spin button's SetRange method
with a very large negative and positive value

최원준

unread,
Mar 26, 2012, 7:59:12 PM3/26/12
to wxpytho...@googlegroups.com
I see a cursor in every stcs.. help me.
Reply all
Reply to author
Forward
0 new messages