Re: wxGlade GUI improvement

Dietmar Schwertberger <[email protected]>
Newsgroups gmane.comp.python.wxglade
Message-ID <[email protected]>
On 5/25/2018 3:29 PM, Brendan Simon (eTRIX) wrote:
> I don't mind the new layout :)

Thanks for the feedback. I'm not really familiar with Mac OS and don't 
have an Apple keyboard, so I'm just testing from time to time with the 
mouse.


> I do like the fact that I can cycle between the three windows (main, 
> design, preview) using the standard apple-tilde key combo, and that 
> all three windows have the same standard window frame styles.

I'm not 100% sure whether I should keep it this way. I find the double 
title bar above and beyond the toolbar annoying.
Maybe you want to try with wx.FRAME_TOOL_WINDOW and provide feedback 
whether this works with e.g. Mission Control:

main.py / wxGladeFrame.__init__:

     style=wx.DEFAULT_FRAME_STYLE | wx.FRAME_TOOL_WINDOW


> The sash handles (or whatever they're called) sort of work, but not 
> well (on Mac at least).  When I drag the window isn't updated until I 
> release the button, so I can't see the what it will look like until I 
> release the drag operation.

I will add wx.SP_LIVE_UPDATE for all platforms. That seems to work well.

> The sash handle also looks non-mac like to me.  It looks wide and and 
> oldish (to me).  But that's a minor thing at this stage.
On Windows 10 the default splitter style results in an invisible sash 
that's a few pixels wide. It's OK, but you need to know that there's a 
splitter.
I agree that on Mac OS it looks clumsy. I have just tried some styles, 
but I could not find a good one.
The wx.SP_THIN_SASH style is too thin, I think. It seems to be one pixel 
only.

Maybe you want to experiment a bit and provide feedback.
The relevant code is also in wxGladeFrame.__init__:

         style = wx.SP_3D  # default, identical to wx.SP_3DBORDER | 
wx.SP_3DSASH
         # style = wx.SP_LIVE_UPDATE | wx.SP_NOBORDER | wx.SP_THIN_SASH  
# alternative
         self.splitter1 = wx.SplitterWindow(self, style=style)
         self.splitter2 = wx.SplitterWindow(self.splitter1, style=style)
         self.palette = wxGladePalettePanel(self.splitter2)


> The widget panel really needs to have scroll bars if the widgets don't 
> fit (i.e. when the sash handles are moved to make the widget panel 
> smaller).

Initially I planned to use a WrapSizer, but that does not work well 
inside a splitter.
I need to find some time for the palette panel and probably need to 
implement a 100% custom panel with automatic placement and re-formatting 
of text and icons. That would also allow to combine some rows. E.g. 
"Containers" and "Sizers" could be combined if the height is reduced.

Anyway, I'm also planning to add a keyboard shortcut and a context menu 
entry like "Add widget here...". I.e. when you select this on a frame or 
an empty slot you get a pop-up or context menu to add a sizer or widget. 
The advantage of this would be that it can be context sensitive and only 
display the widgets that can actually be added. Also it would be 
suitable for people using screenreaders and/or braille displays.


> I feel the "Refresh Preview F5" menu should go in the "Window" menu, 
> along with other similar items.
Sure. Probably I will rename "Windows" to "View" or add a toplevel menu 
entry. Once all new menu items are implemented, I need to re-arrange things.


Regards,

Dietmar

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

_______________________________________________
wxGlade-general mailing list
wxGlade-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/wxglade-general
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.