merged 2.4 branch into the trunk

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-12-04 14:11:26 +00:00
parent 59a944cb63
commit 2b5f62a0b2
1057 changed files with 37805 additions and 24034 deletions

View File

@@ -45,7 +45,6 @@
// constants
// ----------------------------------------------------------------------------
const int wxMENU_HEIGHT = 27;
const int wxSTATUS_HEIGHT = 25;
const int wxPLACE_HOLDER = 0;
@@ -165,7 +164,7 @@ static void wxInsertChildInFrame( wxFrame* parent, wxWindow* child )
child->m_y,
child->m_width,
child->m_height );
#if wxUSE_TOOLBAR_NATIVE
// We connect to these events for recalculating the client area
// space when the toolbar is floating
@@ -193,7 +192,7 @@ static void wxInsertChildInFrame( wxFrame* parent, wxWindow* child )
child->m_width,
child->m_height );
}
// Resize on OnInternalIdle
parent->GtkUpdateSize();
}
@@ -206,6 +205,7 @@ void wxFrame::Init()
{
m_menuBarDetached = FALSE;
m_toolBarDetached = FALSE;
m_menuBarHeight = 2;
}
bool wxFrame::Create( wxWindow *parent,
@@ -219,6 +219,7 @@ bool wxFrame::Create( wxWindow *parent,
bool rt = wxTopLevelWindow::Create(parent, id, title, pos, sizeOrig,
style, name);
m_insertCallback = (wxInsertChildFunction) wxInsertChildInFrame;
return rt;
}
@@ -245,7 +246,7 @@ void wxFrame::DoGetClientSize( int *width, int *height ) const
if (m_frameMenuBar)
{
if (!m_menuBarDetached)
(*height) -= wxMENU_HEIGHT;
(*height) -= m_menuBarHeight;
else
(*height) -= wxPLACE_HOLDER;
}
@@ -292,7 +293,7 @@ void wxFrame::DoSetClientSize( int width, int height )
if (m_frameMenuBar)
{
if (!m_menuBarDetached)
height += wxMENU_HEIGHT;
height += m_menuBarHeight;
else
height += wxPLACE_HOLDER;
}
@@ -396,7 +397,7 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y),
int xx = m_miniEdge;
int yy = m_miniEdge + m_miniTitle;
int ww = m_width - 2*m_miniEdge;
int hh = wxMENU_HEIGHT;
int hh = m_menuBarHeight;
if (m_menuBarDetached) hh = wxPLACE_HOLDER;
m_frameMenuBar->m_x = xx;
m_frameMenuBar->m_y = yy;
@@ -419,7 +420,7 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y),
if (m_frameMenuBar)
{
if (!m_menuBarDetached)
yy += wxMENU_HEIGHT;
yy += m_menuBarHeight;
else
yy += wxPLACE_HOLDER;
}
@@ -576,11 +577,34 @@ void wxFrame::AttachMenuBar( wxMenuBar *menuBar )
gtk_signal_connect( GTK_OBJECT(menuBar->m_widget), "child_detached",
GTK_SIGNAL_FUNC(gtk_menu_detached_callback), (gpointer)this );
}
m_frameMenuBar->Show( TRUE );
}
// resize window in OnInternalIdle
UpdateMenuBarSize();
}
else
{
m_menuBarHeight = 2;
GtkUpdateSize(); // resize window in OnInternalIdle
}
}
void wxFrame::UpdateMenuBarSize()
{
wxASSERT_MSG( m_frameMenuBar, _T("Updating non existant menubar?") );
GtkRequisition req;
req.width = 2;
req.height = 2;
(* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(m_frameMenuBar->m_widget) )->size_request )
(m_frameMenuBar->m_widget, &req );
m_menuBarHeight = req.height;
// resize window in OnInternalIdle
GtkUpdateSize();
}