#include "wx/layout.h"
#include "wx/dialog.h"
#include "wx/listbox.h"
+#include "wx/scrolbar.h"
+#include "wx/statbox.h"
#include "wx/button.h"
#include "wx/settings.h"
#include "wx/msgdlg.h"
#include "wx/tabctrl.h"
#include "wx/tooltip.h"
// TODO remove the line below, just for lookup-up convenience CS
-#include "wx/mac/window.h"
+#include "wx/window.h"
#include "wx/menuitem.h"
#include "wx/log.h"
*x = m_width ;
*y = m_height ;
- *x -= 2 * MacGetBorderSize( ) ;
- *y -= 2 * MacGetBorderSize( ) ;
+ *x -= MacGetLeftBorderSize( ) + MacGetRightBorderSize( ) ;
+ *y -= MacGetTopBorderSize( ) + MacGetBottomBorderSize( );
if ( (m_vScrollBar && m_vScrollBar->IsShown()) || (m_hScrollBar && m_hScrollBar->IsShown()) )
{
wxPoint wxWindow::GetClientAreaOrigin() const
{
- return wxPoint(MacGetBorderSize( ) , MacGetBorderSize( ) );
+ return wxPoint(MacGetLeftBorderSize( ) , MacGetTopBorderSize( ) );
}
// Makes an adjustment to the window position (for example, a frame that has
if ( !fontToUse )
fontToUse = &m_font;
- wxClientDC dc( this ) ;
+ wxClientDC dc( (wxWindow*) this ) ;
long lx,ly,ld,le ;
dc.GetTextExtent( string , &lx , &ly , &ld, &le, fontToUse ) ;
if ( externalLeading )
// translate the window attributes in the appropriate window class and attributes
- WindowClass wclass ;
- WindowAttributes attr ;
+ WindowClass wclass = 0;
+ WindowAttributes attr = kWindowNoAttributes ;
if ( HasFlag(wxTINY_CAPTION_HORIZ) || HasFlag(wxTINY_CAPTION_VERT) )
{
wclass = kModalWindowClass ;
}
- attr = kWindowNoAttributes ;
-
if ( HasFlag( wxMINIMIZE_BOX ) || HasFlag( wxMAXIMIZE_BOX ) )
{
attr |= kWindowFullZoomAttribute ;
if ( height != -1 && m_vScrollBar )
height += MAC_SCROLLBAR_SIZE ;
- width += 2 * MacGetBorderSize( ) ;
- height += 2 * MacGetBorderSize( ) ;
+ width += MacGetLeftBorderSize( ) + MacGetRightBorderSize( ) ;
+ height += MacGetTopBorderSize( ) + MacGetBottomBorderSize( ) ;
DoSetSize( -1 , -1 , width , height ) ;
}
for (wxNode *node = GetChildren().First(); node; node = node->Next())
{
wxWindow *child = (wxWindow*)node->Data();
- if ( child->GetMacRootWindow() == window )
+ // added the m_isShown test --dmazzoni
+ if ( child->GetMacRootWindow() == window && child->m_isShown )
{
if (child->MacGetWindowFromPointSub(newPoint , outWin ))
return TRUE;
{
wxPoint point( screenpoint ) ;
wxWindow* win = wxFindWinFromMacWindow( window ) ;
+ if ( win )
+ {
win->ScreenToClient( point ) ;
return win->MacGetWindowFromPointSub( point , outWin ) ;
}
+ }
return FALSE ;
}
int width = m_width ;
int height = m_height ;
- width -= 2 * MacGetBorderSize() ;
- height -= 2 * MacGetBorderSize() ;
+ width -= MacGetLeftBorderSize() + MacGetRightBorderSize();
+ height -= MacGetTopBorderSize() + MacGetBottomBorderSize();
wxPoint vPoint(width-MAC_SCROLLBAR_SIZE, 0) ;
wxSize vSize(MAC_SCROLLBAR_SIZE, height - adjust) ;
SectRect(clipRect, &myClip, clipRect);
}
-long wxWindow::MacGetBorderSize( ) const
+long wxWindow::MacGetLeftBorderSize( ) const
+{
+ if( m_macWindowData )
+ return 0 ;
+
+ if (m_windowStyle & wxRAISED_BORDER || m_windowStyle & wxSUNKEN_BORDER )
+ {
+ return 2 ;
+ }
+ else if ( m_windowStyle &wxDOUBLE_BORDER)
+ {
+ return 2 ;
+ }
+ else if (m_windowStyle &wxSIMPLE_BORDER)
+ {
+ return 1 ;
+ }
+ return 0 ;
+}
+
+long wxWindow::MacGetRightBorderSize( ) const
+{
+ if( m_macWindowData )
+ return 0 ;
+
+ if (m_windowStyle & wxRAISED_BORDER || m_windowStyle & wxSUNKEN_BORDER )
+ {
+ return 3 ;
+ }
+ else if ( m_windowStyle &wxDOUBLE_BORDER)
+ {
+ return 3 ;
+ }
+ else if (m_windowStyle &wxSIMPLE_BORDER)
+ {
+ return 3 ;
+ }
+ return 0 ;
+}
+
+long wxWindow::MacGetTopBorderSize( ) const
{
if( m_macWindowData )
return 0 ;
return 0 ;
}
+long wxWindow::MacGetBottomBorderSize( ) const
+{
+ if( m_macWindowData )
+ return 0 ;
+
+ if (m_windowStyle & wxRAISED_BORDER || m_windowStyle & wxSUNKEN_BORDER )
+ {
+ return 3 ;
+ }
+ else if ( m_windowStyle &wxDOUBLE_BORDER)
+ {
+ return 3 ;
+ }
+ else if (m_windowStyle &wxSIMPLE_BORDER)
+ {
+ return 3 ;
+ }
+ return 0 ;
+}
+
long wxWindow::MacRemoveBordersFromStyle( long style )
{
return style & ~( wxDOUBLE_BORDER | wxSUNKEN_BORDER | wxRAISED_BORDER | wxBORDER | wxSTATIC_BORDER ) ;