structure code to Cocoa's possibilities, allows tool windows with just a caption and no buttons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
8724973ada
commit
eccdb55165
@ -532,30 +532,10 @@ long style, long extraStyle, const wxString& WXUNUSED(name) )
|
|||||||
if ( style & wxFRAME_TOOL_WINDOW )
|
if ( style & wxFRAME_TOOL_WINDOW )
|
||||||
{
|
{
|
||||||
windowstyle |= NSUtilityWindowMask;
|
windowstyle |= NSUtilityWindowMask;
|
||||||
if ( ( style & wxMINIMIZE_BOX ) || ( style & wxMAXIMIZE_BOX ) ||
|
|
||||||
( style & wxCLOSE_BOX ) || ( style & wxSYSTEM_MENU ) )
|
|
||||||
{
|
|
||||||
windowstyle |= NSTitledWindowMask ;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if ( ( style & wxPOPUP_WINDOW ) )
|
else if ( ( style & wxPOPUP_WINDOW ) )
|
||||||
{
|
{
|
||||||
level = kCGPopUpMenuWindowLevel;
|
level = kCGPopUpMenuWindowLevel;
|
||||||
/*
|
|
||||||
if ( ( style & wxBORDER_NONE ) )
|
|
||||||
{
|
|
||||||
wclass = kHelpWindowClass ; // has no border
|
|
||||||
attr |= kWindowNoShadowAttribute;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
wclass = kPlainWindowClass ; // has a single line border, it will have to do for now
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
else if ( ( style & wxCAPTION ) )
|
|
||||||
{
|
|
||||||
windowstyle |= NSTitledWindowMask ;
|
|
||||||
}
|
}
|
||||||
else if ( ( style & wxFRAME_DRAWER ) )
|
else if ( ( style & wxFRAME_DRAWER ) )
|
||||||
{
|
{
|
||||||
@ -563,40 +543,24 @@ long style, long extraStyle, const wxString& WXUNUSED(name) )
|
|||||||
wclass = kDrawerWindowClass;
|
wclass = kDrawerWindowClass;
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
if ( ( style & wxMINIMIZE_BOX ) || ( style & wxMAXIMIZE_BOX ) ||
|
||||||
// set these even if we have no title, otherwise the controls won't be visible
|
( style & wxCLOSE_BOX ) || ( style & wxSYSTEM_MENU ) || ( style & wxCAPTION ) )
|
||||||
if ( ( style & wxMINIMIZE_BOX ) || ( style & wxMAXIMIZE_BOX ) ||
|
|
||||||
( style & wxCLOSE_BOX ) || ( style & wxSYSTEM_MENU ) )
|
|
||||||
{
|
|
||||||
windowstyle |= NSTitledWindowMask ;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
else if ( ( style & wxNO_BORDER ) )
|
|
||||||
{
|
|
||||||
wclass = kSimpleWindowClass ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
wclass = kPlainWindowClass ;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( windowstyle & NSTitledWindowMask )
|
|
||||||
{
|
{
|
||||||
|
windowstyle |= NSTitledWindowMask ;
|
||||||
if ( ( style & wxMINIMIZE_BOX ) )
|
if ( ( style & wxMINIMIZE_BOX ) )
|
||||||
windowstyle |= NSMiniaturizableWindowMask ;
|
windowstyle |= NSMiniaturizableWindowMask ;
|
||||||
|
|
||||||
if ( ( style & wxMAXIMIZE_BOX ) )
|
if ( ( style & wxMAXIMIZE_BOX ) )
|
||||||
windowstyle |= NSResizableWindowMask ; // TODO showing ZOOM ?
|
|
||||||
|
|
||||||
if ( ( style & wxRESIZE_BORDER ) )
|
|
||||||
windowstyle |= NSResizableWindowMask ;
|
windowstyle |= NSResizableWindowMask ;
|
||||||
|
|
||||||
if ( ( style & wxCLOSE_BOX) )
|
if ( ( style & wxCLOSE_BOX) )
|
||||||
windowstyle |= NSClosableWindowMask ;
|
windowstyle |= NSClosableWindowMask ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( ( style & wxRESIZE_BORDER ) )
|
||||||
|
windowstyle |= NSResizableWindowMask ;
|
||||||
|
|
||||||
if ( extraStyle & wxFRAME_EX_METAL)
|
if ( extraStyle & wxFRAME_EX_METAL)
|
||||||
windowstyle |= NSTexturedBackgroundWindowMask;
|
windowstyle |= NSTexturedBackgroundWindowMask;
|
||||||
|
|
||||||
@ -615,7 +579,16 @@ long style, long extraStyle, const wxString& WXUNUSED(name) )
|
|||||||
backing:NSBackingStoreBuffered
|
backing:NSBackingStoreBuffered
|
||||||
defer:NO
|
defer:NO
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// if we just have a title bar with no buttons needed, hide them
|
||||||
|
if ( (windowstyle & NSTitledWindowMask) &&
|
||||||
|
!(style & wxCLOSE_BOX) && !(style & wxMAXIMIZE_BOX) && !(style & wxMINIMIZE_BOX) )
|
||||||
|
{
|
||||||
|
[[m_macWindow standardWindowButton:NSWindowZoomButton] setHidden:YES];
|
||||||
|
[[m_macWindow standardWindowButton:NSWindowCloseButton] setHidden:YES];
|
||||||
|
[[m_macWindow standardWindowButton:NSWindowMiniaturizeButton] setHidden:YES];
|
||||||
|
}
|
||||||
|
|
||||||
// If the parent is modal, windows with wxFRAME_FLOAT_ON_PARENT style need
|
// If the parent is modal, windows with wxFRAME_FLOAT_ON_PARENT style need
|
||||||
// to be in kCGUtilityWindowLevel and not kCGFloatingWindowLevel to stay
|
// to be in kCGUtilityWindowLevel and not kCGFloatingWindowLevel to stay
|
||||||
// above the parent.
|
// above the parent.
|
||||||
|
Loading…
Reference in New Issue
Block a user