bool wxControl::Show(bool show) { if ( !wxWindow::Show( show ) ) return FALSE ; if ( (ControlHandle) m_macControl ) { if ( !show ) { if ( m_macControlIsShown ) { ::UMAHideControl( (ControlHandle) m_macControl ) ; m_macControlIsShown = false ; } } else { if ( MacIsReallyShown() && !m_macControlIsShown ) { ::UMAShowControl( (ControlHandle) m_macControl ) ; m_macControlIsShown = true ; } } } return TRUE ; }
void wxGLCanvas::MacVisibilityChanged() { if ( MacIsReallyShown() != m_macCanvasIsShown ) { m_macCanvasIsShown = !m_macCanvasIsShown; MacUpdateView(); } wxWindowMac::MacVisibilityChanged() ; }
void wxGLCanvas::MacSuperShown( bool show ) { if ( !show ) { if ( m_macCanvasIsShown ) { m_macCanvasIsShown = false ; SetViewport() ; } } else { if ( MacIsReallyShown() && !m_macCanvasIsShown ) { m_macCanvasIsShown = true ; SetViewport() ; } } wxWindow::MacSuperShown( show ) ; }
bool wxGLCanvas::Show(bool show) { if ( !wxWindow::Show( show ) ) return FALSE ; if ( !show ) { if ( m_macCanvasIsShown ) { m_macCanvasIsShown = false ; SetViewport() ; } } else { if ( MacIsReallyShown() && !m_macCanvasIsShown ) { m_macCanvasIsShown = true ; SetViewport() ; } } return TRUE ; }
void wxControl::MacSuperShown( bool show ) { if ( (ControlHandle) m_macControl ) { if ( !show ) { if ( m_macControlIsShown ) { ::UMAHideControl( (ControlHandle) m_macControl ) ; m_macControlIsShown = false ; } } else { if ( MacIsReallyShown() && !m_macControlIsShown ) { ::UMAShowControl( (ControlHandle) m_macControl ) ; m_macControlIsShown = true ; } } } wxWindow::MacSuperShown( show ) ; }
void wxControl::MacPostControlCreate() { wxASSERT_MSG( (ControlHandle) m_macControl != NULL , wxT("No valid mac control") ) ; DoSetWindowVariant( m_windowVariant ) ; /* if ( IsKindOf( CLASSINFO( wxScrollBar ) ) ) { // no font } else if ( !UMAHasAquaLayout() && (IsKindOf( CLASSINFO( wxStaticBox ) ) || IsKindOf( CLASSINFO( wxRadioBox ) ) || IsKindOf( CLASSINFO( wxButton ) ) ) ) { ControlFontStyleRec controlstyle ; controlstyle.flags = kControlUseFontMask ; controlstyle.font = kControlFontSmallBoldSystemFont ; ::SetControlFontStyle( (ControlHandle) m_macControl , &controlstyle ) ; } else { ControlFontStyleRec controlstyle ; controlstyle.flags = kControlUseFontMask ; if (IsKindOf( CLASSINFO( wxButton ) ) ) controlstyle.font = kControlFontBigSystemFont ; // eventually kControlFontBigSystemFont ; else controlstyle.font = kControlFontSmallSystemFont ; ::SetControlFontStyle( (ControlHandle) m_macControl , &controlstyle ) ; } */ ControlHandle container = (ControlHandle) GetParent()->MacGetContainerForEmbedding() ; wxASSERT_MSG( container != NULL , wxT("No valid mac container control") ) ; ::EmbedControl( (ControlHandle) m_macControl , container ) ; m_macControlIsShown = MacIsReallyShown() ; wxAssociateControlWithMacControl( (ControlHandle) m_macControl , this ) ; if ( wxMacSetupControlBackgroundUPP == NULL ) { wxMacSetupControlBackgroundUPP = NewControlColorUPP( wxMacSetupControlBackground ) ; } if ( wxMacControlActionUPP == NULL ) { wxMacControlActionUPP = NewControlDefUPP( wxMacControlDefinition ) ; } // The following block of code is responsible for crashes when switching // back to windows, which can be seen in the dialogs sample. // It is disabled until a proper solution can be found. #if 0 #if TARGET_CARBON /* only working under classic carbon m_macControlAction = *(**(ControlHandle)m_macControl).contrlDefProc ; (**(ControlHandle)m_macControl).contrlDefProc = (Handle) &wxMacControlActionUPP ; */ #else m_macControlAction = *(**(ControlHandle)m_macControl).contrlDefProc ; cdefHandle cdef ; cdef = (cdefHandle) NewHandle( sizeof(cdefRec) ) ; if ( (**(ControlHandle)m_macControl).contrlDefProc != NULL ) { (**cdef).instruction = 0x4EF9; /* JMP instruction */ (**cdef).function = (void(*)()) wxMacControlActionUPP; (**(ControlHandle)m_macControl).contrlDefProc = (Handle) cdef ; } #endif #endif SetControlColorProc( (ControlHandle) m_macControl , wxMacSetupControlBackgroundUPP ) ; // Adjust the controls size and position wxPoint pos(m_x, m_y); wxSize best_size( DoGetBestSize() ); wxSize new_size( m_width, m_height ); m_x = m_y = m_width = m_height = -1; // Forces SetSize to move/size the control if (new_size.x == -1) { new_size.x = best_size.x; } if (new_size.y == -1) { new_size.y = best_size.y; } SetSize(pos.x, pos.y, new_size.x, new_size.y); #if wxUSE_UNICODE UMASetControlTitle( (ControlHandle) m_macControl , wxStripMenuCodes(m_label) , m_font.GetEncoding() ) ; #endif if ( m_macControlIsShown ) UMAShowControl( (ControlHandle) m_macControl ) ; SetCursor( *wxSTANDARD_CURSOR ) ; Refresh() ; }