cleanup - reformat

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Surovell
2006-01-06 21:14:34 +00:00
parent 0d8c57c006
commit 5a7d70fe89
3 changed files with 250 additions and 234 deletions

View File

@@ -12,45 +12,41 @@
#include "wx/wxprec.h"
#include "wx/icon.h"
IMPLEMENT_DYNAMIC_CLASS(wxIcon, wxBitmap)
#include "wx/image.h"
#include "wx/mac/private.h"
IMPLEMENT_DYNAMIC_CLASS(wxIcon, wxBitmap)
#define M_ICONDATA ((wxIconRefData *)m_refData)
/*
* Icons
*/
wxIcon::wxIcon()
{
}
wxIcon::wxIcon(const char bits[], int width, int height)
wxIcon::wxIcon( const char bits[], int width, int height )
{
wxBitmap bmp(bits,width,height) ;
wxBitmap bmp( bits, width, height ) ;
CopyFromBitmap( bmp ) ;
}
wxIcon::wxIcon( const char **bits )
{
wxBitmap bmp(bits) ;
wxBitmap bmp( bits ) ;
CopyFromBitmap( bmp ) ;
}
wxIcon::wxIcon( char **bits )
{
wxBitmap bmp(bits) ;
wxBitmap bmp( bits ) ;
CopyFromBitmap( bmp ) ;
}
wxIcon::wxIcon(const wxString& icon_file, int flags,
int desiredWidth, int desiredHeight)
wxIcon::wxIcon(
const wxString& icon_file, int flags,
int desiredWidth, int desiredHeight )
{
LoadFile(icon_file, (wxBitmapType) flags, desiredWidth, desiredHeight);
LoadFile( icon_file, (wxBitmapType) flags, desiredWidth, desiredHeight );
}
wxIcon::~wxIcon()
@@ -60,6 +56,7 @@ wxIcon::~wxIcon()
WXHICON wxIcon::GetHICON() const
{
wxASSERT( Ok() ) ;
return (WXHICON) ((wxIconRefData*)m_refData)->GetHICON() ;
}
@@ -77,20 +74,21 @@ int wxIcon::GetHeight() const
return M_ICONDATA->GetHeight();
}
int wxIcon::GetDepth() const{
int wxIcon::GetDepth() const
{
return 32;
}
void wxIcon::SetDepth(int depth){
void wxIcon::SetDepth( int depth )
{
}
void wxIcon::SetWidth(int width){
void wxIcon::SetWidth( int width )
{
}
void wxIcon::SetHeight(int height){
void wxIcon::SetHeight( int height )
{
}
bool wxIcon::Ok() const
@@ -98,14 +96,16 @@ bool wxIcon::Ok() const
return m_refData != NULL ;
}
bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type,
int desiredWidth, int desiredHeight)
bool wxIcon::LoadFile(
const wxString& filename, wxBitmapType type,
int desiredWidth, int desiredHeight )
{
UnRef();
if ( type == wxBITMAP_TYPE_ICON_RESOURCE )
{
OSType theId = 0 ;
if ( filename == wxT("wxICON_INFORMATION") )
{
theId = kAlertNoteIcon ;
@@ -123,7 +123,8 @@ bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type,
theId = kAlertStopIcon ;
}
else
{/*
{
#if 0
Str255 theName ;
OSType theType ;
wxMacStringToPascal( name , theName ) ;
@@ -134,38 +135,43 @@ bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type,
GetResInfo( resHandle , &theId , &theType , theName ) ;
ReleaseResource( resHandle ) ;
}
*/
#endif
}
if ( theId != 0 )
{
IconRef iconRef = NULL ;
verify_noerr(GetIconRef(kOnSystemDisk,kSystemIconsCreator,theId, &iconRef)) ;
verify_noerr( GetIconRef( kOnSystemDisk, kSystemIconsCreator, theId, &iconRef ) ) ;
if ( iconRef )
{
m_refData = new wxIconRefData( (WXHICON) iconRef ) ;
return TRUE ;
return true ;
}
}
return FALSE ;
return false ;
}
else
{
wxBitmapHandler *handler = wxBitmap::FindHandler(type);
wxBitmapHandler *handler = wxBitmap::FindHandler( type );
if ( handler )
{
wxBitmap bmp ;
if ( handler->LoadFile(&bmp , filename, type, desiredWidth, desiredHeight ))
if ( handler->LoadFile( &bmp , filename, type, desiredWidth, desiredHeight ))
{
CopyFromBitmap( bmp ) ;
return true ;
}
return false ;
}
else
{
#if wxUSE_IMAGE
wxImage loadimage(filename, type);
wxImage loadimage( filename, type );
if (loadimage.Ok())
{
if ( desiredWidth == -1 )
@@ -174,8 +180,10 @@ bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type,
desiredHeight = loadimage.GetHeight() ;
if ( desiredWidth != loadimage.GetWidth() || desiredHeight != loadimage.GetHeight() )
loadimage.Rescale( desiredWidth , desiredHeight ) ;
wxBitmap bmp( loadimage );
CopyFromBitmap( bmp ) ;
return true;
}
#endif
@@ -184,13 +192,14 @@ bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type,
return true ;
}
void wxIcon::CopyFromBitmap(const wxBitmap& bmp)
void wxIcon::CopyFromBitmap( const wxBitmap& bmp )
{
UnRef() ;
// as the bitmap owns that ref, we have to acquire it as well
IconRef iconRef = bmp.GetBitmapData()->GetIconRef() ;
AcquireIconRef( iconRef ) ;
m_refData = new wxIconRefData( (WXHICON) iconRef ) ;
M_ICONDATA->SetWidth( bmp.GetWidth() ) ;
M_ICONDATA->SetHeight( bmp.GetHeight() ) ;
@@ -199,7 +208,8 @@ void wxIcon::CopyFromBitmap(const wxBitmap& bmp)
wxIconRefData::wxIconRefData( WXHICON icon )
{
m_iconRef = MAC_WXHICON( icon ) ;
// Std sizes
// Standard sizes
SetWidth( 32 ) ;
SetHeight( 32 ) ;
}
@@ -220,11 +230,14 @@ void wxIconRefData::Free()
IMPLEMENT_DYNAMIC_CLASS(wxICONResourceHandler, wxBitmapHandler)
bool wxICONResourceHandler::LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
int desiredWidth, int desiredHeight)
bool wxICONResourceHandler::LoadFile(
wxBitmap *bitmap, const wxString& name, long flags,
int desiredWidth, int desiredHeight )
{
wxIcon icon ;
icon.LoadFile( name , wxBITMAP_TYPE_ICON_RESOURCE , desiredWidth , desiredHeight ) ;
bitmap->CopyFromIcon( icon ) ;
return bitmap->Ok() ;
}

View File

@@ -107,13 +107,13 @@ bool wxMDIParentFrame::Create(wxWindow *parent,
wxMDIParentFrame::~wxMDIParentFrame()
{
DestroyChildren();
// already deleted by DestroyChildren()
m_clientWindow = NULL ;
delete m_windowMenu;
}
void wxMDIParentFrame::SetMenuBar(wxMenuBar *menu_bar)
{
wxFrame::SetMenuBar( menu_bar ) ;
@@ -121,11 +121,12 @@ void wxMDIParentFrame::SetMenuBar(wxMenuBar *menu_bar)
void wxMDIParentFrame::GetRectForTopLevelChildren(int *x, int *y, int *w, int *h)
{
if(x)
if (x)
*x = 0;
if(y)
if (y)
*y = 0;
wxDisplaySize(w,h);
wxDisplaySize(w, h);
}
void wxMDIParentFrame::AddChild(wxWindowBase *child)
@@ -185,45 +186,51 @@ void wxMDIParentFrame::RemoveChild(wxWindowBase *child)
void wxMDIParentFrame::MacActivate(long timestamp, bool activating)
{
wxLogTrace(TRACE_MDI, wxT("MDI PARENT=%p MacActivate(0x%08lx,%s)"),this,timestamp,activating?wxT("ACTIV"):wxT("deact"));
if(activating)
wxLogTrace(TRACE_MDI, wxT("MDI PARENT=%p MacActivate(0x%08lx,%s)"), this, timestamp, activating ? wxT("ACTIV") : wxT("deact"));
if (activating)
{
if(s_macDeactivateWindow && s_macDeactivateWindow->GetParent()==this)
if (s_macDeactivateWindow && s_macDeactivateWindow->GetParent() == this)
{
wxLogTrace(TRACE_MDI, wxT("child had been scheduled for deactivation, rehighlighting"));
UMAHighlightAndActivateWindow((WindowRef)s_macDeactivateWindow->MacGetWindowRef(), true);
wxLogTrace(TRACE_MDI, wxT("done highliting child"));
wxLogTrace(TRACE_MDI, wxT("finished highliting child"));
s_macDeactivateWindow = NULL;
}
else if(s_macDeactivateWindow == this)
else if (s_macDeactivateWindow == this)
{
wxLogTrace(TRACE_MDI, wxT("Avoided deactivation/activation of this=%p"), this);
s_macDeactivateWindow = NULL;
}
else // window to deactivate is NULL or is not us or one of our kids
{
// activate kid instead
if(m_currentChild)
m_currentChild->MacActivate(timestamp,activating);
if (m_currentChild)
m_currentChild->MacActivate(timestamp, activating);
else
wxFrame::MacActivate(timestamp,activating);
wxFrame::MacActivate(timestamp, activating);
}
}
else
{
// We were scheduled for deactivation, and now we do it.
if(s_macDeactivateWindow==this)
if (s_macDeactivateWindow == this)
{
s_macDeactivateWindow = NULL;
if(m_currentChild)
m_currentChild->MacActivate(timestamp,activating);
wxFrame::MacActivate(timestamp,activating);
if (m_currentChild)
m_currentChild->MacActivate(timestamp, activating);
wxFrame::MacActivate(timestamp, activating);
}
else // schedule ourselves for deactivation
{
if(s_macDeactivateWindow)
wxLogTrace(TRACE_MDI, wxT("window=%p SHOULD have been deactivated, oh well!"),s_macDeactivateWindow);
if (s_macDeactivateWindow)
wxLogTrace(TRACE_MDI, wxT("window=%p SHOULD have been deactivated, oh well!"), s_macDeactivateWindow);
wxLogTrace(TRACE_MDI, wxT("Scheduling delayed MDI Parent deactivation"));
s_macDeactivateWindow = this;
}
}
@@ -245,6 +252,7 @@ wxMDIChildFrame *wxMDIParentFrame::GetActiveChild() const
wxMDIClientWindow *wxMDIParentFrame::OnCreateClient()
{
m_clientWindow = new wxMDIClientWindow( this );
return m_clientWindow;
}
@@ -295,7 +303,7 @@ bool wxMDIParentFrame::ShouldBeVisible() const
&& !wxDynamicCast(win, wxMDIChildFrame)
#if wxUSE_STATUSBAR
&& win != GetStatusBar()
#endif // wxUSE_STATUSBAR
#endif
&& win != GetClientWindow() )
{
// if we have a non-MDI child, do remain visible so that it could
@@ -321,6 +329,7 @@ bool wxMDIParentFrame::Show( bool show )
// don't make the window visible now but remember that we should
// have had done it
m_shouldBeShown = true;
return false;
}
}
@@ -355,9 +364,10 @@ bool wxMDIChildFrame::Create(wxMDIParentFrame *parent,
else
m_windowId = (int)NewControlId();
if (parent) parent->AddChild(this);
if (parent)
parent->AddChild(this);
MacCreateRealWindow( title, pos , size , MacRemoveBordersFromStyle(style) , name ) ;
SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE));

View File

@@ -9,13 +9,6 @@
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
// declarations
// ============================================================================
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#include "wx/wxprec.h"
#if wxUSE_NOTEBOOK
@@ -27,18 +20,12 @@
#include "wx/image.h"
#include "wx/notebook.h"
#include "wx/mac/uma.h"
// ----------------------------------------------------------------------------
// macros
// ----------------------------------------------------------------------------
// check that the page index is valid
#define IS_VALID_PAGE(nPage) ((nPage) < GetPageCount())
// ----------------------------------------------------------------------------
// event table
// ----------------------------------------------------------------------------
DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED)
DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING)
@@ -53,13 +40,6 @@ END_EVENT_TABLE()
IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxCommandEvent)
// ============================================================================
// implementation
// ============================================================================
// ----------------------------------------------------------------------------
// wxNotebook construction
// ----------------------------------------------------------------------------
// common part of all ctors
void wxNotebook::Init()
@@ -74,63 +54,72 @@ wxNotebook::wxNotebook()
}
// the same arguments as for wxControl
wxNotebook::wxNotebook(wxWindow *parent,
wxNotebook::wxNotebook( wxWindow *parent,
wxWindowID id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name)
const wxString& name )
{
Init();
Create(parent, id, pos, size, style, name);
Create( parent, id, pos, size, style, name );
}
// Create() function
bool wxNotebook::Create(wxWindow *parent,
bool wxNotebook::Create( wxWindow *parent,
wxWindowID id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name)
const wxString& name )
{
m_macIsUserPane = false ;
if ( !wxNotebookBase::Create(parent, id, pos, size, style, name) )
if ( !wxNotebookBase::Create( parent, id, pos, size, style, name ) )
return false;
Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ;
Rect bounds = wxMacGetBoundsForControl( this, pos, size );
if( bounds.right <= bounds.left )
bounds.right = bounds.left + 100 ;
if ( bounds.right <= bounds.left )
bounds.right = bounds.left + 100;
if ( bounds.bottom <= bounds.top )
bounds.bottom = bounds.top + 100 ;
bounds.bottom = bounds.top + 100;
UInt16 tabstyle = kControlTabDirectionNorth ;
UInt16 tabstyle = kControlTabDirectionNorth;
if ( HasFlag(wxBK_LEFT) )
tabstyle = kControlTabDirectionWest ;
tabstyle = kControlTabDirectionWest;
else if ( HasFlag( wxBK_RIGHT ) )
tabstyle = kControlTabDirectionEast ;
tabstyle = kControlTabDirectionEast;
else if ( HasFlag( wxBK_BOTTOM ) )
tabstyle = kControlTabDirectionSouth ;
tabstyle = kControlTabDirectionSouth;
ControlTabSize tabsize = kControlTabSizeLarge ;
if ( GetWindowVariant() == wxWINDOW_VARIANT_SMALL )
tabsize = kControlTabSizeSmall ;
else if ( GetWindowVariant() == wxWINDOW_VARIANT_MINI )
ControlTabSize tabsize;
switch (GetWindowVariant())
{
if (UMAGetSystemVersion() >= 0x1030 )
case wxWINDOW_VARIANT_MINI:
if ( UMAGetSystemVersion() >= 0x1030 )
tabsize = 3 ;
else
tabsize = kControlSizeSmall;
break;
case wxWINDOW_VARIANT_SMALL:
tabsize = kControlTabSizeSmall;
break;
default:
tabsize = kControlTabSizeLarge;
break;
}
m_peer = new wxMacControl(this) ;
verify_noerr ( CreateTabsControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds ,
tabsize , tabstyle, 0, NULL, m_peer->GetControlRefAddr() ) );
m_peer = new wxMacControl( this );
OSStatus err = CreateTabsControl(
MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds,
tabsize, tabstyle, 0, NULL, m_peer->GetControlRefAddr() );
verify_noerr( err );
MacPostControlCreate( pos, size );
MacPostControlCreate(pos,size) ;
return true ;
}
@@ -160,12 +149,12 @@ void wxNotebook::SetPageSize(const wxSize& size)
wxSize wxNotebook::CalcSizeFromPage(const wxSize& sizePage) const
{
return DoGetSizeFromClientSize( sizePage ) ;
return DoGetSizeFromClientSize( sizePage );
}
int wxNotebook::SetSelection(size_t nPage)
{
wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("notebook page out of range") );
wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("SetSelection: invalid notebook page") );
if ( int(nPage) != m_nSelection )
{
@@ -188,7 +177,7 @@ int wxNotebook::SetSelection(size_t nPage)
bool wxNotebook::SetPageText(size_t nPage, const wxString& strText)
{
wxASSERT( IS_VALID_PAGE(nPage) );
wxCHECK_MSG( IS_VALID_PAGE(nPage), false, wxT("SetPageText: invalid notebook page") );
wxNotebookPage *page = m_pages[nPage];
page->SetLabel(strText);
@@ -199,25 +188,26 @@ bool wxNotebook::SetPageText(size_t nPage, const wxString& strText)
wxString wxNotebook::GetPageText(size_t nPage) const
{
wxASSERT( IS_VALID_PAGE(nPage) );
wxCHECK_MSG( IS_VALID_PAGE(nPage), wxEmptyString, wxT("GetPageText: invalid notebook page") );
wxNotebookPage *page = m_pages[nPage];
return page->GetLabel();
}
int wxNotebook::GetPageImage(size_t nPage) const
{
wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, _T("invalid notebook page") );
wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("GetPageImage: invalid notebook page") );
return m_images[nPage];
}
bool wxNotebook::SetPageImage(size_t nPage, int nImage)
{
wxCHECK_MSG( IS_VALID_PAGE(nPage), false, _T("invalid notebook page") );
wxCHECK_MSG( IS_VALID_PAGE(nPage), false,
wxT("SetPageImage: invalid notebook page") );
wxCHECK_MSG( m_imageList && nImage < m_imageList->GetImageCount(), false,
_T("invalid image index in SetPageImage()") );
wxT("SetPageImage: invalid image index") );
if ( nImage != m_images[nPage] )
{
@@ -239,19 +229,22 @@ bool wxNotebook::SetPageImage(size_t nPage, int nImage)
// remove one page from the notebook, without deleting the window
wxNotebookPage* wxNotebook::DoRemovePage(size_t nPage)
{
wxCHECK( IS_VALID_PAGE(nPage), NULL );
wxCHECK_MSG( IS_VALID_PAGE(nPage), NULL,
wxT("DoRemovePage: invalid notebook page") );
wxNotebookPage* page = m_pages[nPage] ;
m_pages.RemoveAt(nPage);
MacSetupTabs();
if(m_nSelection >= (int)GetPageCount()) {
if (m_nSelection >= (int)GetPageCount())
m_nSelection = GetPageCount() - 1;
}
if(m_nSelection >= 0) {
if (m_nSelection >= 0)
m_pages[m_nSelection]->Show(true);
}
InvalidateBestSize();
return page;
}
@@ -262,38 +255,35 @@ bool wxNotebook::DeleteAllPages()
MacSetupTabs();
m_nSelection = -1 ;
InvalidateBestSize();
return true;
}
// same as AddPage() but does it at given position
bool wxNotebook::InsertPage(size_t nPage,
wxNotebookPage *pPage,
const wxString& strText,
bool bSelect,
int imageId)
int imageId )
{
if ( !wxNotebookBase::InsertPage(nPage, pPage, strText, bSelect, imageId) )
if ( !wxNotebookBase::InsertPage( nPage, pPage, strText, bSelect, imageId ) )
return false;
wxASSERT_MSG( pPage->GetParent() == this,
_T("notebook pages must have notebook as parent") );
wxASSERT_MSG( pPage->GetParent() == this, wxT("notebook pages must have notebook as parent") );
// don't show pages by default (we'll need to adjust their size first)
pPage->Show( false ) ;
pPage->SetLabel(strText);
pPage->SetLabel( strText );
m_images.Insert(imageId, nPage);
m_images.Insert( imageId, nPage );
MacSetupTabs();
wxRect rect = GetPageRect() ;
pPage->SetSize(rect);
if ( pPage->GetAutoLayout() ) {
pPage->SetSize( rect );
if ( pPage->GetAutoLayout() )
pPage->Layout();
}
// now deal with the selection
// ---------------------------
@@ -304,6 +294,7 @@ bool wxNotebook::InsertPage(size_t nPage,
if ( int(nPage) <= m_nSelection )
{
m_nSelection++;
// while this still is the same page showing, we need to update the tabs
m_peer->SetValue( m_nSelection + 1 ) ;
}
@@ -317,25 +308,23 @@ bool wxNotebook::InsertPage(size_t nPage,
selNew = 0;
if ( selNew != -1 )
SetSelection(selNew);
SetSelection( selNew );
InvalidateBestSize();
return true;
}
int wxNotebook::HitTest(const wxPoint& pt, long * flags) const
{
int resultV = wxNOT_FOUND;
#if TARGET_API_MAC_OSX
const int countPages = GetPageCount();
HIPoint hipoint= { pt.x , pt.y } ;
HIPoint hipoint = { pt.x , pt.y } ;
HIViewPartCode outPart = 0 ;
OSStatus err = HIViewGetPartHit (
m_peer->GetControlRef() ,
&hipoint ,
&outPart
);
OSStatus err = HIViewGetPartHit( m_peer->GetControlRef(), &hipoint, &outPart );
int max = m_peer->GetMaximum() ;
if ( outPart == 0 && max > 0 )
@@ -356,23 +345,15 @@ int wxNotebook::HitTest(const wxPoint& pt, long * flags) const
else
m_peer->SetValue( 1 ) ;
err = HIViewGetPartHit (
m_peer->GetControlRef() ,
&hipoint ,
&outPart
);
err = HIViewGetPartHit( m_peer->GetControlRef(), &hipoint, &outPart );
m_peer->SetValue( val ) ;
if ( max == 1 )
{
m_peer->SetMaximum( 1 ) ;
}
}
if ( outPart >= 1 && outPart <= countPages )
{
resultV = outPart ;
}
#endif // TARGET_API_MAC_OSX
if (flags != NULL)
@@ -385,14 +366,15 @@ int wxNotebook::HitTest(const wxPoint& pt, long * flags) const
else
*flags |= wxNB_HITTEST_NOWHERE;
}
return resultV;
}
/* Added by Mark Newsam
* When a page is added or deleted to the notebook this function updates
* information held in the control so that it matches the order
* the user would expect.
*/
// Added by Mark Newsam
// When a page is added or deleted to the notebook this function updates
// information held in the control so that it matches the order
// the user would expect.
//
void wxNotebook::MacSetupTabs()
{
m_peer->SetMaximum( GetPageCount() ) ;
@@ -401,43 +383,46 @@ void wxNotebook::MacSetupTabs()
ControlTabInfoRecV1 info;
const size_t countPages = GetPageCount();
for(size_t ii = 0; ii < countPages; ii++)
for (size_t ii = 0; ii < countPages; ii++)
{
page = m_pages[ii];
info.version = kControlTabInfoVersionOne;
info.iconSuiteID = 0;
wxMacCFStringHolder cflabel( page->GetLabel() , m_font.GetEncoding() ) ;
wxMacCFStringHolder cflabel( page->GetLabel(), m_font.GetEncoding() ) ;
info.name = cflabel ;
m_peer->SetData<ControlTabInfoRecV1>( ii+1, kControlTabInfoTag, &info ) ;
m_peer->SetData<ControlTabInfoRecV1>( ii + 1, kControlTabInfoTag, &info ) ;
if ( GetImageList() && GetPageImage(ii) >= 0 && UMAGetSystemVersion() >= 0x1020 )
{
const wxBitmap bmap = GetImageList()->GetBitmap( GetPageImage(ii ) ) ;
const wxBitmap bmap = GetImageList()->GetBitmap( GetPageImage( ii ) ) ;
if ( bmap.Ok() )
{
ControlButtonContentInfo info ;
wxMacCreateBitmapButton( &info , bmap ) ;
#ifdef __WXDEBUG__
OSStatus err =
#endif // __WXDEBUG__
m_peer->SetData<ControlButtonContentInfo>( ii+1,kControlTabImageContentTag, &info );
wxMacCreateBitmapButton( &info, bmap ) ;
OSStatus err = m_peer->SetData<ControlButtonContentInfo>( ii + 1, kControlTabImageContentTag, &info );
wxASSERT_MSG( err == noErr , wxT("Error when setting icon on tab") ) ;
wxMacReleaseBitmapButton( &info ) ;
}
}
m_peer->SetTabEnabled( ii + 1 , true ) ;
m_peer->SetTabEnabled( ii + 1, true ) ;
}
Rect bounds;
m_peer->GetRectInWindowCoords( &bounds ) ;
InvalWindowRect((WindowRef)MacGetTopLevelWindowRef(), &bounds);
InvalWindowRect( (WindowRef)MacGetTopLevelWindowRef(), &bounds );
}
wxRect wxNotebook::GetPageRect() const
{
wxSize size = GetClientSize() ;
return wxRect( 0 , 0 , size.x , size.y ) ;
}
// ----------------------------------------------------------------------------
// wxNotebook callbacks
// ----------------------------------------------------------------------------
@@ -446,16 +431,16 @@ wxRect wxNotebook::GetPageRect() const
// time because doing it in ::Create() doesn't work (for unknown reasons)
void wxNotebook::OnSize(wxSizeEvent& event)
{
unsigned int nCount = m_pages.Count();
wxRect rect = GetPageRect() ;
for ( unsigned int nPage = 0; nPage < nCount; nPage++ ) {
for ( unsigned int nPage = 0; nPage < nCount; nPage++ )
{
wxNotebookPage *pPage = m_pages[nPage];
pPage->SetSize(rect);
if ( pPage->GetAutoLayout() ) {
if ( pPage->GetAutoLayout() )
pPage->Layout();
}
}
// Processing continues to next OnSize
event.Skip();
@@ -482,11 +467,13 @@ void wxNotebook::OnSetFocus(wxFocusEvent& event)
void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event)
{
if ( event.IsWindowChange() ) {
if ( event.IsWindowChange() )
{
// change pages
AdvanceSelection(event.GetDirection());
AdvanceSelection( event.GetDirection() );
}
else {
else
{
// we get this event in 2 cases
//
// a) one of our pages might have generated it because the user TABbed
@@ -501,7 +488,8 @@ void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event)
// from in this case and so can't choose between setting the focus to
// first or last panel child
wxWindow *parent = GetParent();
// the cast is here to fic a GCC ICE
// the cast is here to fix a GCC ICE
if ( ((wxWindow*)event.GetEventObject()) == parent )
{
// no, it doesn't come from child, case (b): forward to a page
@@ -509,10 +497,10 @@ void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event)
{
// so that the page knows that the event comes from it's parent
// and is being propagated downwards
event.SetEventObject(this);
event.SetEventObject( this );
wxWindow *page = m_pages[m_nSelection];
if ( !page->GetEventHandler()->ProcessEvent(event) )
if ( !page->GetEventHandler()->ProcessEvent( event ) )
{
page->SetFocus();
}
@@ -527,9 +515,10 @@ void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event)
else
{
// it comes from our child, case (a), pass to the parent
if ( parent ) {
event.SetCurrentFocus(this);
parent->GetEventHandler()->ProcessEvent(event);
if ( parent )
{
event.SetCurrentFocus( this );
parent->GetEventHandler()->ProcessEvent( event );
}
}
}
@@ -546,7 +535,7 @@ void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event)
void wxNotebook::SetConstraintSizes(bool WXUNUSED(recurse))
{
// don't set the sizes of the pages - their correct size is not yet known
wxControl::SetConstraintSizes(false);
wxControl::SetConstraintSizes( false );
}
bool wxNotebook::DoPhase(int WXUNUSED(nPhase))
@@ -568,15 +557,16 @@ void wxNotebook::Command(wxCommandEvent& event)
// hide the currently active panel and show the new one
void wxNotebook::ChangePage(int nOldSel, int nSel)
{
if (nOldSel == nSel)
return;
if ( nOldSel != -1 )
{
m_pages[nOldSel]->Show(false);
}
m_pages[nOldSel]->Show( false );
if ( nSel != -1 )
{
wxNotebookPage *pPage = m_pages[nSel];
pPage->Show(true);
pPage->Show( true );
pPage->SetFocus();
}
@@ -591,26 +581,29 @@ wxInt32 wxNotebook::MacControlHit(WXEVENTHANDLERREF WXUNUSED(handler) , WXEVENTR
SInt32 newSel = m_peer->GetValue() - 1 ;
if ( newSel != m_nSelection )
{
wxNotebookEvent changing(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, m_windowId,
newSel , m_nSelection);
changing.SetEventObject(this);
GetEventHandler()->ProcessEvent(changing);
wxNotebookEvent changing(
wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, m_windowId,
newSel , m_nSelection );
changing.SetEventObject( this );
GetEventHandler()->ProcessEvent( changing );
if(changing.IsAllowed())
if ( changing.IsAllowed() )
{
wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, m_windowId,
newSel, m_nSelection);
event.SetEventObject(this);
GetEventHandler()->ProcessEvent(event);
wxNotebookEvent event(
wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, m_windowId,
newSel, m_nSelection );
event.SetEventObject( this );
GetEventHandler()->ProcessEvent( event );
}
else
{
m_peer->SetValue( m_nSelection + 1 ) ;
}
status = noErr ;
}
return status ;
return (wxInt32)status ;
}
#endif