Added support for the wxFRAME_FLOAT_ON_PARENT style
Also add a mode for the wxPOPUP_WINDOW style as a temporary hack to make it easier using a wxFrame as a replacement for wxPopupWindow. See how it is used in wxStyledTextCtrl. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -105,6 +105,10 @@ wxMSW
|
|||||||
- Fix lack of spin control update event when control lost focus
|
- Fix lack of spin control update event when control lost focus
|
||||||
- Corrected drawing of bitmaps for disabled menu items
|
- Corrected drawing of bitmaps for disabled menu items
|
||||||
|
|
||||||
|
wxMac
|
||||||
|
|
||||||
|
- Added support for the wxFRAME_FLOAT_ON_PARENT style
|
||||||
|
|
||||||
|
|
||||||
2.8.1
|
2.8.1
|
||||||
-----
|
-----
|
||||||
|
@@ -929,7 +929,7 @@ bool wxTopLevelWindowMac::Create(wxWindow *parent,
|
|||||||
m_windowId = id == -1 ? NewControlId() : id;
|
m_windowId = id == -1 ? NewControlId() : id;
|
||||||
wxWindow::SetLabel( title ) ;
|
wxWindow::SetLabel( title ) ;
|
||||||
|
|
||||||
MacCreateRealWindow( title, pos , size , MacRemoveBordersFromStyle(style) , name ) ;
|
MacCreateRealWindow( title, pos , size , style , name ) ;
|
||||||
|
|
||||||
SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
|
SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
|
||||||
|
|
||||||
@@ -1110,6 +1110,20 @@ void wxTopLevelWindowMac::MacCreateRealWindow(
|
|||||||
wclass = kPlainWindowClass ;
|
wclass = kPlainWindowClass ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ( HasFlag( wxPOPUP_WINDOW ) )
|
||||||
|
{
|
||||||
|
// TEMPORARY HACK!
|
||||||
|
// Until we've got a real wxPopupWindow class on wxMac make it a
|
||||||
|
// little easier for wxFrame to be used to emulate it and workaround
|
||||||
|
// the lack of wxPopupWindow.
|
||||||
|
if ( HasFlag( wxBORDER_NONE ) )
|
||||||
|
wclass = kHelpWindowClass ; // has no border
|
||||||
|
else
|
||||||
|
wclass = kPlainWindowClass ; // has a single line border, it will have to do for now
|
||||||
|
//attr |= kWindowNoShadowAttribute; // turn off the shadow Should we??
|
||||||
|
group = GetWindowGroupOfClass( // float above other windows
|
||||||
|
kFloatingWindowClass) ;
|
||||||
|
}
|
||||||
else if ( HasFlag( wxCAPTION ) )
|
else if ( HasFlag( wxCAPTION ) )
|
||||||
{
|
{
|
||||||
wclass = kDocumentWindowClass ;
|
wclass = kDocumentWindowClass ;
|
||||||
@@ -1156,6 +1170,9 @@ void wxTopLevelWindowMac::MacCreateRealWindow(
|
|||||||
if ( HasFlag(wxSTAY_ON_TOP) )
|
if ( HasFlag(wxSTAY_ON_TOP) )
|
||||||
group = GetWindowGroupOfClass(kUtilityWindowClass) ;
|
group = GetWindowGroupOfClass(kUtilityWindowClass) ;
|
||||||
|
|
||||||
|
if ( HasFlag( wxFRAME_FLOAT_ON_PARENT ) )
|
||||||
|
group = GetWindowGroupOfClass(kFloatingWindowClass) ;
|
||||||
|
|
||||||
attr |= kWindowCompositingAttribute;
|
attr |= kWindowCompositingAttribute;
|
||||||
#if 0 // wxMAC_USE_CORE_GRAPHICS ; TODO : decide on overall handling of high dpi screens (pixel vs userscale)
|
#if 0 // wxMAC_USE_CORE_GRAPHICS ; TODO : decide on overall handling of high dpi screens (pixel vs userscale)
|
||||||
attr |= kWindowFrameworkScaledAttribute;
|
attr |= kWindowFrameworkScaledAttribute;
|
||||||
|
Reference in New Issue
Block a user