egcs compilation fix
toolbars give away their space when floating (as well) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -17,7 +17,7 @@ LIBRARY_FILE=$LIBRARY_BASE.$LIBRARY_MAJOR.$LIBRARY_MINOR
|
|||||||
|
|
||||||
echo "Creating shared library: $LIBRARY_FILE"
|
echo "Creating shared library: $LIBRARY_FILE"
|
||||||
|
|
||||||
case $COMPILER in gcc*|*gcc)
|
case $COMPILER in gcc*|*gcc|egcs)
|
||||||
$COMPILER -shared -Wl,-soname,$LIBRARY_NAME.$LIBRARY_MAJOR -o $LIBRARY_FILE $LIBRARY_OBJS
|
$COMPILER -shared -Wl,-soname,$LIBRARY_NAME.$LIBRARY_MAJOR -o $LIBRARY_FILE $LIBRARY_OBJS
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@@ -31,6 +31,7 @@
|
|||||||
|
|
||||||
const int wxMENU_HEIGHT = 27;
|
const int wxMENU_HEIGHT = 27;
|
||||||
const int wxSTATUS_HEIGHT = 25;
|
const int wxSTATUS_HEIGHT = 25;
|
||||||
|
const int wxPLACE_HOLDER = 0;
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// data
|
// data
|
||||||
@@ -167,6 +168,21 @@ static void wxInsertChildInFrame( wxWindow* parent, wxWindow* child )
|
|||||||
GTK_WIDGET(child->m_widget),
|
GTK_WIDGET(child->m_widget),
|
||||||
child->m_x,
|
child->m_x,
|
||||||
child->m_y );
|
child->m_y );
|
||||||
|
|
||||||
|
/* we connect to these events for recalculating the client area
|
||||||
|
space when the toolbar is floating */
|
||||||
|
if (wxIS_KIND_OF(child,wxToolBar))
|
||||||
|
{
|
||||||
|
wxToolBar *toolBar = (wxToolBar*) child;
|
||||||
|
if (toolBar->m_windowStyle & wxTB_DOCKABLE)
|
||||||
|
{
|
||||||
|
gtk_signal_connect( GTK_OBJECT(toolBar->m_widget), "child_attached",
|
||||||
|
GTK_SIGNAL_FUNC(gtk_toolbar_attached_callback), (gpointer)parent );
|
||||||
|
|
||||||
|
gtk_signal_connect( GTK_OBJECT(toolBar->m_widget), "child_detached",
|
||||||
|
GTK_SIGNAL_FUNC(gtk_toolbar_detached_callback), (gpointer)parent );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -446,14 +462,32 @@ void wxFrame::GetClientSize( int *width, int *height ) const
|
|||||||
wxWindow::GetClientSize( width, height );
|
wxWindow::GetClientSize( width, height );
|
||||||
if (height)
|
if (height)
|
||||||
{
|
{
|
||||||
if (m_frameMenuBar && !m_menuBarDetached) (*height) -= wxMENU_HEIGHT;
|
/* menu bar */
|
||||||
|
if (m_frameMenuBar)
|
||||||
|
{
|
||||||
|
if (!m_menuBarDetached)
|
||||||
|
(*height) -= wxMENU_HEIGHT;
|
||||||
|
else
|
||||||
|
(*height) -= wxPLACE_HOLDER;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* status bar */
|
||||||
if (m_frameStatusBar) (*height) -= wxSTATUS_HEIGHT;
|
if (m_frameStatusBar) (*height) -= wxSTATUS_HEIGHT;
|
||||||
|
|
||||||
|
/* tool bar */
|
||||||
if (m_frameToolBar)
|
if (m_frameToolBar)
|
||||||
{
|
{
|
||||||
int y = 0;
|
if (!m_toolBarDetached)
|
||||||
m_frameToolBar->GetSize( (int *) NULL, &y );
|
{
|
||||||
(*height) -= y;
|
int y = 0;
|
||||||
|
m_frameToolBar->GetSize( (int *) NULL, &y );
|
||||||
|
(*height) -= y;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
(*height) -= wxPLACE_HOLDER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* mini edge */
|
||||||
(*height) -= m_miniEdge*2 + m_miniTitle;
|
(*height) -= m_miniEdge*2 + m_miniTitle;
|
||||||
}
|
}
|
||||||
if (width)
|
if (width)
|
||||||
@@ -466,16 +500,32 @@ void wxFrame::DoSetClientSize( int width, int height )
|
|||||||
{
|
{
|
||||||
wxASSERT_MSG( (m_widget != NULL), _T("invalid frame") );
|
wxASSERT_MSG( (m_widget != NULL), _T("invalid frame") );
|
||||||
|
|
||||||
int h = height;
|
/* menu bar */
|
||||||
if (m_frameMenuBar && !m_menuBarDetached) h += wxMENU_HEIGHT;
|
if (m_frameMenuBar)
|
||||||
if (m_frameStatusBar) h += wxSTATUS_HEIGHT;
|
{
|
||||||
if (m_frameToolBar)
|
if (!m_menuBarDetached)
|
||||||
{
|
height += wxMENU_HEIGHT;
|
||||||
int y = 0;
|
else
|
||||||
m_frameToolBar->GetSize( (int *) NULL, &y );
|
height += wxPLACE_HOLDER;
|
||||||
h += y;
|
}
|
||||||
}
|
|
||||||
wxWindow::DoSetClientSize( width + m_miniEdge*2, h + m_miniEdge*2 + m_miniTitle );
|
/* status bar */
|
||||||
|
if (m_frameStatusBar) height += wxSTATUS_HEIGHT;
|
||||||
|
|
||||||
|
/* tool bar */
|
||||||
|
if (m_frameToolBar)
|
||||||
|
{
|
||||||
|
if (!m_toolBarDetached)
|
||||||
|
{
|
||||||
|
int y = 0;
|
||||||
|
m_frameToolBar->GetSize( (int *) NULL, &y );
|
||||||
|
height += y;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
height += wxPLACE_HOLDER;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxWindow::DoSetClientSize( width + m_miniEdge*2, height + m_miniEdge*2 + m_miniTitle );
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height )
|
void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height )
|
||||||
@@ -523,8 +573,8 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height
|
|||||||
int xx = m_miniEdge;
|
int xx = m_miniEdge;
|
||||||
int yy = m_miniEdge + m_miniTitle;
|
int yy = m_miniEdge + m_miniTitle;
|
||||||
int ww = m_width - 2*m_miniEdge;
|
int ww = m_width - 2*m_miniEdge;
|
||||||
int hh = 0;
|
int hh = wxMENU_HEIGHT;
|
||||||
if (!m_menuBarDetached) hh = wxMENU_HEIGHT;
|
if (m_menuBarDetached) hh = wxPLACE_HOLDER;
|
||||||
m_frameMenuBar->m_x = xx;
|
m_frameMenuBar->m_x = xx;
|
||||||
m_frameMenuBar->m_y = yy;
|
m_frameMenuBar->m_y = yy;
|
||||||
m_frameMenuBar->m_width = ww;
|
m_frameMenuBar->m_width = ww;
|
||||||
@@ -540,13 +590,19 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height
|
|||||||
{
|
{
|
||||||
int xx = m_miniEdge;
|
int xx = m_miniEdge;
|
||||||
int yy = m_miniEdge + m_miniTitle;
|
int yy = m_miniEdge + m_miniTitle;
|
||||||
if (m_frameMenuBar && !m_menuBarDetached) yy += wxMENU_HEIGHT;
|
if (m_frameMenuBar)
|
||||||
|
{
|
||||||
|
if (!m_menuBarDetached)
|
||||||
|
yy += wxMENU_HEIGHT;
|
||||||
|
else
|
||||||
|
yy += wxPLACE_HOLDER;
|
||||||
|
}
|
||||||
int ww = m_width - 2*m_miniEdge;
|
int ww = m_width - 2*m_miniEdge;
|
||||||
int hh = m_frameToolBar->m_height;
|
int hh = m_frameToolBar->m_height;
|
||||||
|
if (m_toolBarDetached) hh = wxPLACE_HOLDER;
|
||||||
m_frameToolBar->m_x = xx;
|
m_frameToolBar->m_x = xx;
|
||||||
m_frameToolBar->m_y = yy;
|
m_frameToolBar->m_y = yy;
|
||||||
m_frameToolBar->m_height = hh;
|
/* m_frameToolBar->m_height = hh; don't change the toolbar's height */
|
||||||
m_frameToolBar->m_width = ww;
|
m_frameToolBar->m_width = ww;
|
||||||
|
|
||||||
gtk_myfixed_move( GTK_MYFIXED(m_mainWidget), m_frameToolBar->m_widget, xx, yy );
|
gtk_myfixed_move( GTK_MYFIXED(m_mainWidget), m_frameToolBar->m_widget, xx, yy );
|
||||||
|
@@ -31,6 +31,7 @@
|
|||||||
|
|
||||||
const int wxMENU_HEIGHT = 27;
|
const int wxMENU_HEIGHT = 27;
|
||||||
const int wxSTATUS_HEIGHT = 25;
|
const int wxSTATUS_HEIGHT = 25;
|
||||||
|
const int wxPLACE_HOLDER = 0;
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// data
|
// data
|
||||||
@@ -167,6 +168,21 @@ static void wxInsertChildInFrame( wxWindow* parent, wxWindow* child )
|
|||||||
GTK_WIDGET(child->m_widget),
|
GTK_WIDGET(child->m_widget),
|
||||||
child->m_x,
|
child->m_x,
|
||||||
child->m_y );
|
child->m_y );
|
||||||
|
|
||||||
|
/* we connect to these events for recalculating the client area
|
||||||
|
space when the toolbar is floating */
|
||||||
|
if (wxIS_KIND_OF(child,wxToolBar))
|
||||||
|
{
|
||||||
|
wxToolBar *toolBar = (wxToolBar*) child;
|
||||||
|
if (toolBar->m_windowStyle & wxTB_DOCKABLE)
|
||||||
|
{
|
||||||
|
gtk_signal_connect( GTK_OBJECT(toolBar->m_widget), "child_attached",
|
||||||
|
GTK_SIGNAL_FUNC(gtk_toolbar_attached_callback), (gpointer)parent );
|
||||||
|
|
||||||
|
gtk_signal_connect( GTK_OBJECT(toolBar->m_widget), "child_detached",
|
||||||
|
GTK_SIGNAL_FUNC(gtk_toolbar_detached_callback), (gpointer)parent );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -446,14 +462,32 @@ void wxFrame::GetClientSize( int *width, int *height ) const
|
|||||||
wxWindow::GetClientSize( width, height );
|
wxWindow::GetClientSize( width, height );
|
||||||
if (height)
|
if (height)
|
||||||
{
|
{
|
||||||
if (m_frameMenuBar && !m_menuBarDetached) (*height) -= wxMENU_HEIGHT;
|
/* menu bar */
|
||||||
|
if (m_frameMenuBar)
|
||||||
|
{
|
||||||
|
if (!m_menuBarDetached)
|
||||||
|
(*height) -= wxMENU_HEIGHT;
|
||||||
|
else
|
||||||
|
(*height) -= wxPLACE_HOLDER;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* status bar */
|
||||||
if (m_frameStatusBar) (*height) -= wxSTATUS_HEIGHT;
|
if (m_frameStatusBar) (*height) -= wxSTATUS_HEIGHT;
|
||||||
|
|
||||||
|
/* tool bar */
|
||||||
if (m_frameToolBar)
|
if (m_frameToolBar)
|
||||||
{
|
{
|
||||||
int y = 0;
|
if (!m_toolBarDetached)
|
||||||
m_frameToolBar->GetSize( (int *) NULL, &y );
|
{
|
||||||
(*height) -= y;
|
int y = 0;
|
||||||
|
m_frameToolBar->GetSize( (int *) NULL, &y );
|
||||||
|
(*height) -= y;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
(*height) -= wxPLACE_HOLDER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* mini edge */
|
||||||
(*height) -= m_miniEdge*2 + m_miniTitle;
|
(*height) -= m_miniEdge*2 + m_miniTitle;
|
||||||
}
|
}
|
||||||
if (width)
|
if (width)
|
||||||
@@ -466,16 +500,32 @@ void wxFrame::DoSetClientSize( int width, int height )
|
|||||||
{
|
{
|
||||||
wxASSERT_MSG( (m_widget != NULL), _T("invalid frame") );
|
wxASSERT_MSG( (m_widget != NULL), _T("invalid frame") );
|
||||||
|
|
||||||
int h = height;
|
/* menu bar */
|
||||||
if (m_frameMenuBar && !m_menuBarDetached) h += wxMENU_HEIGHT;
|
if (m_frameMenuBar)
|
||||||
if (m_frameStatusBar) h += wxSTATUS_HEIGHT;
|
{
|
||||||
if (m_frameToolBar)
|
if (!m_menuBarDetached)
|
||||||
{
|
height += wxMENU_HEIGHT;
|
||||||
int y = 0;
|
else
|
||||||
m_frameToolBar->GetSize( (int *) NULL, &y );
|
height += wxPLACE_HOLDER;
|
||||||
h += y;
|
}
|
||||||
}
|
|
||||||
wxWindow::DoSetClientSize( width + m_miniEdge*2, h + m_miniEdge*2 + m_miniTitle );
|
/* status bar */
|
||||||
|
if (m_frameStatusBar) height += wxSTATUS_HEIGHT;
|
||||||
|
|
||||||
|
/* tool bar */
|
||||||
|
if (m_frameToolBar)
|
||||||
|
{
|
||||||
|
if (!m_toolBarDetached)
|
||||||
|
{
|
||||||
|
int y = 0;
|
||||||
|
m_frameToolBar->GetSize( (int *) NULL, &y );
|
||||||
|
height += y;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
height += wxPLACE_HOLDER;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxWindow::DoSetClientSize( width + m_miniEdge*2, height + m_miniEdge*2 + m_miniTitle );
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height )
|
void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height )
|
||||||
@@ -523,8 +573,8 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height
|
|||||||
int xx = m_miniEdge;
|
int xx = m_miniEdge;
|
||||||
int yy = m_miniEdge + m_miniTitle;
|
int yy = m_miniEdge + m_miniTitle;
|
||||||
int ww = m_width - 2*m_miniEdge;
|
int ww = m_width - 2*m_miniEdge;
|
||||||
int hh = 0;
|
int hh = wxMENU_HEIGHT;
|
||||||
if (!m_menuBarDetached) hh = wxMENU_HEIGHT;
|
if (m_menuBarDetached) hh = wxPLACE_HOLDER;
|
||||||
m_frameMenuBar->m_x = xx;
|
m_frameMenuBar->m_x = xx;
|
||||||
m_frameMenuBar->m_y = yy;
|
m_frameMenuBar->m_y = yy;
|
||||||
m_frameMenuBar->m_width = ww;
|
m_frameMenuBar->m_width = ww;
|
||||||
@@ -540,13 +590,19 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height
|
|||||||
{
|
{
|
||||||
int xx = m_miniEdge;
|
int xx = m_miniEdge;
|
||||||
int yy = m_miniEdge + m_miniTitle;
|
int yy = m_miniEdge + m_miniTitle;
|
||||||
if (m_frameMenuBar && !m_menuBarDetached) yy += wxMENU_HEIGHT;
|
if (m_frameMenuBar)
|
||||||
|
{
|
||||||
|
if (!m_menuBarDetached)
|
||||||
|
yy += wxMENU_HEIGHT;
|
||||||
|
else
|
||||||
|
yy += wxPLACE_HOLDER;
|
||||||
|
}
|
||||||
int ww = m_width - 2*m_miniEdge;
|
int ww = m_width - 2*m_miniEdge;
|
||||||
int hh = m_frameToolBar->m_height;
|
int hh = m_frameToolBar->m_height;
|
||||||
|
if (m_toolBarDetached) hh = wxPLACE_HOLDER;
|
||||||
m_frameToolBar->m_x = xx;
|
m_frameToolBar->m_x = xx;
|
||||||
m_frameToolBar->m_y = yy;
|
m_frameToolBar->m_y = yy;
|
||||||
m_frameToolBar->m_height = hh;
|
/* m_frameToolBar->m_height = hh; don't change the toolbar's height */
|
||||||
m_frameToolBar->m_width = ww;
|
m_frameToolBar->m_width = ww;
|
||||||
|
|
||||||
gtk_myfixed_move( GTK_MYFIXED(m_mainWidget), m_frameToolBar->m_widget, xx, yy );
|
gtk_myfixed_move( GTK_MYFIXED(m_mainWidget), m_frameToolBar->m_widget, xx, yy );
|
||||||
|
Reference in New Issue
Block a user